Skip to main content

Como gerenciar conjuntos de regras para repositórios na sua organização

Você pode editar, monitorar e excluir conjuntos de regras existentes para alterar o modo como as pessoas podem interagir com repositórios em sua organização.

Quem pode usar esse recurso?

Organization owners and users with the "Manage organization ref update rules and rulesets" permission can manage rulesets at the organization level.

Sobre o gerenciamento de conjuntos de regras para uma organização

Depois de criar um conjunto de regras no nível da organização, você pode fazer alterações nesse conjunto de regras para alterar o modo como as pessoas podem interagir com os repositórios direcionados. Por exemplo, você pode adicionar regras para proteger melhor as ramificações ou os rótulos nesses repositórios ou pode alternar seu conjunto de regras do modo "Avaliar" para "Ativo" depois de testar seus efeitos na experiência do contribuidor em seus repositórios. Os conjuntos de regras organizacionais que se aplicam a ramificações de um repositório não permitirão mais que o administrador do repositório renomeie as ramificações do repositório de destino ou altere o branch padrão para outra ramificação. Os administradores de repositório podem criar e excluir ramificações, desde que tenham as permissões apropriadas.

Note

O bypass delegado para regras por push está atualmente em versão prévia pública e sujeito a alterações.

O bypass delegado para conjuntos de regras de push permite que você controle quem pode ignorar a proteção push e quais pushes bloqueados devem ser permitidos.

Com o bypass delegado, os colaboradores de um repositório devem solicitar "privilégios de bypass" ao enviar confirmações por push que contenham conteúdo restrito. A solicitação é enviada a um grupo designado de revisores, que aprovam ou negam a solicitação para ignorar regras de push.

Se a solicitação para ignorar as regras de envio for aprovada, o colaborador poderá fazer push do commit com conteúdo restrito. Se a solicitação for negada, o contribuidor deverá remover o conteúdo do commit (ou commits) com o conteúdo restrito antes de enviar por push novamente.

Para configurar o bypass delegado, os proprietários da organização ou os administradores do repositório primeiro criam uma "lista de bypass". A lista de desvio inclui funções e equipes específicas, como administradores de equipe ou de repositório, que supervisionam as solicitações de bypass da proteção de push. Para obter mais informações, confira "Como gerenciar conjuntos de regras para repositórios na sua organização" e "Sobre os conjuntos de regras."

Use as APIs REST e GraphQL para gerenciar conjuntos de regras. Para obter mais informações, confira "Pontos de extremidade da API REST para regras" e "Mutações."

Observação: qualquer pessoa com acesso de leitura em um repositório pode ver os conjuntos de regras ativos que operam nesse repositório.

Como editar um conjunto de regras

Você pode editar um conjunto de regras para alterar partes do conjunto de regras, como o nome, ignorar permissões ou regras. Você também pode editar um conjunto de regras para alterar o status dele, por exemplo, se desejar habilitar ou desabilitar temporariamente um conjunto de regras.

  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. Na página "Conjuntos de regras", clique no nome do conjunto de regras que deseja editar.

  5. Altere o conjunto de regras conforme necessário. Para obter informações sobre as regras disponíveis, confira "Regras disponíveis para conjuntos de regras".

  6. Na parte inferior da página, clique em Salvar alterações.

Como excluir um conjunto de regras

Dica: caso deseje desabilitar um conjunto de regras temporariamente, mas não excluí-lo, defina o status do conjunto de regras como "Desabilitado". Para obter mais informações, confira "Como editar um conjunto de regras".

  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 no nome do conjunto de regras que deseja excluir.

  5. À direita do nome do conjunto de regras, selecione e clique em Excluir conjunto de regras.

    Captura de tela da página usada para editar um conjunto de regras. Abaixo de um botão rotulado com três pontos, uma opção rotulada "Excluir conjunto de regras" está realçada em laranja.

Como usar o histórico de conjuntos de regras

Note

  • O histórico do conjunto de regras está em versão prévia pública e sujeito a alterações.
  • Somente as alterações feitas em um conjunto de regras após a versão prévia pública, em 11 de outubro de 2023, estão incluídas no histórico de conjuntos de regras.

Você pode visualizar todas as alterações a um conjunto de regras e reverter para uma iteração específica. Você também pode baixar um arquivo JSON contendo a configuração do conjunto de regras em uma iteração específica. A lista de bypass de um conjunto de regras é excluída do arquivo JSON exportado.

  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. Para visualizar o histórico de alterações ao conjunto de regras, selecione à direita do nome do conjunto de regras e clique em Histórico.

    Captura de tela da página de conjuntos de regras do repositório. Abaixo de um botão rotulado com três pontos, uma opção rotulada "Histórico" está contornada em laranja.

  5. À direita da iteração específica, selecione e clique em Comparar alterações, Restaurar ou Baixar.

    Captura de tela da página do histórico de conjuntos de regras do repositório. Um menu suspenso, rotulado com três pontos, está expandido e realçado com um contorno laranja.

Como importar um conjunto de dados

Você pode importar um conjunto de regras de outro repositório ou organização usando o arquivo JSON exportado da seção anterior. Isso pode ser útil se você quiser aplicar o mesmo conjunto de regras a vários repositórios ou organizações.

  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. Selecione a lista suspensa Novo conjunto de regras e clique em Importar um conjunto de regras.

    Captura de tela da página de conjuntos de regras do repositório. Um menu suspenso rotulado “Novo conjunto de regras" é expandido e a opção "Importar um conjunto de regras" é realçada com um contorno laranja.

  5. Abra o arquivo JSON exportado.

  6. Revise o conjunto de regras importado e clique em Criar.

Como exibir insights de conjuntos de regras

Você pode visualizar os insights para conjuntos de regras para ver como os conjuntos de regras estão afetando os repositórios da sua organização. Na página "Insights de Regra", você verá um linha do tempo das ações do usuário a seguir. Use filtros para encontrar o que está procurando.

  • Ações que foram verificadas em relação a um ou mais conjuntos de regras e foram aprovadas.
  • Ações que foram verificadas em relação a um ou mais conjuntos de regras e não foram aprovadas.
  • Ações em que alguém ignorou um ou mais conjuntos de regras.

Se um conjunto de regras estiver em execução no modo "Avaliar", você poderá ver as ações que teriam sido aprovadas ou não se o conjunto de regras estivesse ativo.

Captura de tela da página "Insights de Regras". Três ações estão listadas: uma marcada como "aprovado", uma marcada como "ignorar" e outra marcada como "reprovado" com um rótulo "avaliar".

  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 Insights de regras.

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

  4. Na página "Insights de Regras", use os menus suspensos na parte superior da página para filtrar as ações por conjunto de regras, repositório, ator e período.

  5. Para ver as regras específicas que foram reprovadas ou que exigiram um bypass, clique em e expanda o nome do conjunto de regras.

    Captura de tela da página "Insights de Regras". À direita de um evento rotulado "octocat criado sem permissão", um ícone de três pontos horizontais está realçado em laranja.

Gerenciamento de solicitações para ignorar regras de push

Note

O bypass delegado para regras por push está atualmente em versão prévia pública e sujeito a alterações.

Você pode visualizar e gerenciar todas as solicitações de privilégios de desvio na página "Solicitações de bypass", localizada nas configurações de Regras do 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. Clique em Ignorar Solicitações.

Você pode filtrar solicitações por aprovador (membro da lista de bypass), solicitante (colaborador que faz a solicitação), prazo e status. Os seguintes status são atribuídos a uma solicitação:

StatusDescrição
CancelledA solicitação foi cancelada pelo contribuidor.
CompletedA solicitação foi aprovada, e os commits foram enviados por push para o repositório.
DeniedA solicitação foi analisada e negada.
ExpiredA solicitação expirou. As solicitações são válidas por 7 dias.
OpenA solicitação ainda não foi examinada ou foi aprovada, mas os commits não foram enviados por push para o repositório.

Quando um contribuidor solicita privilégios de bypass para enviar um commit com conteúdo restrito, todos os membros da lista de bypass recebem uma notificação por email com um link para a solicitação. Os membros da lista de bypass terão 7 dias para examinar e aprovar ou negar a solicitação antes que ela expire.

O contribuidor é notificado da decisão por email e deve tomar as medidas necessárias. Se a solicitação for aprovada, o contribuidor poderá enviar o commit com conteúdo restrito para o repositório. Se a solicitação for negada, o contribuidor deverá remover o conteúdo restrito do commit para enviar o commit com êxito ao repositório.