* Add GHE_URL host option to GitHubApi * Absorb github-app repo * Implement new github-app setup * Basic tests for GHE support * Add docs * Switch GHE_URL for GHE_HOST * Make the tests pass by moving things * Fix sentry test
2.0 KiB
next
| next |
|---|
| docs/http.md |
Interacting with GitHub
Probot uses GitHub Apps. An app is a first-class actor on GitHub, like a user (e.g. @defunkt) or an organization (e.g. @github). The app is given access to a repository or repositories by being "installed" on a user or organization account and can perform actions through the API like commenting on an issue or creating a status.
context.github is an authenticated GitHub client that can be used to make API calls. It is an instance of the github Node.js module, which wraps the GitHub REST API and allows you to do almost anything programmatically that you can do through a web browser.
Here is an example of an autoresponder app that comments on opened issues:
module.exports = robot => {
robot.on('issues.opened', async context => {
// `context` extracts information from the event, which can be passed to
// GitHub API calls. This will return:
// {owner: 'yourname', repo: 'yourrepo', number: 123, body: 'Hello World!}
const params = context.issue({body: 'Hello World!'})
// Post a comment on the issue
return context.github.issues.createComment(params)
})
}
See the full API docs to see all the ways you can interact with GitHub. Some API endpoints are not available on GitHub Apps yet, so check which ones are available first.
GitHub Enterprise
If you want to run a Probot App against a GitHub Enterprise instance, you'll need to set the GHE_HOST environment variable.
GHE_HOST=fake.github-enterprise.com
GitHub Apps are only enabled in Enterprise 2.12 and later!