Github Pull Request Checks

21,124

Solution 1

I know there are WebHooks, but is there a way to also hook into the UI?

The recommended way of doing this is to use required status checks and the Status API, in combination with webhooks:

https://help.github.com/articles/about-required-status-checks/

https://developer.github.com/v3/repos/statuses/

Users set up required status checks on the repository so that merging a pull request is blocked if a specific status isn't success.

At the same time, webhooks trigger an external process when a pull request is updated, and that process creates statuses based on the output of that process. If the process completes successfully, then the process should create a success status which will be shown in the UI and unblock the merging of the pull request.

Is it only via Web Hooks, API calls and getting write oAuth credentials?

In order to create statuses, you will indeed need to authenticate with the credentials of a user that has push access to the repository (e.g. via a token from that user with the right scopes).

Solution 2

Note: you now (August 2018) officially have the notion of Checks

When checks are set up in a repository, pull requests have a Checks tab where you can view detailed build output from status checks and rerun failed checks.

https://help.github.com/assets/images/help/pull_requests/checks.png

Share:
21,124
Ben Hall
Author by

Ben Hall

Updated on July 09, 2022

Comments

  • Ben Hall
    Ben Hall almost 2 years

    Is it possible to create a Github Check for pull requests? I know there are WebHooks, but is there a way to also hook into the UI?

    Aim:

    • Pull Request made. Perform validation and update pull request if valid.

    • Pull Request merged. Create web call to URL. Update Github issue with confirmation.

    What's the best way to do this? Is it only via Web Hooks, API calls and getting write oAuth credentials?

  • John Samuel
    John Samuel over 4 years
    How does one setup checks in the repository? :) .. If want to do eslint check everytime someone pushes the code. How can one achieve it using checks?
  • VonC
    VonC over 4 years
    @johnsam One possibility, using GitHub Actions: github.com/features/actions (like github.com/gimenete/eslint-action)
  • VonC
    VonC over 4 years
  • John Samuel
    John Samuel over 4 years
    thanks for your reply. I did go through the links but couldnt get much on how to setup though there was info about what checks do and stuff like that. I did build bot using probot.github.io and I thought if it would be easy to integrate checks along with it.
  • VonC
    VonC over 4 years
    @johnsam Not sure how to combine the two (GitHub App and GitHub Action) indeed. You you ask that as a separate question.