{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.
You can install {IssueTrackeR} from CRAN:
install.packages("IssueTrackeR")You can install the development version of {IssueTrackeR} from GitHub:
# install.packages("pak")
pak::pak("TanguyBarthelemy/IssueTrackeR")- 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.
library("IssueTrackeR")
#> Currently, the default options are:
#> - location for datasets is /tmp/Rtmpwi8Dqz/data
#> - owner: rjdverse
#> - repo: rjdemetra
#>
#> Attaching package: 'IssueTrackeR'
#> The following objects are masked from 'package:base':
#>
#> append, sampleTo 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.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/Rtmpwi8Dqz/list_issues.yaml.
write_to_dataset(
x = my_labels,
dataset_dir = tempdir()
)
#> The datasets will be exported to /tmp/Rtmpwi8Dqz/list_labels.yaml.
write_to_dataset(
x = my_milestones,
dataset_dir = tempdir()
)
#> The datasets will be exported to /tmp/Rtmpwi8Dqz/list_milestones.yaml.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")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")You can update your full database of issues, labels and milestones with
update_database():
# From online
update_database(verbose = FALSE)Contributions are welcome! Please feel free to submit a pull request or report any issues.
This project is licensed under the MIT License. See the LICENSE file for details.