Configurar webhooks

En esta página se describe cómo configurar webhooks en Secure Source Manager.

Los webhooks son solicitudes HTTP activadas por un evento en Secure Source Manager y enviadas a una URL especificada por el usuario.

Antes de empezar

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

Roles obligatorios

Para obtener los permisos que necesitas para crear webhooks, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Para obtener información sobre cómo conceder roles de Secure Source Manager, consulta los artículos Control de acceso con gestión de identidades y accesos y Conceder acceso a instancias a los usuarios.

Configurar un webhook

  1. En la interfaz web de Gestor de fuentes seguras, vaya al repositorio para el que quiera crear un webhook.
  2. Haz clic en Settings (Configuración).
  3. Haz clic en Webhooks y, a continuación, en Add webhook (Añadir webhook).
  4. En el campo ID de gancho, introduce un ID para el webhook.

  5. En el campo URL de destino, introduce la URL del webhook. Por ejemplo, si quieres activar una compilación en Jenkins, puedes configurar un activador de webhook y, a continuación, introducir la URL del activador de Jenkins para activar la compilación en Jenkins.

  6. Si la URL del webhook contiene los valores de clave y secreto que introdujiste al crear el activador del webhook, elimínalos del final de la URL de destino y cópialos en el campo Cadena de consulta sensible.

    Para encontrar la clave y el secreto en la URL del webhook, busca el texto que empieza por 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 elimina la parte que empieza por el signo de interrogación ?key=... del campo URL de destino. A continuación, quite el signo de interrogación inicial y mueva la parte restante key=... al campo Cadena de consulta sensible.

  7. En la sección Activar con, seleccione una de las siguientes opciones:

    • Push: se activa cuando se inserta contenido en el repositorio.
    • Estado de solicitud de extracción cambiado: se activa cuando cambia el estado de una solicitud de extracción.
  8. Si ha seleccionado Push, puede introducir una lista de permitidos para los eventos push en el campo Filtro de rama.

    El campo Filtro de rama usa el patrón glob y solo las operaciones en las ramas coincidentes activarán una compilación. Si el campo está vacío o es *, se registran los eventos push de todas las ramas. Para obtener información sobre la sintaxis, consulta la documentación de glob.

  9. Haz clic en Añadir webhook.

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

Probar el webhook

  1. En la página Webhooks (Webhooks) de Secure Source Manager, haga clic en el webhook que quiera probar.
  2. Ve a la parte inferior de la página y haz clic en Probar publicación.

    Se añade un evento de marcador de posición a la cola de entrega. Puede tardar unos segundos en aparecer en el historial de envíos.

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

  4. Comprueba el estado de la compilación o el evento activado en el historial de compilaciones del servicio en el que has configurado el activador de webhook.

  5. También puedes ver la solicitud y la respuesta de la prueba de entrega en la sección Entregas recientes de la página de webhook de Gestor de Fuentes Seguras después de enviar tu primera prueba de entrega.

Sustituir variables YAML de Cloud Build por datos de carga útil

Si usas webhooks para conectarte a Cloud Build, puedes sustituir las variables YAML de Cloud Build por datos de la carga útil del webhook de Secure Source Manager.

  1. En la página Webhooks de Gestor de fuentes seguras, en la sección Entregas recientes, haz clic en la fila superior.

    Se muestran el encabezado Request y el contenido enviados por la carga útil del webhook.

  2. Ve al panel de control de Cloud Build y haz clic en Activadores.

  3. Haz clic en el activador que quieras configurar.

  4. En la sección Avanzado, en Variables de sustitución, haga clic en + Añadir variable.

  5. Introduce 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 Cloud Build YAML, introduce 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 es similar 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}
    

Siguientes pasos