Learn R Programming

{IssueTrackeR}

{IssueTrackeR} is an R package designed to retrieve and manage GitHub issues directly within R. This package allows users to efficiently track and handle issues from their GitHub repositories.

This package relies a lot on the package {gh} to use the GitHub API and retrieve data from GitHub.

Installation

You can install the development version of {IssueTrackeR} from GitHub with:

# install.packages("remotes")
remotes::install_github("TanguyBarthelemy/IssueTrackeR")

Features

  • Retrieve Issues: Fetch issues from any (with sufficient rights) GitHub repository.
  • Issue Management: Class S3 to manage the issues as a datasets within R.
  • Filtering: Filter issues by labels, content and milestones.

Usage

library("IssueTrackeR")
#> 
#> Attaching package: 'IssueTrackeR'
#> The following objects are masked from 'package:base':
#> 
#>     append, sample

Retrieve information from GitHub

To get information from a repository, you can call the functions get_issues, get_labels and get_milestones

# From online
my_issues <- get_issues(source = "online", owner = "jdemetra", repo = "jdplus-main", verbose = FALSE)
my_labels <- get_labels(source = "online", owner = "jdemetra", repo = "jdplus-main")
#> Reading labels... Done!
#> 12 labels found.
my_milestones <- get_milestones(source = "online", owner = "jdemetra", repo = "jdplus-main")
#> Reading milestones... 
#>  -  backlog ... Done!
#>  -  3.2.2 ... Done!
#>  -  3.2.3 ... Done!
#>  -  3.4.0 ... Done!
#>  -  3.5.0 ... Done!
#>  -  3.5.1 ... Done!
#>  -  3.6.0 ... Done!
#> Done! 7 milestones found.

Save issues in local

You can also write the datasets in local with write_issues_to_dataset(), write_labels_to_dataset() and write_milestones_to_dataset():

write_issues_to_dataset(
    issues = my_issues, 
    dataset_dir = tempdir()
)
#> The datasets will be exported to /tmp/Rtmpyc9CiM/list_issues.yaml.

write_labels_to_dataset(
    labels = my_labels, 
    dataset_dir = tempdir()
)
#> The datasets will be exported to /tmp/Rtmpyc9CiM/list_labels.yaml.

write_milestones_to_dataset(
    milestones = my_milestones, 
    dataset_dir = tempdir()
)
#> The datasets will be exported to /tmp/Rtmpyc9CiM/list_milestones.yaml.

Options

It is also possible to set option for a R session:

# The directory containing the yaml files in local
options(IssueTrackeR.dataset.dir = tempdir())
# The default GitHub owner
options(IssueTrackeR.owner = "jdemetra")
# the default GitHub repository
options(IssueTrackeR.repo = "jdplus-main")

Retrieve issues from local

Then it’s possible to read Issues from local yaml files:

# From local
my_issues <- get_issues(source = "local")
my_labels <- get_labels(source = "local")
my_milestones <- get_milestones(source = "local")

Update full database

You can update your full database of issues, labels and milestones with update_database():

# From online
update_database(verbose = FALSE)

Contributing

Contributions are welcome! Please feel free to submit a pull request or report any issues.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Copy Link

Version

Install

install.packages('IssueTrackeR')

Version

1.3.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Tanguy Barthelemy

Last Published

October 27th, 2025

Functions in IssueTrackeR (1.3.1)

with_text

Check for text in GitHub Issues
get_nbr_comments

Number of comments
get_issues

Retrieve information from the issues of GitHub
IssueTrackeR-package

IssueTrackeR: List Things to Do
format_labels

Format the label in a simpler format
get_all_repos

Retrieve all the visible repos from a user / an organisation
append

Vector Merging
format_milestones

Format the milestones in a simpler format
format_issues

Format the issue in a simpler format
author_last_comment

Name of last commentator
new_issue

Create a new IssueTB object
update_database

Update database
print.IssueTB

Display IssueTB and IssuesTB object
write_issues_to_dataset

Save datasets in a yaml file
with_labels

Check for labels in GitHub Issues
sample

Random Samples and Permutations
new_issues

Create a new IssuesTB object
summary.IssueTB

Compute a summary of an issue or a list of issues
with_comments

Check for comments in GitHub Issues