R/jira_tickets_day.R

Defines functions jira_tickets_day

Documented in jira_tickets_day

#' jira_tickets_day
#'
#' Create a time series for ticket creation and resolution
#' @param df The data frame created in \code{\link{jira_issues}}
#' @param max_results How many results you want to get back
#' @seealso \code{\link{jira_extract}} which is a key component of this function
#' @export

jira_tickets_day <- function(df) {

  #filter only to resolved tickets

  start_date <- as.Date(min(df$created))

  today <- Sys.Date()

  date_range <- seq.Date(start_date,today,by='day')

  date_tbl <- tibble(date = date_range,
                     created = 0,
                     resolved = 0,
                     weekday = wday(date_range)) %>%
    filter(!weekday %in% c(1,7)) %>%
    select(-weekday)

  created_tbl <- df %>%
    mutate(date = as.Date(created)) %>%
    group_by(date) %>%
    summarize(created = n()) %>%
    ungroup()

  resolved_tbl <- df %>%
    filter(issue_status == 'Done') %>%
    mutate(date = as.Date(resolved)) %>%
    group_by(date) %>%
    summarize(resolved = n()) %>%
    ungroup()

  date_final <- created_tbl %>%
    left_join(resolved_tbl,by='date') %>%
    mutate(resolved = ifelse(is.na(resolved),0,resolved)) %>%
    bind_rows(date_tbl) %>%
    group_by(date) %>%
    summarize(created = sum(created),
              resolved = sum(resolved)) %>%
    arrange(desc(date))

  return(date_final)

}
neugelb/njira documentation built on Sept. 2, 2020, 7:02 p.m.