Skip to main content

Definir proteção contra mesclagem de verificação de código

Você pode usar conjuntos de regras para definir a proteção contra mesclagem do code scanning para pull requests.

Quem pode usar esse recurso?

Proprietários da organização, gerentes de segurança e membros da organização com a função de administrador

O Repositórios pertencentes à organização com GitHub Advanced Security habilitado

Sobre o uso de conjuntos de regras para proteção contra mesclagem do code scanning

Note

  • Esse recurso está atualmente em beta e sujeito a alterações.
  • A proteção contra mesclagem com conjuntos de regras não está relacionada a verificações de status. Para obter mais informações sobre verificações de status, consulte "Sobre verificações de status".
  • A proteção de mesclagem com conjuntos de regras não se aplicará a grupos de filas de mesclagem ou a solicitações pull do Dependabot analisadas pela configuração padrão.

Você pode usar conjuntos de regras para evitar que pull requests sejam mesclados quando uma das seguintes condições for atendida:

  • Uma ferramenta necessária encontrou um alerta do code scanning de uma gravidade definida em um conjunto de regras.

  • Uma análise de ferramenta necessária do code scanning ainda está em andamento.

  • Uma ferramenta necessária do code scanning não está configurada para o repositório.

Para obter mais informações sobre os alertas do code scanning consulte "Sobre alertas de digitalização de códigos."

Você pode definir a proteção contra mesclagem com conjuntos de regras nos níveis de repositório ou de e para repositórios definidos com configuração padrão ou configuração avançada. Você também pode usar a API REST para definir a proteção contra mesclagem com conjuntos de regras.

Para saber mais sobre os conjuntos de regras, confira "Sobre os conjuntos de regras".

Criar um conjunto de regras de proteção contra mesclagem para um repositório

  1. Em GitHub, acesse a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na barra lateral esquerda, em "Código e automação", clique em Regras e em Conjuntos de regras.

    Captura de tela da barra lateral da página "Configurações" de um repositório. O submenu "Regras" está expandido, e a opção "Conjuntos de regras" está realçada em laranja.

  4. Clique em Novo conjunto de regras.

  5. Para criar um conjunto de regras direcionado a branches, clique em Novo conjunto de regras de branch.

  6. Em "Nome do conjunto de regras", digite um nome para o conjunto de regras.

  7. Opcionalmente, para alterar o status de imposição padrão, clique em Desabilitado e selecione um status de imposição. Para obter mais informações sobre os status de imposição, confira "Sobre os conjuntos de regras".

  8. Em "Proteções de ramificação", selecione Exigir resultados do code scanning.

  9. Em "Required tools and alert thresholds", clique em Add tool e selecione uma ferramenta de code scanning no menu suspenso. Por exemplo, "CodeQL".

  10. Ao lado do nome de uma ferramenta do code scanning:

    • Clique em Alertas e selecione um dos seguintes: Nenhum, Erros, Erros e Avisos ou Todos.
    • Clique em Alertas de segurança e selecione um dos seguintes: Nenhum, Crítico, Alto ou superior, Médio ou superior ou Todos.

    Captura de tela da seção "Ferramentas necessárias e limites de alerta" das configurações de "Conjuntos de regras".

Para obter mais informações sobre a gravidade do alerta e os níveis de severidade de segurança, consulte "Sobre alertas de digitalização de códigos".

Para obter mais informações sobre como gerenciar conjuntos de regras em um repositório, consulte "Como gerenciar conjuntos de regras de um repositório".

Criar um conjunto de regras de proteção contra mesclagem para todos os repositórios de uma organização

  1. No canto superior direito de GitHub, selecione sua foto de perfil e selecione Suas organizações.

  2. Ao lado da organização, clique em Configurações.

  3. Na barra lateral esquerda, na seção "Código, planejamento e automação", clique em Repositório e em Conjuntos de regras.

    Captura de tela da página de configurações de uma organização. Na barra lateral, um link rotulado "Conjuntos de regras" está realçado em laranja.

  4. Clique em Novo conjunto de regras.

  5. Para criar um conjunto de regras direcionado a branches, clique em Novo conjunto de regras de branch.

  6. Em "Nome do conjunto de regras", digite um nome para o conjunto de regras.

  7. Opcionalmente, para alterar o status de imposição padrão, clique em Desabilitado e selecione um status de imposição. Para obter mais informações sobre os status de imposição, confira "Sobre os conjuntos de regras".

  8. Em "Proteções de ramificação", selecione Exigir resultados do code scanning.

  9. Em "Required tools and alert thresholds", clique em Add tool e selecione uma ferramenta de code scanning no menu suspenso. Por exemplo, "CodeQL".

  10. Ao lado do nome de uma ferramenta do code scanning:

    • Clique em Alertas e selecione um dos seguintes: Nenhum, Erros, Erros e Avisos ou Todos.
    • Clique em Alertas de segurança e selecione um dos seguintes: Nenhum, Crítico, Alto ou superior, Médio ou superior ou Todos.

    Captura de tela da seção "Ferramentas necessárias e limites de alerta" das configurações de "Conjuntos de regras".

Para obter mais informações sobre a gravidade do alerta e os níveis de severidade de segurança, consulte "Sobre alertas de digitalização de códigos".

Para obter mais informações sobre como gerenciar conjuntos de regras para repositórios em uma organização, consulte "Como gerenciar conjuntos de regras para repositórios na sua organização".

Criar um conjunto de regras de proteção contra mesclagem com a API REST

Você pode usar a API REST para criar um conjunto de regras com a regra code_scanning, que permite definir ferramentas específicas e definir limites de alerta. Para obter mais informações, confira "Pontos de extremidade da API REST para regras".