After creating a ruleset at the enterprise level, you can make changes to the ruleset to alter how people can interact with the targeted repositories. For example, you can:
- Add rules to better protect the branches or tags in those repositories
- Switch your ruleset from "Evaluate" mode to "Active" after testing its effects on the contributor experience
Note
Qualquer pessoa com acesso de leitura em um repositório pode ver os conjuntos de regras ativos que operam nesse repositório.
About delegated bypass
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 saber mais, confira Como gerenciar conjuntos de regras para repositórios na sua organização e Sobre os conjuntos de regras.
Editing a ruleset
You can edit a ruleset to change parts of the ruleset, such as the name, bypass permissions, or rules. You can also edit a ruleset to change its status, such as if you want to enable or temporarily disable a ruleset.
-
No canto superior direito do GitHub, selecione sua foto de perfil.
-
Dependendo do ambiente, selecione Sua empresa ou Suas empresas e escolha a empresa que deseja ver.
-
In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
-
On the "Rulesets" page, click the name of the ruleset you want to edit.
-
Change the ruleset as required.
For information on the available rules, see "Regras disponíveis para conjuntos de regras"
-
At the bottom of the page, click Save changes.
Deleting a ruleset
Note
Qualquer pessoa com acesso de leitura em um repositório pode ver os conjuntos de regras ativos que operam nesse repositório.
- No canto superior direito do GitHub, selecione sua foto de perfil.
- Dependendo do ambiente, selecione Sua empresa ou Suas empresas e escolha a empresa que deseja ver.
- In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
- To the right of the ruleset's name, select , then click Delete ruleset.
Using ruleset history
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.
- No canto superior direito do GitHub, selecione sua foto de perfil.
- Dependendo do ambiente, selecione Sua empresa ou Suas empresas e escolha a empresa que deseja ver.
- In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
- To view the history of changes to the ruleset, select to the right of the ruleset's name, then click History.
- To the right of the specific iteration, select , then click Compare changes, Restore, or Download.
Importing a ruleset
You can import a ruleset from another repository, organization or enterprise using the exported JSON file from the previous section. This can be useful if you want to apply the same ruleset to multiple repositories, organizations or enterprises.
- No canto superior direito do GitHub, selecione sua foto de perfil.
- Dependendo do ambiente, selecione Sua empresa ou Suas empresas e escolha a empresa que deseja ver.
- In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
- Select the New ruleset dropdown, then click Import a ruleset.
- Open the exported JSON file.
- Review the imported ruleset and click Create.
Viewing insights for rulesets
You can view insights for rulesets to see how rulesets are affecting the repositories in your enterprise. 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.
If a ruleset is running in "Evaluate" mode, you can see actions that would have passed or failed if the ruleset had been active.
- No canto superior direito do GitHub, selecione sua foto de perfil.
- Dependendo do ambiente, selecione Sua empresa ou Suas empresas e escolha a empresa que deseja ver.
- In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
- On the "Rule insights" page, use the dropdown menus at the top of the page to filter the actions by ruleset, repository, actor, and time period.
- To see which specific rules failed or required a bypass, click , then expand the name of the ruleset.
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.
-
Em GitHub, acesse a página principal do repositório.
-
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.
-
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:
Status | Descrição |
---|---|
Cancelled | A solicitação foi cancelada pelo contribuidor. |
Completed | A solicitação foi aprovada, e os commits foram enviados por push para o repositório. |
Denied | A solicitação foi analisada e negada. |
Expired | A solicitação expirou. As solicitações são válidas por 7 dias. |
Open | A 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.