knitr::opts_chunk$set( collapse = TRUE, comment = "#>", out.width = "100%" )
The JirAgileR R package has the mission to bring the power of the project management tool r emo::ji("wrench")
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.
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/.
r format(Sys.Date(), "%d of %B, %Y")
jira_fields <- list("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:" = JirAgileR::supported_jql_fields()) for (name in names(jira_fields)) { cat("2.", name, '\n', paste0(' - _', jira_fields[[name]], '_\n')) }
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.r emo::ji("black_square_button")
Define integrated Reference Classes within the packager emo::ji("black_square_button")
Include plotting graphs r emo::ji("bar_chart")
r emo::ji("black_square_button")
Ability to obtain all available JIRA fields of a projectr emo::ji("check")
Added get_jira_dashboards()
function to retrieve JIRA dashboardsr emo::ji("check")
Added get_jira_permissions()
function to retrieve JIRA user permissionsr emo::ji("check")
Added get_jira_groups()
function to retrieve JIRA groupsr emo::ji("check")
Added get_jira_server_info()
function to retrieve JIRA server informationr emo::ji("check")
Remove data.table
dependencyr emo::ji("check")
Ability to save domain, username & password as secret tokens in environment r emo::ji("closed_lock_with_key")
r emo::ji("check")
Include pipes to facilitate analysisr emo::ji("check")
Improve package robustnessr emo::ji("check")
Include http status error codesr emo::ji("check")
Give user visibility of supported fieldsYou can install the CRAN release version of JirAgileR following this R
command:
``` {r, eval=FALSE} install.packages("JirAgileR")
You can also install the latest release of this package from [Github](https://github.com/matbmeijer/JirAgileR) with the following commands in `R`: ```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.
``` {r, echo=TRUE, message=FALSE, warning=FALSE} library(JirAgileR, quietly = T) library(knitr, quietly = T) library(dplyr, quietly = T)
save_jira_credentials(domain = "https://bugreports.qt.io")
get_jira_projects() %>% select(key, name) %>% kable(row.names = F, padding = 0)
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)
```
Please note that the JirAgileR project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.