{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 the development version of {IssueTrackeR} from GitHub with:
# install.packages("remotes")
remotes::install_github("TanguyBarthelemy/IssueTrackeR")
library("IssueTrackeR")
#>
#> 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")
#> 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.
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.
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.