O modo de revisão CodeOwner permite especificar proprietários para arquivos ou tipos de arquivo específicos e atribuir automaticamente revisores para revisões de código e solicitações de merge.
Modo de revisão de código
O modo de revisão CodeOwner usa um arquivo CODEOWNERS para definir os responsáveis por cada arquivo ou módulo. Coloque esse arquivo no diretório raiz de uma branch. Com a revisão CodeOwner ativada, o sistema associa automaticamente os revisores com base no arquivo CODEOWNERS da branch de destino.
Se um arquivo tiver apenas um proprietário, ele deverá aprovar as alterações.
Se um arquivo tiver vários proprietários (como A, B e C), a aprovação de qualquer um deles será suficiente. O sistema adiciona automaticamente os proprietários relevantes à lista de revisores.
Caso nenhum proprietário correspondente seja encontrado, pelo menos uma pessoa precisará revisar o arquivo. Se vários padrões corresponderem a um caminho de arquivo, o último padrão correspondente no arquivo CODEOWNERS terá precedência.
Por exemplo, considere os seguintes caminhos definidos em um arquivo CODEOWNERS:
f.txt matches the ** @user1 rule
aa/f.txt matches the aa/** @user2 rule
aa/mm/f.txt matches the aa/mm/** @user3 rule
bb/f.txt matches the bb/** @user4 rule
Cada arquivo corresponde à regra mais adequada, o que torna o processo de revisão mais eficiente e preciso.
Na página Branch Settings do repositório, selecione a branch protegida de destino, como feature/sensitive_scan, e modifique as regras de proteção. Na caixa de diálogo, ative Require code review before merging, selecione Require all comments to be resolved e defina o modo de revisão como CodeOwner.
Os caminhos no arquivo CODEOWNERS usam padrões glob, semelhantes ao comando find do Linux ou às regras do .gitignore do git. Use o formato @username para especificar um proprietário, em que username é o endereço de e-mail principal verificado do usuário. Para visualizar seu endereço de e-mail principal, acesse .
Na página Personal Settings, selecione Personal Information no painel de navegação à esquerda. Na seção Email, o endereço rotulado como Primary Email é o seu endereço de e-mail principal verificado.
Exemplo:
# This is a comment line. The following lines are configuration entries, one per line.
# A path pattern must be followed by one or more owners.
# Assign users A@example.com and B@example.com as CodeOwners for all files.
** @A@example.com @B@example.com
# Assign user C@example.com as the CodeOwner for all .java files.
**.java @C@example.com
# Assign users D@example.com and E@example.com as CodeOwners for files in the force-api/ directory.
force-api/** @D@example.com @E@example.com
# Assign user F@example.com as the CodeOwner for files in the force-base/src/main/java/ directory.
force-base/src/main/java/** @F@example.com