{ghee} is a user-friendly wrapper for the {gh} package that provides client access to GitHub’s REST API for common tasks such as creating issues and inviting collaborators.
You can install the development version of {ghee} from GitHub and load it as follows:
# Install released version from CRAN
install.packages("ghee")
# Or, install the development version from GitHub
remotes::install_github("jdtrat/ghee")
# Load package
library(ghee)
{ghee} is not meant to be an exhaustive package, though I do hope it will help you interact with GitHub easier. By design, all functions begin with the prefix gh_
, followed by categories of actions such as collab
and issue
. This allows you to take advantage of RStudio’s auto-completion feature and quickly achieve your programming goals. Below are currently supported functions.
{ghee} provides the following functions for interacting with GitHub repositories.
Function | Description | Example Use |
---|---|---|
gh_repos_create() |
Create a new GitHub repository. | gh_repos_create(path = "jdtrat/ghee_test", private = TRUE)) |
gh_repos_delete() |
Delete an existing GitHub repository. Use with caution. | gh_repos_delete(path = "jdtrat/ghee_test") |
gh_repos_mutate() |
Mutate (alter) a repository’s features. Potential changes include the repository’s name, privacy settings, and more. | gh_repos_mutate(path = "jdtrat/ghee_test", name = "ghee_testing", private = FALSE) |
gh_repos_list() |
List a user’s GitHub repositories. | gh_repos_list(user = "jdtrat") |
{ghee} provides the following functions for dealing with GitHub issues.
Function | Description | Example Use |
---|---|---|
gh_issue_new() |
Create a new issue for a GitHub repository. | gh_issue_new(path = "jdtrat/ghee", title = "README Demo", body = "{ghee} is great!") |
gh_issue_comment() |
Comment on an existing issue for a GitHub repository. | gh_issue_comment(path = "jdtrat/ghee", issue_number = 1, body = "Commenting from the README") |
gh_issue_assign() |
Assign yourself, or others, to an existing issue for a GitHub repository. | gh_issue_assign(path = "jdtrat/ghee", issue_number = 1, collaborator = "jdtrat") |
gh_issue_mention() |
Check to see if a person was mentioned in any issues of a GitHub repository. | gh_issue_mention(path = "jdtrat/ghee", collaborator = "jdtrat") |
gh_issue_list() |
List existing issues for a GitHub repository. | gh_issue_list("jdtrat/ghee") |
{ghee} provides the following functions for collaborating via GitHub.
Function | Description | Example Use |
---|---|---|
gh_collab_check() |
Check to see if someone is a collaborator on a GitHub repository. | gh_collab_check(path = "jdtrat/ghee", collaborator = "hadley") |
gh_collab_invite() |
Invite someone to collaborate on a GitHub repository. | gh_collab_invite(path = "jdtrat/ghee", collaborator = "hadley") |
gh_collab_pending() |
List the pending invites for a GitHub repository. | gh_collab_pending(path = "jdtrat/ghee") |
gh_collab_uninvite() |
Uninvite someone whose invite to collaborate on a GitHub repository is pending. | gh_collab_uninvite(path = "jdtrat/ghee", collaborator = "mean-person") |
gh_collab_remove() |
Remove an existing collaborator from a GitHub repository. | gh_collab_remove(path = "jdtrat/ghee", collaborator = "mean-person") |
If you are looking for a more in-depth explanation of these functions, I encourage you to check out my blog post introducing {ghee}.
If you want to see a feature, or report a bug, please file an issue or open a pull-request! As this package is just getting off the ground, we welcome all feedback and contributions. See our contribution guidelines for more details on getting involved!
Please note that the ghee project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.