Puede utilizar grupos de filtros de webhooks para especificar qué eventos de webhook de GitLab van a desencadenar una compilación. Por ejemplo, es posible especificar que se desencadene una compilación solo con cambios en ramificaciones específicas.
Puede crear uno o varios grupos de filtros de webhooks para especificar qué eventos de webhooks van a desencadenar una compilación. Se activa una compilación si algún grupo de filtros da true como resultado, lo que ocurre cuando todos los filtros del grupo dan este resultado. Cuando cree un grupo de filtros, deberá especificar:
- Un evento
-
En GitLab, puede elegir uno o varios de los siguientes eventos:
PUSH
,PULL_REQUEST_CREATED
,PULL_REQUEST_UPDATED
,PULL_REQUEST_MERGED
,PULL_REQUEST_REOPENED
,PULL_REQUEST_CLOSED
,RELEASED
yWORKFLOW_JOB_QUEUED
.El tipo de evento de webhook está en su encabezado en el campo
X-GitLab-Event
. En la siguiente tabla se muestra cómo los valores del encabezadoX-GitLab-Event
se asignan a los tipos de eventos. En el evento de webhookMerge Request Hook
, el valorobject_atttributes.action
de la carga útil contendrá información adicional sobre el tipo de solicitud de combinación.Valor del encabezado X-GitLab-Event
object_atttributes.action
Tipo de evento Push Hook
N/A
PUSH
Merge Request Hook
open
PULL_REQUEST_CREATED
Merge Request Hook
actualización
PULL_REQUEST_UPDATED
Merge Request Hook
cerrar, combinar
PULL_REQUEST_MERGED
Merge Request Hook
reabrir
PULL_REQUEST_REOPENED
Merge Request Hook
close
PULL_REQUEST_CLOSED
Release Hook
crear, actualizar
RELEASED
Job Hook
N/A
WORKFLOW_JOB_QUEUED
Para
PULL_REQUEST_MERGED
, si una solicitud de extracción se fusiona con la estrategia de compresión y la rama de solicitudes de extracción se cierra, la confirmación original de la solicitud de extracción deja de existir. En este caso, la variable de entornoCODEBUILD_WEBHOOK_MERGE_COMMIT
contiene el identificador de la confirmación de fusión anulada. - Uno o más filtros opcionales
-
Utilice una expresión regular para especificar los filtros. En el caso de los eventos que desencadenan una compilación, todos los filtros de un grupo asociados con ellos deben dar true como resultado.
ACTOR_ACCOUNT_ID
(ACTOR_ID
en la consola)-
Un evento de webhook desencadena una compilación cuando el ID de una cuenta de GitLab coincide con el patrón de la expresión regular. Este valor se encuentra en la propiedad
account_id
del objetoactor
de la carga del filtro de webhook. HEAD_REF
-
Un evento de webhook desencadena una compilación cuando la referencia del encabezado coincide con el patrón de la expresión regular (por ejemplo,
refs/heads/branch-name
yrefs/tags/tag-name
). Un filtroHEAD_REF
evalúa el nombre de referencia de Git de la ramificación o etiqueta. El nombre de la ramificación o la etiqueta se encuentra en el camponame
del objetonew
incluido en el objetopush
de la carga del webhook. En el caso de los eventos de las solicitudes de extracción, el nombre de la ramificación se encuentra en el camponame
del objetobranch
incluido en el objetosource
de la carga del webhook. BASE_REF
-
Un evento de webhook desencadena una compilación cuando la referencia de base coincide con el patrón de la expresión regular. Un filtro
BASE_REF
solamente funciona con eventos de solicitudes de extracción (por ejemplo,refs/heads/branch-name
). Un filtroBASE_REF
evalúa el nombre de referencia de Git de la ramificación. El nombre de la ramificación se encuentra en el camponame
del objetobranch
incluido en el objetodestination
de la carga del webhook. FILE_PATH
-
Un webhook desencadena una compilación cuando la ruta de un archivo modificado coincide con el patrón de la expresión regular.
COMMIT_MESSAGE
-
Un webhook desencadena una compilación cuando el mensaje de confirmación del encabezado coincide con la expresión regular.
WORKFLOW_NAME
-
Un webhook desencadena una compilación cuando el nombre del flujo de trabajo coincide con el patrón de expresión regular.
nota
Puede encontrar la carga útil de webhook en la configuración de webhook del repositorio de GitLab.