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 {IssueTrackeR} from CRAN:

install.packages("IssueTrackeR")

Development

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

# install.packages("pak")
pak::pak("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 (title, body and comments) and milestones.

Usage

library("IssueTrackeR")
#> Currently, the default options are:
#> - location for datasets is /tmp/RtmpAaWI8a/data
#> - owner: rjdverse
#> - repo: rjdemetra
#> 
#> 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"
)
#> Repo: jdplus-main  owner: jdemetra 
#> Reading labels... Done!
#> 12 labels found.
my_milestones <- get_milestones(
    source = "online",
    owner = "jdemetra",
    repo = "jdplus-main"
)
#> Repo: jdplus-main  owner: jdemetra 
#> Reading milestones... 
#>  -  backlog ... Done!
#>  -  3.8.0 ... Done!
#> Done! 2 milestones found.

Save issues in local

You can also write the datasets in local with write_to_dataset():

write_to_dataset(
    x = my_issues,
    dataset_dir = tempdir()
)
#> The datasets will be exported to /tmp/RtmpAaWI8a/list_issues.yaml.

write_to_dataset(
    x = my_labels,
    dataset_dir = tempdir()
)
#> The datasets will be exported to /tmp/RtmpAaWI8a/list_labels.yaml.

write_to_dataset(
    x = my_milestones,
    dataset_dir = tempdir()
)
#> The datasets will be exported to /tmp/RtmpAaWI8a/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')

Monthly Downloads

292

Version

1.5.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Tanguy Barthelemy

Last Published

August 21st, 2026

Functions in IssueTrackeR (1.5.0)

reset_options

Reset options
update_database

Update database
with_comments

Check for comments in GitHub Issues
rbind-issues

Combining Issues
plot-issues

Plot an IssuesTB object
unique-issues

Unique issues of an IssuesTB Object
summary

Compute a summary of an issue or a list of issues
print-issues

Display IssueTB and IssuesTB object
subset.IssuesTB

Subsetting Vectors, Matrices and Data Frames
sample-issues

Random Sampling
write_to_dataset

Save datasets in a yaml file
with_labels

Check for labels in GitHub Issues
with_text

Check for text in GitHub Issues
author_last_comment

Name of last commentator
get

Retrieve information from the issues of GitHub
extract_nth

Extract the nth Issue from an List of Issues
count_issues

Count the number of Issues
new_issues

Create a new IssuesTB object
IssueTrackeR-package

IssueTrackeR: List Things to Do
get_all_repos

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

Number of comments
append

Vector Merging
new_issue

Create a new IssueTB object