The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
{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")
::install_github("TanguyBarthelemy/IssueTrackeR") remotes
library("IssueTrackeR")
#>
#> Attaching package: 'IssueTrackeR'
#> The following object is masked from 'package:base':
#>
#> append
To get information from a repository, you can call the functions
get_issues
, get_labels
and
get_milestones
# From online
<- get_issues(source = "online", owner = "jdemetra", repo = "jdplus-main", verbose = FALSE)
my_issues #> Running gh query ■■■■■■■■■■■■■■■■ 50% | ETA: 1sRunning gh query
#> ■■■■■■■■■■■■■■■■■■■■■■■ 75% | ETA: 1s
<- get_labels(source = "online", owner = "jdemetra", repo = "jdplus-main")
my_labels #> Reading labels... Done!
#> 12 labels found.
<- get_milestones(source = "online", owner = "jdemetra", repo = "jdplus-main")
my_milestones #> Reading milestones...
#> - backlog ... Done!
#> - 3.2.2 ... Done!
#> - 3.2.3 ... Done!
#> - 3.4.0 ... Done!
#> - 3.5.0 ... Done!
#> - 3.6.0 ... Done!
#> Done! 6 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 C:\Users\UTZK0M\AppData\Local\Temp\RtmpeiMGSd\list_issues.yaml.
write_labels_to_dataset(
labels = my_labels,
dataset_dir = tempdir()
)#> The datasets will be exported to C:\Users\UTZK0M\AppData\Local\Temp\RtmpeiMGSd\list_labels.yaml.
write_milestones_to_dataset(
milestones = my_milestones,
dataset_dir = tempdir()
)#> The datasets will be exported to C:\Users\UTZK0M\AppData\Local\Temp\RtmpeiMGSd\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
<- get_issues(source = "local")
my_issues <- get_labels(source = "local")
my_labels <- get_milestones(source = "local") my_milestones
You can update your full database of issues, labels and milestones
with update_database()
:
# From online
update_database(verbose = FALSE)
#> Running gh query ■■■■■■■■■■■■■■■■ 50% | ETA: 1sRunning gh query
#> ■■■■■■■■■■■■■■■■■■■■■■■ 75% | ETA: 1s Running gh query ■■■■■■■■■■■ 33% | ETA:
#> 3sRunning gh query ■■■■■■■■■■■■■■■■ 50% | ETA: 2sRunning gh query
#> ■■■■■■■■■■■■■■■■■■■■■ 67% | ETA: 2sRunning gh query ■■■■■■■■■■■■■■■■■■■■■■■■■■
#> 83% | ETA: 1s
There are plenty of different filtering ways.
# Condition: issues containing "README" in its body OR title
<- filter_issues(
filtered_issues x = my_issues,
fields = c("body", "title"),
values = "README",
fields_logic_gate = "OR"
)
See ?filter_issues
and ?contains
to explore
more options.
Finally you can also sort your issues according to certain variable
(quantitative) and impose sole filtering factors (conditions as in
filter_issues()
), which will be applied one after the
other:
<- sort(
sorted_issues x = my_issues,
sorting_variables = list(list(object = "milestones", field = "due_on"),
list(object = "issues", field = "created_at")),
filtering_factors = list(list(values = "bug",
fields = "labels",
values_logic_gate = "OR"),
list(values = "package", fields = "title")),
milestones = my_milestones
)
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.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.