Skip to main content

Gerenciando as funções de repositórios personalizados para uma organização

Você pode controlar o acesso aos repositórios da sua organização de forma mais granular, criando funções de repositório personalizadas.

Organization owners can manage custom repository roles.

Note: Custom repository roles are available as a public beta release and may change at any time during this period.

Sobre as funções personalizadas do repositório

Para executar quaisquer ações em GitHub Enterprise Cloud, como criar um pull request em um repositório ou alterar as configurações de cobrança de uma organização, uma pessoa deve ter acesso suficiente à conta ou recurso relevante. This access is controlled by permissions. A permission is the ability to perform a specific action. For example, the ability to delete an issue is a permission. A role is a set of permissions you can assign to individuals or teams.

Dentro de uma organização, você pode atribuir funções ao nível da organização, equipe e repositório. Para obter mais informações sobre os diferentes níveis de funções, consulte "Funções em uma organização".

Se a sua organização usar GitHub Enterprise Cloud, você poderá ter um controle mais granular sobre as permissões que você concede no nível de repositório, criando até três funções personalizadas no repositório. Uma função de repositório personalizado é um conjunto configurável de permissões com um nome personalizado que você escolheu. Depois de criar um cargo personalizado, qualquer pessoa com acesso de administrador a um repositório pode atribuir a função a um indivíduo ou equipe. Para obter mais informações, consulte "Gerenciando o acesso de um indivíduo ao repositório de uma organização" e "Gerenciando o acesso da equipe ao repositório de uma organização"

For more information about how you can try GitHub Enterprise Cloud for free, see "Setting up a trial of GitHub Enterprise Cloud."

Sobre a função herdada

Ao criar uma função de repositório personalizado, você começa escolhendo uma função herdada de um conjunto de opções predefinidas. A função herdada determina o conjunto inicial de permissões incluídas na função personalizada. Em seguida, você pode personalizar ainda mais a função escolhendo as permissões adicionais para dar à função. Para obter a lista completa das permissões disponíveis, consulte "Permissões adicionais para as funções personalizadas. "

As suas opções para a função herdada são padronizadas para diferentes tipos de contribuidores do seu repositório.

Função herdadaProjetada para
LeituraContribuidores sem código que querem ver ou discutir seu projeto.
TriagemOs colaboradores que precisam gerenciar proativamente problemas e pull requests sem acesso de gravação.
GravaçãoIntegrantes e colaboradores da organização que fazem push ativamente no seu projeto.
ManutençãoGerentes de projeto que precisam gerenciar o repositório sem acesso a ações sensíveis ou destrutivas.

Exemplos de funções personalizadas

Aqui estão alguns exemplos de funções de repositórios personalizados que você pode configurar.

Função do repositório personalizadoSumárioFunção herdadaPermissões adicionais
Engenheiro de segurançaCapaz de contribuir com código e manter o pipeline de segurançaManutençãoExcluir resultados da varredura de código
ContratadoCapaz de desenvolver integrações de webhooksGravaçãoGerenciar webhooks
Gerente de comunidadeCapaz de lidar com todas as interações da comunidade sem ser capaz de contribuir com códigoLeitura- Mark an issue as duplicate
- Manage GitHub Page settings
- Manage wiki settings
- Set the social preview
- Edit repository metadata
- Triage discussions

Permissões adicionais para funções personalizadas

Depois de escolher uma função herdada, você poderá selecionar as permissões adicionais para a sua função personalizada.

Você só pode escolher uma permissão adicional se já não estiver incluída na função herdada. Por exemplo, se a função herdada oferece acesso de Gravação a um repositório, a permissão "Fechar uma pull request" já estará incluída na função herdada.

Problemas e Pull Requests

  • Atribuir ou remover um usuário: Atribua um usuário a um problema ou pull request ou remova um usuário de um problema ou pull request.
  • Adicionar ou remover um rótulo: Adicione uma etiqueta a um problema ou um pull request ou remova uma etiqueta de um problema ou pull request.

Problema

  • Feche um problema
  • Reabra um problema fechado
  • Exclua um problema
  • Marque um problema como duplicado

Pull Request

  • Feche um pull request
  • Reopen a closed pull request
  • Request a pull request review: Request a review from a user or team.

Repositório

  • Set milestones: Add milestones to an issue or pull request.
  • Manage wiki settings: Turn on wikis for a repository.
  • Manage project settings: Turning on projects for a repository.
  • Manage pull request merging settings: Choose the type of merge commits that are allowed in your repository, such as merge, squash, or rebase.
  • Manage GitHub Pages settings: Enable GitHub Pages for the repository, and select the branch you want to publish. Para obter mais informações, consulte "Configurar uma fonte de publicação para seu site do GitHub Pages".
  • Manage webhooks: Add webhooks to the repository.
  • Manage deploy keys: Add deploy keys to the repository.
  • Edit repository metadata: Update the repository description as well as the repository topics.
  • Set interaction limits: Temporarily restrict certain users from commenting, opening issues, or creating pull requests in your public repository to enforce a period of limited activity. For more information, see "Limiting interactions in your repository."
  • Set the social preview: Add an identifying image to your repository that appears on social media platforms when your repository is linked. Para obter mais informações, consulte "Personalizar a exibição das redes sociais do repositório".
  • Push commits to protected branches: Push to a branch that is marked as a protected branch.

Segurança

  • View Varredura de código results: Ability to view Varredura de código alerts.
  • Dismiss or reopen Varredura de código results: Ability to dismiss or reopen Varredura de código alerts.
  • Delete Varredura de código results: Ability to delete Varredura de código alerts.
  • View varredura secreta results: Ability to view varredura secreta alerts.
  • Dismiss or reopen varredura secreta results: Ability to dismiss or reopen varredura secreta alerts.

Precedence for different levels of access

If a person is given different levels of access through different avenues, such as team membership and the base permissions for an organization, the highest access overrides the others. For example, if an organization owner gives an organization member a custom role that uses the "Read" inherited role, and then an organization owner sets the organization's base permission to "Write", then this custom role will have write access, along with any additional permissions included in the custom role.

If a person has been given conflicting access, you'll see a warning on the repository access page. The warning appears with " Mixed roles" next to the person with the conflicting access. To see the source of the conflicting access, hover over the warning icon or click Mixed roles.

To resolve conflicting access, you can adjust your organization's base permissions or the team's access, or edit the custom role. Para obter mais informações, consulte:

Creating a repository role

To create a new repository role, you add permissions to an inherited role and give the custom role a name.

  1. In the top right corner of GitHub.com, click your profile photo, then click Your profile. Foto de perfil
  2. In the top right corner of GitHub.com, click your profile photo, then click Your organizations. Suas organizações no menu de perfil
  3. Abaixo do nome da sua organização, clique em Settings. Botão de configurações da organização
  4. Under "Organizations", next to the name of your organization, click Settings. Screenshot of an organization next to the "Settings" button
  5. Na barra lateral esquerda, clique em Repository roles (Funções do repositório). Aba de funções do repositório nas configurações da organização
  6. Click Create a Role. Screenshot of "Create a Role" button
  7. Under "Name", type the name of your repository role. Field to type a name for the repository role
  8. Under "Description", type a description of your repository role. Field to type a description for the repository role
  9. Under "Choose a role to inherit", select the role you want to inherit. Selecting repository role base role option
  10. Under "Add Permissions", use the drop-down menu to select the permissions you want your custom role to include. Selecting permission levels from repository role drop-down
  11. Click Create role. Confirm creating a repository role

Editing a repository role

  1. In the top right corner of GitHub.com, click your profile photo, then click Your profile. Foto de perfil
  2. In the top right corner of GitHub.com, click your profile photo, then click Your organizations. Suas organizações no menu de perfil
  3. Abaixo do nome da sua organização, clique em Settings. Botão de configurações da organização
  4. Under "Organizations", next to the name of your organization, click Settings. Screenshot of an organization next to the "Settings" button
  5. Na barra lateral esquerda, clique em Repository roles (Funções do repositório). Aba de funções do repositório nas configurações da organização
  6. To the right of the role you want to edit, click , then click Edit. Edit option in drop-down menu for repository roles
  7. Edit, then click Update role. Edit fields and update repository roles

Deleting a repository role

If you delete an existing repository role, all pending invitations, teams, and users with the custom role will be reassigned to the organization's base permissions.

  1. In the top right corner of GitHub.com, click your profile photo, then click Your profile. Foto de perfil
  2. In the top right corner of GitHub.com, click your profile photo, then click Your organizations. Suas organizações no menu de perfil
  3. Abaixo do nome da sua organização, clique em Settings. Botão de configurações da organização
  4. Under "Organizations", next to the name of your organization, click Settings. Screenshot of an organization next to the "Settings" button
  5. Na barra lateral esquerda, clique em Repository roles (Funções do repositório). Aba de funções do repositório nas configurações da organização
  6. To the right of the role you want to delete, click , then click Delete. Edit option in drop-down menu for repository roles
  7. Revise as alterações para a função que você deseja remover e, em seguida, clique em Excluir função. Confirme a exclusão de uma função do repositório