Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Serviços do Azure DevOps
As verificações de status impõem padrões de qualidade bloqueando mesclagens até que os testes sejam aprovados, verificações de segurança desmarcadas ou outras condições sejam atendidas. Azure DevOps Serviços e ferramentas externas postam verificações de status usando a API de Status de PR.
Para exigir uma verificação de status como uma política de branch, crie uma política na seção Status para verificar e especifique o Gênero e o Nome da verificação no formato genre/name. A solicitação de pull bloqueia mesclagens até que a verificação seja reportada succeeded.
Valores de status e comportamento de mesclagem
Quando uma verificação de status publica um resultado em uma solicitação de pull, ela relata um dos seguintes valores:
| Valor | Comportamento com a política necessária | Comportamento com política opcional |
|---|---|---|
succeeded |
✓ Desbloqueia a política | Informativo |
failed |
✗ Blocos de mesclagem | Informativo |
error |
✗ Blocos de mesclagem | Informativo |
pending |
⏳ Blocos de mesclagem (aguardando resultado) | Informativo |
notApplicable |
✓ Ignora o requisito de política | Informativo |
notSet |
⏳ Tratado como pendente | Informativo |
Note
Quando uma política necessária é definida como Aplicar por padrão, você pode postar notApplicable para remover o requisito de política para uma PR específica sem alterar a configuração da política. Isso é útil quando uma verificação não é aplicável a uma alteração específica.
Para obter instruções gerais sobre como adicionar uma política de verificação de status, consulte Configurar uma política de branch para um serviço externo. Para obter opções de política avançadas, incluindo restrições de identidade autorizadas e configurações de aplicabilidade de política, consulte Personalizar e estender fluxos de trabalho de solicitação de pull com o status da solicitação de pull.
Verificações de status de Azure DevOps de primeira parte
Veja a seguir as únicas verificações de status postadas nativamente pelo Azure DevOps Services. Cada verificação usa um valor de Gênero fixo, para que você possa configurar a política de branch antes ou depois que o serviço postar seu primeiro status. Todas as outras verificações de status vêm de serviços externos por meio da API de Status de PR.
GitHub Advanced Security para Azure DevOps
Essas verificações de status exigem GitHub Segurança Avançada para que Azure DevOps sejam habilitados no repositório. As verificações avaliam as vulnerabilidades de segurança detectadas na verificação de código (CodeQL), verificação de dependência e verificação secreta.
| Gênero | Name | Estado para marcar | Description |
|---|---|---|---|
AdvancedSecurity |
AllHighAndCritical |
AdvancedSecurity/AllHighAndCritical |
Bloqueia mesclagens quando houver qualquer vulnerabilidade de gravidade crítica ou alta não resolvida no repositório de qualquer tipo de verificação (código, dependência ou segredo). Requer uma política de validação de build com tarefas de pipeline de Segurança Avançada habilitadas. |
AdvancedSecurity |
NewHighAndCritical |
AdvancedSecurity/NewHighAndCritical |
Bloqueia mesclagens quando a solicitação de pull introduz novas vulnerabilidades críticas ou de alta gravidade de qualquer tipo de verificação. As vulnerabilidades existentes do repositório não bloqueiam a mesclagem. Requer uma política de validação de build com tarefas de pipeline de Segurança Avançada para verificar o branch de PR. |
Note
Ambas as AdvancedSecurity verificações de status exigem uma política de validação de build e tarefas de verificação de Segurança Avançada configuradas Wait for Processing: true para garantir que os status reflitam os resultados mais recentes da verificação. Para verificação de dependência ou verificação de código (CodeQL), habilite Wait for Processing na AdvancedSecurity-Publish tarefa. Para verificação de código, habilite-a também na AdvancedSecurity-CodeQL-Analyze tarefa. Ambas as verificações aparecem no Status para verificar a lista suspensa após a primeira execução bem-sucedida do pipeline com a verificação de Segurança Avançada.
Dica
Se o repositório tiver alertas não resolvidos existentes, comece AdvancedSecurity/NewHighAndCritical a evitar bloquear todas as solicitações de pull imediatamente. Migre para depois que AdvancedSecurity/AllHighAndCritical a lista de pendências de alerta for resolvida.
Para obter instruções de instalação, consulte Configurar verificações de status da solicitação de pull.
Importante
Deixe as Opções Avançadas em seus padrões ao configurar a política de verificação de status. Alterar a identidade autorizada ou exigir uma ID de iteração impede que as verificações de status sejam postadas corretamente.
cobertura de código Azure Pipelines
Azure Pipelines publica automaticamente uma verificação de status de cobertura de código quando um pipeline publica resultados de cobertura de código para uma solicitação pull. O gênero é o nome do pipeline, portanto, o valor exato genre/name depende de como você nomeou seu pipeline.
| Gênero | Name | Estado para marcar | Description |
|---|---|---|---|
{pipeline-name} |
codecoverage |
{pipeline-name}/codecoverage |
Relata o percentual de cobertura diferida para linhas alteradas na solicitação de pull. Consultoria por padrão; não bloqueia mesclagens, a menos que seja configurada como uma política de branch necessária com um limite mínimo de cobertura. |
O limite de aprovação padrão é 70% cobertura diferente. Para ajustar o limite e outras configurações, adicione um azurepipelines-coverage.yml arquivo à raiz do repositório:
coverage:
status:
comments: on
diff:
target: 80
Substitua 80 pelo percentual mínimo de cobertura de difusão desejado.
Para obter instruções de instalação, consulte Impor proteção de branch com uma política de cobertura de código.
Dica
O gênero é derivado do nome de exibição do pipeline em Azure Pipelines; ele não é um valor configurável separadamente. Por exemplo, um pipeline chamado CI – Main usa CI - Main/codecoverage como o Status para verificar o valor. As verificações de status só aparecem na lista suspensa depois que o serviço tiver postado pelo menos um status em uma solicitação de pull. Para novas integrações que ainda não foram executadas, digite o genre/name valor diretamente no campo.
Verificações de status personalizadas e externas
Qualquer serviço que use a API de Status de PR pode postar uma verificação de status em suas solicitações de pull. Para postar uma verificação de status por meio da API REST, a identidade de chamada precisa da permissão Contribuir para efetuar pull de solicitações no repositório.
Quando um serviço posta um status, ele genre/name aparece no Status para verificar a lista suspensa quando você adiciona uma política. Para novos serviços que ainda não foram postados, digite o genre/name valor diretamente.
Padrões comuns de integração
| Tipo de integração | Description | Examples |
|---|---|---|
| Criar e testar servidores | Ferramentas de CI externas que postam resultados aprovados ou reprovados após a execução de testes no branch de PR. | Jenkins, GitLab CI, CircleCI, Travis CI |
| Análise de qualidade de código | Ferramentas de análise estática que verificam o código em busca de bugs, vulnerabilidades e cheiros de código. | SonarQube |
| Scanners de segurança | Scanners de vulnerabilidade não Microsoft que postam resultados após a verificação de alterações de RP. Também dá suporte aos resultados do formato SARIF. | Snyk, Checkmarx, WhiteSource (Mend), Segurança da Microsoft DevOps |
| Conformidade e política | Ferramentas de imposição de política que verificam licenciamento, padrões de código, requisitos regulatórios ou preparação para implantação. | Verificadores de conformidade personalizados, portões de implantação, scanners de licença |
| GitHub Actions | Verificações de fluxos de trabalho GitHub Actions aparecem em PRs Azure DevOps quando o repositório está conectado a GitHub. Consulte Azure DevOps GitHub integração para obter detalhes de configuração. | Qualquer fluxo de trabalho GitHub Actions pode postar status |
| Aprovações e portões | Serviços que exigem aprovação manual ou automatizada antes que mesclagens sejam permitidas. | ServiceNow, serviços de aprovação personalizados por meio da API REST |
Opções de configuração de política
Ao adicionar uma política de verificação de status, você pode configurar:
- Requisito de política: defina a política conforme necessário (bloqueia mesclagens, a menos que a verificação passe) ou opcional (somente informativa).
- Identidade autorizada: restrinja quais contas podem postar valores de status que atendem à política. Deixe em branco para permitir qualquer conta.
- Condições de redefinição: especifique se o status é redefinido quando uma nova confirmação é enviada por push. Por padrão, enviar por push uma nova confirmação redefine as verificações de status necessárias para pendentes, forçando-as a avaliar seu código mais recente. Para permitir que um status persista entre confirmações, desabilite o status de redefinição sempre que houver novas alterações.
-
Aplicabilidade da política: escolha se a política se aplica imediatamente (aplicar por padrão) ou somente depois que o primeiro status é postado (condicional).
-
Aplicar por padrão: os blocos de política se mesclam até que um
succeededstatus seja postado. Você pode postarnotApplicablepara ignorar o requisito de uma PR específica. - Condicional: a política só se torna ativa depois que a verificação publica seu primeiro status.
-
Aplicar por padrão: os blocos de política se mesclam até que um
- Filtro de caminho: restrinja a política a PRs que modificam arquivos em caminhos específicos (opcional).
Para implementar uma verificação de status personalizada, consulte:
- Personalize e amplie fluxos de trabalho de pull request com o status do pull request
- Criar um servidor de status de solicitação pull com Node.js
- Usar o Azure Functions para criar políticas de ramificação personalizadas
Conteúdo relacionado
- Configurar uma política de ramificação para um serviço externo
- Configurar os recursos do GitHub Advanced Security para Azure DevOps
- Revisar resultados de cobertura de código
- Referência da API REST de Status de PR
- Criar um servidor de status de PR com Node.js
- Azure DevOps Marketplace – categoria Azure Repos