Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Github Pull Request Checks

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?

like image 448
Ben Hall Avatar asked Aug 19 '16 16:08

Ben Hall


2 Answers

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

like image 85
VonC Avatar answered Nov 03 '22 21:11

VonC


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).

like image 42
Ivan Zuzak Avatar answered Nov 03 '22 20:11

Ivan Zuzak