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/.
- Extract all project names with their basic information (e.g. Name, ID, Key, Type, Category etc.).
- 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
- 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.
- 🔲 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_permissions()
function to retrieve JIRA user permissions - ✅ 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
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")
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 |