A bot used by the Babel
team to automate common tasks in GitHub repositories. Allows taking action on events triggered from the GitHub webhooks API.
The bot is build as an AWS Lambda function, using AWS API Gateway to map the requests to an endpoint.
- Create a new comment on newly opened issues
- Reply to issue with canned response when
Needs Info
label is added - Add labels to new PRs identifying which packages from the monorepo have been touched
- Look at the list of GitHub webhook events to determine which your rule should respond to.
- Find (or create) a folder under
src/handlers
with the name matching the name of the GitHubevent
- Create a new JS file under the directory, with the name matching the
action
you want your code to be triggered for - Export a default function that accepts 1 argument, which will be the payload from GitHub each time the event is triggered.
Examples of existing event rules can be found in src/handlers
.
Visit the guide for detailed instructions.
Examples of how to test a handler can be seen in src/handlers/issues/__tests__
.
This process is currently manual, but will likely be automated in the future.
- Run
yarn run package
, which will createfunction.zip
in the root of the repository - Login to the AWS console, and find the function in the Lambda dashboard, under
Functions
- Click the
Upload
button under theCode
tab (Code Entry Type
should be set toUpload a .ZIP file
) - Click
Save