R-CMD-check test-coverage lint Codecov test coverage


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 projects 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:

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. This also allows for an easy integration with tabular data.

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

Functionalities as of 07 of June, 2021

  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:



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

if (!require("devtools")) install.packages("devtools")


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://bugreports.qt.io")

# Get full list of projects in domain
get_jira_projects() %>% 
  select(key, name)  %>% 
  kable(row.names = F, padding = 0)
key name
QBS Qbs (β€œCubes”)
QT3DS Qt 3D Studio
AUTOSUITE Qt Automotive Suite
QTJIRA Qt Bugtracking interface
QDS Qt Design Studio
QTEXT Qt Extensions
PYSIDE Qt for Python
QTIFW Qt Installer Framework
QTPLAYGROUND Qt Playground Projects
QTWEBSITE Qt Project Website
QTQAINFRA Qt Quality Assurance Infrastructure
QTCOMPONENTS Qt Quick Components (Deprecated, use QTBUG)
QSR Qt Safe Renderer
QTSOLBUG Qt Solutions
QTVSADDINBUG Qt Visual Studio Tools
QTWB Qt WebBrowser
QTSYSADM Qt-Project.org Sysadmin (defunct)
# Retrieve the issues from a single project - in this case the project QTWB from bugreports.qt.io. See documentation to define which fields to see
get_jira_issues(jql_query = "project='QTWB'",
                fields = c("summary","created", "status")) %>% 
  select(key, summary, created, status_name, status_description, status_statuscategory_name) %>%
  head(2) %>%
  kable(row.names = F, padding = 0)
key summary created status_name status_description status_statuscategory_name
QTWB-60 webkit-qtwe bkit-23/Source/WTF/wtf/dtoa/bignum.cc:762: suspicious increment ? 2021-05-12 22:56:00 Reported The issue has been reported, but no validation has been done on it. To Do
QTWB-58 win7 touchscreen can’t click html-select dropdown list 2021-04-08 09:09:00 Reported The issue has been reported, but no validation has been done on it. To Do