[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/sanitizers/github-bot-tutorial/master/why-github-bots.rst [Back]  [Original]

GitHub Bots: What and Why
=========================

Welcome to the Hands-on: Creating GitHub Bots  to deal with boring routines!

What are GitHub bots?
---------------------

Web applications that run automation on GitHub, using the ecosystem of
GitHub Apps and its APIs.

What can bots do?
-----------------

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!

Why use bots?
-------------

By automating your workflow, you can focus on real collaboration, instead of
getting stuck doing boring housekeeping things.

Example GitHub bots
-------------------

Chronographer
'''''''''''''

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

the-knight-who-says-ni
''''''''''''''''''''''

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

bedevere-bot
''''''''''''

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


miss-islington
''''''''''''''

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.

Web Proxy Viewer  |  New URL  |  Original Page