Configura webhooks

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

  1. Crea una instancia de Secure Source Manager.
  2. Crea un repositorio de Secure Source Manager.

Roles requeridos

Para obtener los permisos que necesitas para crear webhooks, pídele a tu administrador que te otorgue los siguientes roles de IAM:

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

  1. En la interfaz web de Secure Source Manager, navega al repositorio para el que deseas crear un webhook.
  2. Haz clic en Configuración.
  3. Haz clic en Webhooks y, luego, en Add webhook.
  4. En el campo ID de webhook, ingresa un ID para el webhook.

  5. 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.

  6. 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 restante key=... al campo Cadena de consulta sensible.

  7. 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.
  8. 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.

  9. Haz clic en Add webhook (Agregar webhook).

  10. El webhook se muestra en la página Webhooks.

Prueba tu webhook

  1. En la página Webhooks de Secure Source Manager, haz clic en el webhook que deseas probar.
  2. 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.

  3. También puedes usar un comando git para enviar o combinar una solicitud de extracción y probar el webhook.

  4. 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.

  5. 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.

  1. 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.

  2. Navega al panel de Cloud Build y, luego, haz clic en Activadores.

  3. Haz clic en el activador que quieras configurar.

  4. En la sección Avanzado, en Variables de sustitución, haz clic en + Agregar variable.

  5. 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 útil repository.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}
    

¿Qué sigue?