Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-08-20. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Versão do artigo: Enterprise Server 2.18

Getting started with the Checks API

The Check Runs API enables you to build GitHub Apps that run powerful checks against code changes in a repository. You can create apps that perform continuous integration, code linting, or code scanning services and provide detailed feedback on commits.

Neste artigo

Visão Geral

Rather than binary pass/fail build statuses, GitHub Apps can report rich statuses, annotate lines of code with detailed information, and re-run tests. The Checks API functionality is available exclusively to your GitHub Apps.

For an example of how to use the Checks API with a aplicativo GitHub, see "Creating CI tests with the Checks API."

About check suites

When someone pushes code to a repository, GitHub creates a check suite for the last commit. A check suite is a collection of the check runs created by a single GitHub App for a specific commit. Check suites summarize the status and conclusion of the check runs that a suite includes.

Check suites workflow

The check suite reports the highest priority check run conclusion in the check suite's conclusion. For example, if three check runs have conclusions of timed_out, success, and neutral the check suite conclusion will be timed_out.

By default, GitHub creates a check suite automatically when code is pushed to the repository. This default flow sends the check_suite event (with requested action) to all GitHub App's that have the checks:write permission. When your GitHub App receives the check_suite event, it can create new check runs for the latest commit. GitHub automatically adds new check runs to the correct check suite based on the check run's repository and SHA.

If you don't want to use the default automatic flow, you can control when you create check suites. To change the default settings for the creation of check suites, use the Update repository preferences for check suites endpoint. All changes to the automatic flow settings are recorded in the audit log for the repository. If you have disabled the automatic flow, you can create a check suite using the Create a check suite endpoint. You should continue to use the Create a check run endpoint to provide feedback on a commit.

A permissão de escrita para a API de verificação só está disponível para aplicativos GitHub. Aplicativos OAuth e usuários autenticados podem ver as execuções de verificação e conjunto de verificações, mas eles não são capazes de criá-los. Se você não estiver criando um aplicativo no GitHub, talvez você esteja interessado no Statuses API.

To use the check suites API, the GitHub App must have the checks:write permission and can also subscribe to the check_suite webhook.

For information on how to authenticate as a GitHub App, see "Authentication Options for GitHub Apps."

About check runs

A check run is an individual test that is part of a check suite. Each run includes a status and conclusion.

Check runs workflow

As soon as you receive the check_suite webhook, you can create the check run, even if the check is not complete. You can update the status of the check run as it completes with the values queued, in_progress, or completed, and you can update the output as more details become available. A check run can contain timestamps, a link to more details on your external site, detailed annotations for specific lines of code, and information about the analysis performed.

Check run annotation

A check can also be manually re-run in the GitHub UI. See "About status checks" for more details. When this occurs, the GitHub App that created the check run will receive the check_run webhook requesting a new check run. If you create a check run without creating a check suite, GitHub creates the check suite for you automatically.

A permissão de escrita para a API de verificação só está disponível para aplicativos GitHub. Aplicativos OAuth e usuários autenticados podem ver as execuções de verificação e conjunto de verificações, mas eles não são capazes de criá-los. Se você não estiver criando um aplicativo no GitHub, talvez você esteja interessado no Statuses API.

To use the Check Runs API, the GitHub App must have the checks:write permission and can also subscribe to the check_run webhook.

Check runs and requested actions

When you set up a check run with requested actions (not to be confused with GitHub Actions), you can display a button in the pull request view on GitHub that allows people to request your aplicativo GitHub to perform additional tasks.

For example, a code linting app could use requested actions to display a button in a pull request to automatically fix detected syntax errors.

To create a button that can request additional actions from your app, use the actions object when you Create a check run. For example, the actions object below displays a button in a pull request with the label "Fix this." The button appears after the check run completes.

"actions": [{
   "label": "Fix this",
   "description": "Let us fix that for you",
   "identifier": "fix_errors"
 }]

Check run requested action button

When a user clicks the button, GitHub sends the check_run.requested_action webhook to your app. When your app receives a check_run.requested_action webhook event, it can look for the requested_action.identifier key in the webhook payload to determine which button was clicked and perform the requested task.

For a detailed example of how to set up requested actions with the Checks API, see "Creating CI tests with the Checks API."

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato