Notifications Cloud Pub/Sub pour Google Cloud Source Repositories

Cette page est une présentation de Notifications Cloud Pub/Sub pour Google Cloud Source Repositories. Pour apprendre à configurer et utiliser la fonctionnalité Notifications Cloud Pub/Sub, consultez la section Configurer les notifications Cloud Pub/Sub.

Cloud Source Repositories publie des messages concernant votre dépôt dans des ressources nommées appelées sujets. Ces messages sont reçus par les applications abonnées aux sujets Cloud Pub/Sub. Les applications d'abonnés reçoivent des notifications lorsque l'état du dépôt change. En outre, vous pouvez configurer des rôles et des autorisations pour vos sujets Cloud Pub/Sub afin de contrôler la manière dont les utilisateurs interagissent avec les événements Cloud Pub/Sub générés par le dépôt.

Champ d'application

Vous pouvez configurer Cloud Source Repositories pour publier des événements dans un sujet Cloud Pub/Sub. Vous pouvez effectuer cette configuration pour un projet GCP complet ou un dépôt individuel.

Autorisations

Vous pouvez utiliser le contrôle des accès de Cloud Pub/Sub pour configurer les autorisations de votre projet et vos ressources. Vous pouvez utiliser les contrôles d'accès pour sécuriser les données d'événement générées par votre dépôt.

Vous pouvez configurer les contrôles d'accès de Cloud Pub/Sub sur la page IAM de la console GCP ou via l'API IAM.

Cloud Source Repositories utilise le compte de service Compute Engine par défaut pour publier une notification dans votre sujet Cloud Pub/Sub. Ce compte de service dispose des autorisations nécessaires pour publier des messages dans des sujets Cloud Pub/Sub. Vous pouvez sélectionner un autre compte de service à l'aide des outils de ligne de commande gcloud.

Pour configurer les autorisations d'abonnement, utilisez l'un des rôles suivants :

  • roles/owner
  • roles/editor
  • roles/pubsub.admin
  • roles/pubsub.editor
  • roles/pubsub.subscriber

Types d'événement

Vous pouvez utiliser les notifications Cloud Pub/Sub pour être informé lorsqu'un utilisateur crée ou supprime un dépôt et transfère un commit vers un dépôt. Chaque événement est associé à un type d'événement spécifique. Le tableau suivant répertorie les types de mise à jour et les définitions correspondantes.

Type d'événement Description
CreateRepo Se produit lorsqu'un utilisateur crée un dépôt.
RefUpdate Se produit lorsqu'un utilisateur exécute une commande git push.
DeleteRepo Se produit lorsqu'un utilisateur supprime un dépôt.

Format des notifications

Vous pouvez configurer une notification Cloud Pub/Sub pour que Cloud Source Repositories utilise l'un des deux formats suivants :

  • JSON
  • Protocol Buffers

Données des notifications

Chaque notification Cloud Pub/Sub contient les informations suivantes sur un événement :

Nom du champ Description
name Nom du dépôt.
url URL du dépôt.
eventTime Heure à laquelle la modification s'est produite.
refUpdateEvent Informations sur la modification spécifique.
createRepoEvent Indique si un utilisateur a créé un dépôt.
deleteRepoEvent Indique si un utilisateur a supprimé un dépôt.

Si la notification concerne une commande git push, elle contient le champ refUpdateEvent contenant les informations suivantes :

Nom du champ Description
email Adresse e-mail de l'utilisateur qui a effectué la modification.
refUpdates Informations sur le commit.

Le champ refUpdate contient les détails suivants sur la commande git push :

Nom du champ Description
refName Nom de la branche.
updateType Type de mise à jour. Consultez la section Types de mise à jour pour en savoir plus.
oldId ID du commit précédent du dépôt.
newId Nouvel ID du dépôt.

Types de mise à jour

Un événement git push possède l'un des quatre types de mise à jour. Vous pouvez trouver le type dans le champ updateType de la notification.

Types de mise à jour Description
CREATE Se produit lorsque la commande crée une nouvelle référence.
UPDATE_FAST_FORWARD Se produit lorsque la commande met à jour un objet.
UPDATE_NON_FAST_FORWARD Se produit lorsque la commande utilise l'indicateur -f, tel que git push -f.
DELETE Se produit lorsque la commande supprime une référence.

Exemple de notification

Vous trouverez ci-dessous un exemple des données contenues dans une notification Cloud Pub/Sub. Cette notification utilise le format JSON.

"name": "projects/test-project/repos/pubsub-test",
"url": "[URL_PATH]",
"eventTime": "2018-02-21T21:23:25.566175Z",
"refUpdateEvent": {
  "email": "someone@somecompany.com",
  "refUpdates": {
    "refs/heads/master": {
    "refName": "refs/heads/master",
    "updateType": "UPDATE_FAST_FORWARD",
    "oldId": "c7a28dd5de3403cc384a025834c9fce2886fe763",
    "newId": "f00768887da8de62061210295914a0a8a2a38226"
    }
  }
}
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Cloud Source Repositories