{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")
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, sample
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.
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.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.