svarcheg / JirAgileR

User-friendly :small_blue_diamond:JIRA API wrapper. Track projects & issues from within R

Home Page:https://matbmeijer.github.io/JirAgileR/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JirAgileR

Build Status Build status Codecov test coverage

Objective

The JirAgileR R package has the mission to bring the power of the project management tool πŸ”§ JIRA to R. By doing so, users benefit from the best capabilities of both platforms. More specifically, the package is a wrapper around JIRA’s REST API, allowing users to easily analyze JIRA proyects and issues from within R. The underlying powertrain of the API is the Jira Query Language (JQL). You can find more information about it here. You can find a cheatsheet here.

Source: R For Data Science - Hadley Wickham

The focus of this package lies in the following workflow aspects:

  • Import
  • Tidy

Hence, for easy transformation and manipulation, each function returns a data.frame with tidy data, following main rules where each row is a single observation of an issue or a project, each column is a variable and each value must have its own cell. Thus, it integrates well with both the dplyr and data.table R libraries.

More information about the package can be found at the following link: (https://matbmeijer.github.io/JirAgileR/.

Functionalities as of 28 of April, 2020

  1. Extract all project names with their basic information (e.g. Name, ID, Key, Type, Category etc.).
  2. Retrieve all issues specific to a user defined JIRA query with hand-picked fields and all the associated information. Currently, the package supports the following JIRA fields:
    • aggregateprogress
    • aggregatetimeestimate
    • aggregatetimespent
    • assignee
    • comment
    • components
    • created
    • creator
    • description
    • duedate
    • environment
    • fixVersions
    • issuelinks
    • issuetype
    • labels
    • lastViewed
    • priority
    • progress
    • project
    • reporter
    • resolution
    • resolutiondate
    • status
    • summary
    • timeestimate
    • timespent
    • updated
    • versions
    • votes
    • watches
    • workratio
Note
  • To get all the information about the supported JQL fields visit the following link. The package supports extracting comments, yet as one issue may contain multiple comments, the data.frame is flattened to a combination of issues and comments. Thus, the information of an issue may be repeated the number of comments each issue has.

Roadmap

  • πŸ”² Retrieve JIRA boards information
  • πŸ”² Define integrated Reference Classes within the package
  • πŸ”² Include plotting graphs πŸ“Š
  • πŸ”² Abilty to obtain all available JIRA fields of a project
  • βœ… Added get_jira_groups() function to retrieve JIRA groups
  • βœ… Added get_jira_server_info() function to retrieve JIRA server information
  • βœ… Remove data.table dependency
  • βœ… Abilty to save domain, username & password as secret tokens in environment πŸ”
  • βœ… Include pipes to facilitate analysis
  • βœ… Improve package robustness
  • βœ… Include http status error codes
  • βœ… Give user visibility of supported fields

Installation

You can install the latest release of this package from Github with the following commands in R:

if (!require("devtools")) install.packages("devtools")
devtools::install_github("matbmeijer/JirAgileR")

Examples

This is a basic example which shows you how to obtain a simple table of issues of a project and create a tabular report. Most of the times, you will need a username and your password to authenticate in your domain. Possible fields to obtain (which will populate the data.frame columns) can be found here.

library(JirAgileR, quietly = T)
library(knitr, quietly = T)
library(dplyr, quietly = T)

# Save credentials to pass them only one time
save_jira_credentials(domain = "https://bitvoodoo.atlassian.net")

# Get full list of projects in domain
get_jira_projects() %>% 
  select(key, name)  %>% 
  kable(row.names = F, padding = 0)
key name
MACRODOC Macro Documentation for Confluence
THEME Enterprise Theme for Confluence
SBB SBB Widgets for Confluence
SD Sequence Diagram
CFSYNC Custom Field Option Synchroniser
TEMPBLOG Templates for Blog Posts for Confluence
REDIRECT Homepage Redirect for Confluence
LABEL Label Scheduler for Confluence
PANELBOX Advanced Panelboxes for Confluence
REG bitvoodoo Registration for Confluence
LABELFIX Label Fixer
NTCLOUD Navitabs - Tabs for Confluence Cloud
NAVITABS Navitabs - Tabs for Confluence
LANGUAGE Language Macros for Confluence
SUPPLIER Viewtracker Supplier
SCHEDULER Content Scheduler for Confluence
BVDEVOPS DevOps
SYNCTEST SyncTest
VIEWTRACKER Viewtracker - Analytics for Confluence
VTCLOUD Viewtracker Cloud
CONGRATS Congrats for Confluence
EXTLINK External Links for Confluence
# Retrieve the issues from a single project - in this case the project CONGRATS. See documentation to define which fields to see
get_jira_issues(jql_query = "project='CONGRATS'",
                fields = c("summary","created", "status")) %>% 
  select(key, summary, created, status_name, status_description, status_statuscategory_name) %>%
  head(5) %>%
  kable(row.names = F, padding = 0)
key summary created status_name status_description status_statuscategory_name
CONGRATS-39 Make the year of birth anonymous 2019-11-06 16:02:32 Open The issue is open and ready for the assignee to start work on it. To Do
CONGRATS-38 Changing the display of events 2019-11-06 15:52:42 Open The issue is open and ready for the assignee to start work on it. To Do
CONGRATS-37 Add additional parameters for Events 2019-11-06 08:57:14 Open The issue is open and ready for the assignee to start work on it. To Do
CONGRATS-36 UI misaligned when error is displayed in the settings 2019-10-15 14:41:30 Awaiting Release A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed. Done
CONGRATS-32 Confluence 7 Support 2019-08-26 11:10:25 Awaiting Release A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed. Done

About

User-friendly :small_blue_diamond:JIRA API wrapper. Track projects & issues from within R

https://matbmeijer.github.io/JirAgileR/

License:Other


Languages

Language:R 100.0%