Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solicitar la aprobación de comentarios
CodeBuild admite políticas de creación de solicitudes de extracción que proporcionan un control adicional sobre las compilaciones activadas por las solicitudes de extracción. Es posible que no desees crear automáticamente solicitudes de cambios de usuarios desconocidos hasta que se puedan revisar sus cambios. Esta función te permite solicitar a uno de los miembros de tu equipo que primero revise el código y, a continuación, ejecute la canalización. Esto se suele utilizar como medida de seguridad cuando se crea un código enviado por colaboradores desconocidos.
Las políticas de creación de solicitudes de extracción te permiten controlar cuándo se CodeBuild activan las compilaciones de las solicitudes de extracción en función de los permisos y el estado de aprobación del colaborador. Esto es particularmente importante para los repositorios públicos o los repositorios que aceptan contribuciones de colaboradores externos.
Cuando está habilitada, esta función garantiza que las compilaciones solo se activen para las solicitudes de incorporación de cambios cuando:
-
La solicitud de cambios la crea un colaborador de confianza.
-
Un colaborador de confianza aprueba la solicitud de extracción publicando un comentario específico.
Funcionamiento
- Colaboradores de confianza
-
El colaborador de confianza es un usuario cuya función actual en el sistema de control de fuentes está establecida en la política basada en solicitudes de extracción de información como una función de aprobador. Cuando un colaborador de confianza crea una solicitud de cambios, CodeBuild activa la compilación automáticamente, manteniendo el comportamiento actual.
- Colaboradores que no son de confianza
-
Un colaborador que no es de confianza es un usuario cuya función no está establecida en la lista de funciones de aprobador. Cuando un colaborador que no es de confianza crea una solicitud de cambios:
-
CodeBuild marca el estado de compilación como «Fallido» con el mensaje «Se requiere la aprobación de una solicitud de extracción para iniciar una compilación».
-
Un colaborador de confianza debe revisar los cambios y publicar un comentario
/codebuild_run(
para activar la compilación. Por ejemplo,<SHA_OF_THE_LATEST_COMMIT>
)/codebuild_run(
.046e8b67481d53bdc86c3f6affdd5d1afae6d369
) -
CodeBuild valida los permisos del comentarista y activa la compilación si se aprueba.
-
Los resultados de la compilación se muestran en la página de solicitudes de cambios.
-
- Sintaxis de aprobación de comentarios
-
Los colaboradores de confianza pueden aprobar las compilaciones mediante los siguientes formatos de comentarios:
-
/codebuild_run(
- Los activadores se basan en el SHA de confirmación especificado.046e8b67481d53bdc86c3f6affdd5d1afae6d369
)
-
Configuración
- Comportamiento predeterminado
-
La política de creación de solicitudes de extracción está habilitada de forma predeterminada para todos los CodeBuild proyectos recién creados.
- Parámetros de la API
-
La política de creación de solicitudes de extracción se configura mediante el
PullRequestBuildPolicy
parámetro en las siguientes acciones:-
CreateWebhook
-
UpdateWebhook
-
PullRequestBuildPolicy
estructura-
{ "requiresCommentApproval": "string", "approverRoles": ["string", ...] }
requiresCommentApproval
-
Especifica cuándo se requiere una aprobación basada en comentarios antes de activar una generación a partir de solicitudes de incorporación de cambios. Esta configuración determina si las compilaciones se ejecutan automáticamente o si requieren una aprobación explícita mediante comentarios.
Tipo: cadena
Valores válidos:
-
DISABLED
- Las compilaciones se activan automáticamente sin requerir la aprobación de comentarios. -
FORK_PULL_REQUESTS
- Solo las solicitudes de extracción de repositorios bifurcados requieren la aprobación de comentarios (a menos que la función de colaborador sea una de las funciones de aprobador). -
ALL_PULL_REQUESTS
- Todas las solicitudes de extracción requieren la aprobación de comentarios antes de que se ejecuten las compilaciones (a menos que la función de colaborador sea una de las funciones de aprobador). Este es el valor predeterminado.
-
approverRoles
-
Lista de funciones de repositorio que tienen privilegios de aprobación para compilar solicitudes de extracción cuando se requiere la aprobación de comentarios. Solo los usuarios con estos roles pueden proporcionar aprobaciones de comentarios válidas. Si uno de estos roles es uno de estos colaboradores, las compilaciones de las solicitudes de extracción se activarán automáticamente.
Tipo: matriz de cadenas
Valores válidos para los GitHub proyectos (los valores se asignan a los GitHub roles):
-
GITHUB_ADMIN
- Administradores de repositorios -
GITHUB_MAINTAIN
- Mantenedores de repositorios -
GITHUB_WRITE
- Usuario con permisos de escritura -
GITHUB_TRIAGE
- Usuario con permisos de clasificación -
GITHUB_READ
- Usuario con permisos de lectura -
Valor predeterminado:
["GITHUB_ADMIN", "GITHUB_MAINTAINER", "GITHUB_WRITE"]
Valores válidos para los GitLab proyectos (los valores se asignan a los GitLab roles):
-
GITLAB_OWNER
- Propietario del repositorio -
GITLAB_MAINTAINER
- Mantenedor del repositorio -
GITLAB_DEVELOPER
- Usuario con permisos de desarrollador -
GITLAB_REPORTER
- Usuario con permisos de reportero -
GITLAB_PLANNER
- Usuario con permisos de planificador -
GITLAB_GUEST
- Usuario con permisos de invitado -
Valor predeterminado:
["GITLAB_OWNER", "GITLAB_MAINTAINER", "GITLAB_DEVELOPER"]
Valores válidos para los proyectos de Bitbucket (los valores se asignan a las funciones de Bitbucket):
-
BITBUCKET_ADMIN
- Administrador del repositorio -
BITBUCKET_WRITE
- Usuario con permisos de escritura -
BITBUCKET_READ
- Usuario con permisos de lectura -
Valor predeterminado:
["BITBUCKET_ADMIN", "BITBUCKET_WRITE"]
-
Ejemplos
- Habilita la aprobación de comentarios para todas las solicitudes de extracción
-
Si quieres usar el AWS CodeBuild SDK para habilitar o deshabilitar la política de creación de solicitudes de extracción para un webhook, usa el
pullRequestBuildPolicy
campo de la sintaxis de solicitud de los métodosCreateWebhook
o de laUpdateWebhook
API. Para obtener más información, consulta WebhookFilter en la CodeBuild Referencia de la API de .Los usuarios con las funciones de administrador, mantenimiento y escritura de Github serán tratados como colaboradores de confianza.
"pullRequestBuildPolicy": { "requiresCommentApproval": "ALL_PULL_REQUESTS", "approverRoles": ["GITHUB_ADMIN", "GITHUB_MAINTAIN", "GITHUB_WRITE"] }
- Habilita la aprobación de comentarios solo para los administradores y mantenedores del repositorio
-
Los usuarios con GitHub funciones de administrador y mantenimiento serán tratados como colaboradores de confianza.
"pullRequestBuildPolicy": { "requiresCommentApproval": "FORK_PULL_REQUESTS", "approverRoles": ["GITHUB_ADMIN", "GITHUB_MAINTAINER"] }
- Inhabilita la aprobación de comentarios
-
"pullRequestBuildPolicy": { "requiresCommentApproval": "DISABLED" }
AWS CloudFormation
Para usar una AWS CloudFormation plantilla para habilitar o deshabilitar la política de creación de solicitudes de extracción para un webhook, usa la PullRequestBuildPolicy propiedad. La siguiente parte de una AWS CloudFormation plantilla con formato YAML crea un proyecto con un webhook que tiene habilitada la política de creación de solicitudes de extracción para todas las solicitudes de incorporación de cambios. Mantenga y administre las funciones especificadas como aprobadores.
CodeBuildProject: Type: AWS::CodeBuild::Project Properties: Name: MyProject ServiceRole: service-role Artifacts: Type: NO_ARTIFACTS Environment: Type: LINUX_CONTAINER ComputeType: BUILD_GENERAL1_SMALL Image: aws/codebuild/standard:5.0 Source: Type: BITBUCKET Location: source-location Triggers: Webhook: true FilterGroups: - - Type: EVENT Pattern: PULL_REQUEST_CREATED,PULL_REQUEST_UPDATED - Type: BASE_REF Pattern: ^refs/heads/main$ ExcludeMatchedPattern: false PullRequestBuildPolicy: RequiresCommentApproval: ALL_PULL_REQUESTS ApproverRoles: - GITHUB_MAINTAIN - GITHUB_ADMIN
Configuración de la consola
Para usar la consola AWS de administración para filtrar los eventos de webhook:
-
Para la aprobación de comentarios, selecciona Desactivar o Activar para todas las solicitudes de incorporación de cambios (
ALL_PULL_REQUEST
) o solo para las solicitudes de extracción de forks (FORK_PULL_REQUEST
). -
En el caso de los roles de aprobador, selecciona los roles de repositorio que tengan privilegios de aprobación para las compilaciones de solicitudes de extracción cuando se requiera la aprobación de comentarios.
Para obtener más información consulte Creación de un proyecto de compilación (consola) y WebhookFilter en la Referencia de la API de CodeBuild .
