Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(jira)
- #' @name search_url
- #' @title Get jira search url
- #' @param jira_url base url to jira. Defaults to 'jira/'
- #' @return string
- #' @export
- #' @examples
- #' search_url()
- search_url <- function(jira_url = getOption("jira_url")){
- if(is.null(jira_url))
- return(NULL)
- search_url <- file.path(jira_url, "rest/api/latest/search?")
- return(search_url)
- }
- #' @name issue_url
- #' @title Get jira issue url
- #' @param jira_url base url to jira. Defaults to 'jira/'
- #' @return string
- #' @export
- #' @examples
- #' issue_url()
- issue_url <- function(jira_url = getOption("jira_url")){
- if(is.null(jira_url))
- return(NULL)
- issue_url <- file.path(jira_url, "rest/api/latest/issue/")
- return(issue_url)
- }
- jira_get <- function(url = url, user = user, password = password, verbose = verbose){
- res <- GET(url = url,
- authenticate(user = user, password = password, "basic"),
- add_headers("Content-Type" = "application/json"),
- verbose(data_out = verbose, data_in = verbose, info = verbose)
- )
- return(res)
- }
- jira_post <- function(x, url, user, password, verbose){
- POST(url = url,
- body = RJSONIO::toJSON(x),
- authenticate(user = user, password = password, "basic"),
- add_headers("Content-Type" = "application/json"),
- verbose(data_out = verbose, data_in = verbose, info = verbose)
- )
- }
- get_issues <- function(user = NULL
- , project_key = getOption("jira_project")
- , jira_url = getOption("jira_url")
- , jira_user = getOption("jira_user")
- , jira_password = getOption("jira_password")
- , verbose = getOption("jira_verbose"), start=NULL){
- if(is.null(jira_url))
- stop('jira_url is NULL. See getOption("jira_url")')
- if(is.null(jira_user))
- stop("jira_user is NULL")
- if(is.null(jira_password))
- stop("jira_password is NULL")
- url <- search_url(jira_url = jira_url)
- if(!is.null(project_key)){
- url <- paste0(url, sprintf('jql=project="%s"', project_key))
- if(!is.null(user))
- url <- paste(url, sprintf('AND assignee="%s"', user))
- }else if(!is.null(user)){
- url <- paste0(url, sprintf('jql=assignee="%s"', project_key))
- }
- if(!is.null(start))
- url <- paste0(url, sprintf('&startAt=%s', start))
- res <- jira_get(url = url, user = jira_user, password = jira_password, verbose = verbose)
- res <- content(res, as = "parsed")
- res <- res$issues
- return(res)
- }
Add Comment
Please, Sign In to add comment