Guest User

Untitled

a guest
Jun 9th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. library(jira)
  2.  
  3. #' @name search_url
  4. #' @title Get jira search url
  5. #' @param jira_url base url to jira. Defaults to 'jira/'
  6. #' @return string
  7. #' @export
  8. #' @examples
  9. #' search_url()
  10. search_url <- function(jira_url = getOption("jira_url")){
  11.  
  12. if(is.null(jira_url))
  13. return(NULL)
  14.  
  15. search_url <- file.path(jira_url, "rest/api/latest/search?")
  16.  
  17. return(search_url)
  18.  
  19. }
  20.  
  21. #' @name issue_url
  22. #' @title Get jira issue url
  23. #' @param jira_url base url to jira. Defaults to 'jira/'
  24. #' @return string
  25. #' @export
  26. #' @examples
  27. #' issue_url()
  28. issue_url <- function(jira_url = getOption("jira_url")){
  29.  
  30. if(is.null(jira_url))
  31. return(NULL)
  32.  
  33. issue_url <- file.path(jira_url, "rest/api/latest/issue/")
  34.  
  35. return(issue_url)
  36.  
  37. }
  38.  
  39. jira_get <- function(url = url, user = user, password = password, verbose = verbose){
  40.  
  41. res <- GET(url = url,
  42. authenticate(user = user, password = password, "basic"),
  43. add_headers("Content-Type" = "application/json"),
  44. verbose(data_out = verbose, data_in = verbose, info = verbose)
  45. )
  46.  
  47. return(res)
  48. }
  49.  
  50. jira_post <- function(x, url, user, password, verbose){
  51.  
  52. POST(url = url,
  53. body = RJSONIO::toJSON(x),
  54. authenticate(user = user, password = password, "basic"),
  55. add_headers("Content-Type" = "application/json"),
  56. verbose(data_out = verbose, data_in = verbose, info = verbose)
  57. )
  58.  
  59. }
  60.  
  61. get_issues <- function(user = NULL
  62. , project_key = getOption("jira_project")
  63. , jira_url = getOption("jira_url")
  64. , jira_user = getOption("jira_user")
  65. , jira_password = getOption("jira_password")
  66. , verbose = getOption("jira_verbose"), start=NULL){
  67.  
  68. if(is.null(jira_url))
  69. stop('jira_url is NULL. See getOption("jira_url")')
  70.  
  71. if(is.null(jira_user))
  72. stop("jira_user is NULL")
  73.  
  74. if(is.null(jira_password))
  75. stop("jira_password is NULL")
  76.  
  77. url <- search_url(jira_url = jira_url)
  78. if(!is.null(project_key)){
  79. url <- paste0(url, sprintf('jql=project="%s"', project_key))
  80. if(!is.null(user))
  81. url <- paste(url, sprintf('AND assignee="%s"', user))
  82.  
  83. }else if(!is.null(user)){
  84. url <- paste0(url, sprintf('jql=assignee="%s"', project_key))
  85. }
  86.  
  87. if(!is.null(start))
  88. url <- paste0(url, sprintf('&startAt=%s', start))
  89.  
  90. res <- jira_get(url = url, user = jira_user, password = jira_password, verbose = verbose)
  91. res <- content(res, as = "parsed")
  92. res <- res$issues
  93.  
  94. return(res)
  95. }
Add Comment
Please, Sign In to add comment