En esta página, se describe cómo configurar webhooks en Secure Source Manager.
Los webhooks son solicitudes HTTP que se activan por un evento en Secure Source Manager y se envían a una URL especificada por el usuario.
Antes de comenzar
Roles requeridos
Para obtener los permisos que necesitas para crear webhooks, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Administrador de repositorios de Secure Source Manager (
roles/securesourcemanager.repoAdmin
) en el repositorio de Secure Source Manager -
Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor
) en la instancia de Secure Source Manager
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Para obtener información sobre cómo otorgar roles de Secure Source Manager, consulta Control de acceso con IAM y Cómo otorgar acceso a la instancia a los usuarios.
Configura un webhook
- En la interfaz web de Secure Source Manager, navega al repositorio para el que deseas crear un webhook.
- Haz clic en Configuración.
- Haz clic en Webhooks y, luego, en Add webhook.
En el campo ID de webhook, ingresa un ID para el webhook.
En el campo URL de destino, ingresa la URL del webhook. Por ejemplo, si deseas activar una compilación en Jenkins, puedes configurar un activador de webhook y, luego, ingresar la URL del activador de Jenkins aquí para activar la compilación en Jenkins.
Si la URL de webhook contiene los valores de clave y secreto que ingresaste cuando creaste el activador de webhook, quítalos del final de la URL de destino y cópialos en el campo Cadena de consulta sensible.
Para ubicar la clave y el secreto en la URL del webhook, busca el texto que comienza con
key=
.Por ejemplo, dada la siguiente URL:
https://cloudbuild.googleapis.com/v1/projects/my-project/triggers/test-trigger:webhook?key=eitIfKhYnv0LrkdsyHqIros8fbsheKRIslfsdngf&secret=Hello%20Secret%20Manager
Copia y quita la parte que comienza con el signo de interrogación
?key=...
del campo URL de destino. Luego, quita el signo de interrogación inicial y mueve la parte restantekey=...
al campo Cadena de consulta sensible.En la sección Activador, selecciona una de las siguientes opciones:
- Push: Se activa cuando se envía un cambio al repositorio.
- Pull request state changed: Se activa cuando cambia el estado de la solicitud de extracción.
Si seleccionaste Push, puedes ingresar una lista de entidades permitidas para los eventos de envío en el campo Filtro de rama.
El campo Branch filter usa el patrón glob, y solo las operaciones en las ramas que coincidan activarán una compilación. Si el campo está vacío o es
*
, se informarán los eventos push para todas las ramas. Para obtener información sobre la sintaxis, consulta la documentación de glob.Haz clic en Add webhook (Agregar webhook).
El webhook se muestra en la página Webhooks.
Prueba tu webhook
- En la página Webhooks de Secure Source Manager, haz clic en el webhook que deseas probar.
Ve a la parte inferior de la página y haz clic en Probar la entrega.
Se agrega un evento de marcador de posición a la cola de entrega. Es posible que tarde unos segundos en aparecer en el historial de entrega.
También puedes usar un comando
git
para enviar o combinar una solicitud de extracción y probar el webhook.Verifica el estado de la compilación o el evento activado en el historial de compilaciones del servicio en el que configuraste el activador de webhook.
También puedes ver la Solicitud y la Respuesta a la publicación de prueba en la sección Publicaciones recientes de la página de webhook de Secure Source Manager después de enviar tu primera publicación de prueba.
Sustituye las variables YAML de Cloud Build por datos de carga útil
Si usas webhooks para conectarte a Cloud Build, puedes reemplazar las variables de YAML de Cloud Build por datos de la carga útil del webhook de Secure Source Manager.
En la página Webhooks de Secure Source Manager, en la sección Recent deliveries, haz clic en la primera fila.
Se muestran el encabezado Request y el contenido que envió la carga útil del webhook.
Navega al panel de Cloud Build y, luego, haz clic en Activadores.
Haz clic en el activador que quieras configurar.
En la sección Avanzado, en Variables de sustitución, haz clic en + Agregar variable.
Ingresa el nombre y el valor de la variable. El prefijo del valor es
body
.Por ejemplo, para sustituir
_REPO_URL
por el campo de datos de la carga útilrepository.clone_url
y_COMMIT_SHA
por el SHA de la confirmación más reciente en el archivo YAML de Cloud Build, ingresa los siguientes nombres y valores:- Variable 1:
_REPO_URL
Valor 1:$(body.repository.clone_url)
- Variable 2:
_COMMIT_SHA
Valor 2:$(body.after)
El archivo YAML de Cloud Build se parece al siguiente:
steps: - name: gcr.io/cloud-builders/git env: - '_REPO_URL=$_REPO_URL' - '_COMMIT_SHA=$_COMMIT_SHA' script: | #!/bin/sh git clone ${_REPO_URL} /workspace cd /workspace git reset --hard ${_COMMIT_SHA}
- Variable 1: