

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar uma regra de aprovação de uma solicitação pull
<a name="how-to-create-pull-request-approval-rule"></a>

A criação de regras de aprovação de solicitações pull ajuda a garantir a qualidade do seu código, exigindo que os usuários aprovem a solicitação pull para que o código possa ser mesclado à ramificação de destino. É possível especificar o número de usuários que devem aprovar uma solicitação pull. Também é possível especificar um grupo de aprovações de usuários para a regra. Se você fizer isso, somente as aprovações desses usuários contarão para o número de aprovações necessárias para a regra. 

**nota**  
Também é possível criar modelos de regras de aprovação que podem ajudar a automatizar a criação de regras de aprovação em vários repositórios. Para obter mais informações, consulte [Trabalhar com modelos de regra de aprovação](approval-rule-templates.md).

Você pode usar o AWS CodeCommit console ou o AWS CLI para criar regras de aprovação para seu repositório. 

**Topics**
+ [Criar uma regra de aprovação de uma solicitação pull (console)](#how-to-create-pull-request-approval-rule-console)
+ [Criar uma regra de aprovação de uma solicitação pull (AWS CLI)](#how-to-create-pull-request-approval-rule-cli)

## Criar uma regra de aprovação de uma solicitação pull (console)
<a name="how-to-create-pull-request-approval-rule-console"></a>

Você pode usar o CodeCommit console para criar uma regra de aprovação para uma pull request em um CodeCommit repositório. 

1. Abra o CodeCommit console em [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Em **Repositories (Repositórios)**, escolha o nome do repositório onde você deseja criar uma regra de aprovação de uma solicitação pull. 

1. No painel de navegação, escolha **Pull Requests**.

1. Escolha a solicitação pull da qual você deseja criar uma regra de aprovação na lista. Só é possível criar regras de aprovação de solicitações pull abertas.  
![Uma lista de pull requests para um repositório no CodeCommit console.](http://docs.aws.amazon.com/pt_br/codecommit/latest/userguide/images/codecommit-pull-request-view.png)

1. Na solicitação pull, escolha **Approvals (Aprovações)** e selecione **Create approval rule (Criar regra de aprovação)**. 

1. Em **Rule name (Nome da regra)**, dê à regra um nome descritivo para que você saiba para que serve. Por exemplo, se você deseja exigir que duas pessoas aprovem uma solicitação pull para que ela possa ser mesclada, é possível nomear a regra **Require two approvals before merge**. 
**nota**  
Não é possível alterar o nome de uma regra de aprovação depois de criá-la.

   Em **Number of approvals needed (Número de aprovações necessárias)**, insira o número desejado. O padrão é um.   
![Criar uma regra de aprovação de uma solicitação pull](http://docs.aws.amazon.com/pt_br/codecommit/latest/userguide/images/codecommit-create-approval-rule.png)

1. (Opcional) Se deseja exigir que as aprovações de uma solicitação pull sejam provenientes de um grupo específico de usuários, em **Approval rule members (Membros da regra de aprovação)**, escolha **Add (Adicionar)**. Em **Approver type (Tipo de aprovador)**, escolha uma das seguintes opções: 
   + **Nome de usuário do IAM ou perfil assumido**: essa opção preenche previamente o ID da conta da AWS com a conta que você usou para fazer login e requer apenas um nome. Ela pode ser usada para usuários de acesso federados e usuários do IAM cujos nomes correspondam ao nome fornecido. Essa é uma opção muito eficiente que oferece uma grande flexibilidade. Por exemplo, se você escolher essa opção, estiver conectado com a conta 123456789012 da Amazon Web Services e especificar **Mary\_Major**, todos as opções a seguir contarão como aprovações provenientes desse usuário:
     + Um usuário do IAM na conta (`arn:aws:iam::123456789012:user/Mary_Major`)
     + Um usuário federado identificado no IAM como Mary\_Major (`arn:aws:sts::123456789012:federated-user/Mary_Major`)

     Essa opção não reconhecerá uma sessão ativa de alguém que assume a função de **CodeCommitReview** com um nome de sessão de função de Mary\_Major (`arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major`), a menos que você inclua um curinga (`*Mary_Major`). Você também pode especificar o nome da função explicitamente (`CodeCommitReview/Mary_Major`).
   + **ARN totalmente qualificado**: essa opção permite especificar o nome do recurso da Amazon (ARN) totalmente qualificado do perfil ou usuário do IAM. Essa opção também oferece suporte a funções assumidas usadas por outros AWS serviços, como AWS Lambda AWS CodeBuild e. Para funções assumidas, o formato do ARN deve ser `arn:aws:sts::{{AccountID}}:assumed-role/{{RoleName}}` para funções (roles) e `arn:aws:sts::{{AccountID}}:assumed-role/{{FunctionName}}` funções (functions).

   Se você escolheu o **nome de usuário do IAM ou perfil assumido** como o tipo de aprovador, em **Valor**, insira o nome do usuário ou perfil do IAM ou o ARN totalmente qualificado do usuário ou perfil. Escolha **Add (Adicionar)** novamente para adicionar mais usuários ou funções, até que você tenha adicionado todos os usuários ou funções cujas aprovações contam para o número de aprovações necessárias. 

   Ambos os tipos de aprovadores permitem usar curingas (\*) em seus valores. Por exemplo, se você escolher a opção **nome de usuário do IAM ou perfil assumido** e especificar **CodeCommitReview/\***, todos os usuários que assumirem o perfil de **CodeCommitReview** serão contados no grupo de aprovação. Os nomes de sessão de função individual são contabilizados no número necessário de aprovadores. Dessa forma, tanto Mary\_Major quanto Li\_Juan contarão como aprovações quando conectados e assumindo a função de `CodeCommitReview`. Para obter mais informações sobre IAM ARNs, curingas e formatos, consulte [Identificadores do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns).
**nota**  
As regras de aprovação não oferecem suporte a aprovações entre contas.

1. Quando terminar de configurar a regra de aprovação, escolha **Submit (Enviar)**.

 

## Criar uma regra de aprovação de uma solicitação pull (AWS CLI)
<a name="how-to-create-pull-request-approval-rule-cli"></a>

Para usar AWS CLI comandos com CodeCommit, instale AWS CLI o. Para obter mais informações, consulte [Referência da linha de comando](cmd-ref.md). 

## Para criar uma regra de aprovação para uma pull request em um CodeCommit repositório

+ Execute o comando **create-pull-request-approval-rule**, especificando:
  + O ID da solicitação pull (com a opção **--id**).
  + O nome da regra de aprovação (com a opção **--approval-rule-name**).
  + O conteúdo da regra de aprovação (com a opção **--approval-rule-content**).

  Ao criar a regra de aprovação, é possível especificar aprovadores em um grupo de aprovações de duas maneiras:
  + **CodeCommitApprovers**: Essa opção requer somente uma conta e um recurso da Amazon Web Services. Ela pode ser usada para usuários de acesso federados e usuários do IAM cujo nome corresponde ao nome do recurso fornecido. Essa é uma opção muito eficiente que oferece uma grande flexibilidade. Por exemplo, se você especificar a conta 123456789012 da Amazon Web Services e **Mary\_Major**, todas as opções a seguir contam como aprovações provenientes desse usuário:
    + Um usuário do IAM na conta (`arn:aws:iam::123456789012:user/Mary_Major`)
    + Um usuário federado identificado no IAM como Mary\_Major (`arn:aws:sts::123456789012:federated-user/Mary_Major`)

    Essa opção não reconhecerá uma sessão ativa de alguém que assume a função de **CodeCommitReview** com um nome de sessão de função de Mary\_Major (`arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major`), a menos que você inclua um curinga (`*Mary_Major`).
  + **ARN totalmente qualificado**: essa opção permite especificar o nome do recurso da Amazon (ARN) totalmente qualificado do perfil ou usuário do IAM. 

  Para obter mais informações sobre IAM ARNs, curingas e formatos, consulte [Identificadores do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns).

  O exemplo a seguir cria uma regra de aprovação chamada `Require two approved approvers` de uma solicitação pull com o ID `27`. A regra especifica que duas aprovações são necessárias de um grupo de aprovações. O pool inclui todos os usuários que acessam CodeCommit e assumem a função **CodeCommitReview** na conta da `123456789012` Amazon Web Services. Ele também inclui um usuário federado ou usuário do IAM chamado `Nikhil_Jayashankar` na mesma conta da Amazon Web Services:

  ```
  aws codecommit create-pull-request-approval-rule --pull-request-id 27 --approval-rule-name "Require two approved approvers" --approval-rule-content "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012:Nikhil_Jayashankar\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"
  ```