Welcome to the Hands-on: Creating GitHub Bots 🤖 to deal with boring routines!
Web applications that run automation on GitHub, using the ecosystem of GitHub Apps and its APIs.
Many things: it can automatically respond to users, apply labels, close issues, create new issues, and even merge pull requests. Use the extensive GitHub APIs and automate your workflow!
By automating your workflow, you can focus on real collaboration, instead of getting stuck doing boring housekeeping things.
Source code: https://github.com/sanitizers/chronographer-github-app
Waits for Pull Request related events, as well as check_suite
and
check_run
with rerequested
action. Every time PR is updated, it:
- retrieves and parses the PR diff
- checks whether it contains additions to changelog fragment files
- reports intermediate statuses and the final outcome back to GitHub using Checks API
- uses nice visual indication and highlights the details on Checks page
- can be used to block PRs where the author forgot to add a change fragment
- is a GitHub App, unlocking the ability to use certain APIs
- can be used as a GitHub Action
Source code: https://github.com/python/the-knights-who-say-ni
Waits for incoming CPython's pull requests. Each time a pull request is opened, it does the following:
- find out the author's info
- find out if the author has signed the CLA
- if the author has not signed the CLA, notify the author
- if the author has signed the CLA, apply the CLA signed Label
Source code: https://github.com/python/bedevere
Performs status checks, identify issues and stages of the pull request. Some tasks that bedevere-bot does:
- identify the stage of the pull request, one of: awaiting review, awaiting merge, awaiting change request, awaiting core dev review.
- apply labels to pull requests
- checks if the PR contains reference to an issue
- automatically provide link to the issue in the bug tracker
Source code: https://github.com/python/miss-islington
Automatically create backport pull requests and reminds core devs that status checks are completed.
In addition, miss-islington can also automatically merge the pull request, and delete merged branch.