A pino instance
An Octokit instance
The webhook event payload
Returns a boolean if the actor on the event was a bot.
Reads the app configuration from the given YAML file in the .github
directory of the repository.
For example, given a file named .github/config.yml
:
close: true
comment: Check the specs on the rotary girder.
Your app can read that file from the target repository:
// Load config from .github/config.yml in the repository
const config = await context.config('config.yml')
if (config.close) {
context.octokit.issues.comment(context.issue({body: config.comment}))
context.octokit.issues.edit(context.issue({state: 'closed'}))
}
You can also use a defaultConfig
object:
// Load config from .github/config.yml in the repository and combine with default config
const config = await context.config('config.yml', {comment: 'Make sure to check all the specs.'})
if (config.close) {
context.octokit.issues.comment(context.issue({body: config.comment}));
context.octokit.issues.edit(context.issue({state: 'closed'}))
}
Config files can also specify a base that they extend. deepMergeOptions
can be used
to configure how the target config, extended base, and default configs are merged.
For security reasons, configuration is only loaded from the repository's default branch, changes made in pull requests from different branches or forks are ignored.
If you need more lower-level control over reading and merging configuration files,
you can context.octokit.config.get(options)
, see https://github.com/probot/octokit-plugin-config.
Configuration object read from the file
Return the owner
, repo
, and issue_number
params for making API requests
against an issue. The object passed in will be merged with the repo params.
const params = context.issue({body: 'Hello World!'})
// Returns: {owner: 'username', repo: 'reponame', issue_number: 123, body: 'Hello World!'}
Optional
object: TParams to be merged with the issue params.
Return the owner
, repo
, and pull_number
params for making API requests
against a pull request. The object passed in will be merged with the repo params.
const params = context.pullRequest({body: 'Hello World!'})
// Returns: {owner: 'username', repo: 'reponame', pull_number: 123, body: 'Hello World!'}
Optional
object: TParams to be merged with the pull request params.
Return the owner
and repo
params for making API requests against a
repository.
const params = context.repo({path: '.github/config.yml'})
// Returns: {owner: 'username', repo: 'reponame', path: '.github/config.yml'}
Optional
object: TParams to be merged with the repo params.
The context of the event that was triggered, including the payload and helpers for extracting information can be passed to GitHub API calls.