Cette page explique comment configurer des webhooks dans Secure Source Manager.
Les webhooks sont des requêtes HTTP déclenchées par un événement dans Secure Source Manager et envoyées à une URL spécifiée par l'utilisateur.
Avant de commencer
Rôles requis
Pour obtenir les autorisations nécessaires pour créer des webhooks, demandez à votre administrateur de vous accorder les rôles IAM suivants :
- Administrateur de dépôts Secure Source Manager (
roles/securesourcemanager.repoAdmin) sur le dépôt Secure Source Manager - Accesseur d'instances Secure Source Manager (
roles/securesourcemanager.instanceAccessor) sur l'instance Secure Source Manager
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour en savoir plus sur l'attribution de rôles Secure Source Manager, consultez Contrôle des accès avec IAM et Accorder aux utilisateurs l'accès à une instance.
Configurer un webhook
- Dans l'interface Web de Secure Source Manager, accédez au dépôt pour lequel vous souhaitez créer un webhook.
- Cliquez sur Paramètres.
- Cliquez sur Webhooks, puis sur Ajouter un webhook.
Dans le champ ID du hook, saisissez un ID pour le webhook.
Dans le champ URL cible, saisissez l'URL du webhook. Par exemple, si vous souhaitez déclencher une compilation dans Jenkins, vous pouvez configurer un déclencheur de webhook, puis saisir l'URL du déclencheur Jenkins ici pour déclencher votre compilation dans Jenkins.
Si l'URL du webhook contient les valeurs de clé et de secret que vous avez saisies lorsque vous avez créé votre déclencheur de webhook, supprimez-les de la fin de l'URL cible et copiez-les dans le champ Chaîne de requête sensible.
Pour trouver votre clé et votre secret dans l'URL de votre webhook, recherchez le texte commençant par
key=.Par exemple, pour l'URL suivante :
https://cloudbuild.googleapis.com/v1/projects/my-project/triggers/test-trigger:webhook?key=eitIfKhYnv0LrkdsyHqIros8fbsheKRIslfsdngf&secret=Hello%20Secret%20ManagerCopiez et supprimez la partie commençant par le point d'interrogation
?key=...du champ URL cible. Supprimez ensuite le point d'interrogation initial et déplacez la partie restantekey=...vers le champ Chaîne de requête sensible.Dans la section Déclencher sur, sélectionnez l'une des options suivantes :
- Déployer : pour déclencher un déploiement vers le dépôt.
- État de la demande d'extraction modifié : pour déclencher une modification de l'état de la demande d'extraction.
Si vous avez sélectionné Déployer, vous pouvez saisir une liste d'autorisation pour les événements de déploiement dans le champ Filtre de branche.
Le champ Filtre de branche utilise le modèle glob et seules les opérations sur les branches correspondantes déclenchent une déclencheur de compilation. Par exemple,
{main,dev}se déclenche sur les événements de déploiement vers les branchesmainetdev. Si le champ est vide ou contient*, les événements de déploiement pour toutes les branches sont signalés. Pour en savoir plus sur la syntaxe, consultez la documentation glob.Cliquez sur Ajouter un webhook.
Le webhook s'affiche sur la page Webhooks.
Tester votre webhook
- Sur la page Webhooks de Secure Source Manager, cliquez sur le webhook que vous souhaitez tester.
En bas de la page, cliquez sur Tester la diffusion.
Un événement d'espace réservé est ajouté à la file d'attente de diffusion. Son affichage dans l'historique de diffusion peut prendre quelques secondes.
Vous pouvez également utiliser une commande
gitpour transmettre ou fusionner une demande d'extraction afin de tester le webhook.Vérifiez l'état de la compilation ou de l'événement déclenché dans l'historique de compilation du service dans lequel vous avez configuré votre déclencheur de webhook.
Vous pouvez également afficher la Requête et la Réponse à la diffusion de test dans la section Diffusions récentes de la page de webhook Secure Source Manager après avoir envoyé votre première diffusion de test.
Remplacer les variables YAML de Cloud Build par des données utiles
Si vous utilisez des webhooks pour vous connecter à Cloud Build, vous pouvez remplacer les variables YAML de Cloud Build par des données utiles de webhook Secure Source Manager.
Sur la page Webhooks de Secure Source Manager, dans la section Diffusions récentes, cliquez sur la ligne supérieure.
L'en-tête et le contenu de la Requête envoyés par les données utiles du webhook s'affichent.
Accédez au tableau de bord Cloud Build, puis cliquez sur Déclencheurs.
Cliquez sur le déclencheur que vous souhaitez configurer.
Dans la section avancée, sous Variables de substitution, cliquez sur + Ajouter une variable.
Saisissez le nom et la valeur de la variable. Le préfixe de la valeur est
body.Par exemple, pour remplacer
_REPO_URLpar le champ de données utilesrepository.clone_urlet_COMMIT_SHApar le dernier SHA de commit dans Cloud Build YAML, saisissez les noms et valeurs suivants :- Variable 1 :
_REPO_URLValeur 1 :$(body.repository.clone_url) - Variable 2 :
_COMMIT_SHAValeur 2 :$(body.after)
Le fichier YAML de Cloud Build ressemble à ce qui suit :
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 :