This page describes how to use Cloud Deploy service notifications, including how to subscribe to them.
Cloud Deploy uses Pub/Sub to publish notifications for two purposes:
-
To let you integrate Cloud Deploy with third-party tools and other Google tools, such as tools for workflow ticketing or test infrastructure.
-
To extend Cloud Deploy with supplemental business logic.
Available topics
Cloud Deploy publishes messages to the following set of Google Pub/Sub topics:
-
clouddeploy-resourcesWhen there is an operation (create, update, delete) against any Cloud Deploy core resource (automation, custom target type, delivery pipeline, job run, release, rollout, target).
-
clouddeploy-operations- When Cloud Deploy renders the Skaffold configuration.
- When Cloud Deploy deploys to a target (
Start,Succeed,Failure,Terminated(job run),Cancelled(rollout)).
-
clouddeploy-approvals- When Cloud Deploy needs an approval (or rejection) of a rollout.
- When a rollout has been approved or rejected.
-
clouddeploy-advances- When a Cloud Deploy rollout has been advanced from one phase to the next.
- When a rollout is ready to be advanced.
You can use a push or pull model for your Pub/Sub subscriptions.
Receive Cloud Deploy service notifications
To receive Cloud Deploy service notifications:
-
Enable the Cloud Deploy API for your project:
-
Enable the Pub/Sub API:
-
Create the Pub/Sub topic or topics, based on which notification types you want to receive:
gcloud pubsub topics create clouddeploy-resources gcloud pubsub topics create clouddeploy-operations gcloud pubsub topics create clouddeploy-approvals gcloud pubsub topics create clouddeploy-advancesTo learn more about managing Pub/Sub topics, see Create a topic .
Subscribe to Cloud Deploy service notifications
You can configure Cloud Deploy service notifications for push subscriptions and pull subscriptions . To learn how to set up Pub/Sub subscriptions for these notifications, see Choose a subscription type . You can also learn about Pub/Sub Client Libraries , which make developing subscriber applications easier.
Field values
This section lists possible values for fields in the Cloud Deploy Pub/Sub messages.
For Action
In these notifications, the possible values for Action
are as follows.
-
For resources
-
Create -
Update -
Delete
-
-
For operations:
-
Start -
Succeed -
Failure -
Terminated -
Cancelled
-
-
For approvals:
-
Required -
Approved -
Rejected
-
-
For advances:
-
Required -
Advanced
-
For ResourceType
And the possible values for ResourceType
are as follows:
-
DeliveryPipeline -
Target -
Release -
Rollout -
JobRun
Sample messages
The following examples show several types of Pub/Sub messages from Cloud Deploy topics.
Delivery pipeline create
The following is an example of a Pub/Sub message published to clouddeploy-resources
in response to creation of a new deliveryPipeline
:
{
"ackId": "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQBQgUBXx9cEFMdVhddmhRDRlyfWByY11AAgVMVnldURsHaE5tdR_Wg6LHS0NVaF4TBgpGVX5fXx0IYVtedi_m7r_2wPXOXkAvOYXL6Mtpe735h9xvZiM9XxJLLD5-IzRFQV5AEkwoAURJUytDCypYEU4EISE-MD5FUw",
"message": {
"attributes": {
"Action": "Create",
"Resource": "projects/120123456789/locations/us-central1/deliveryPipelines/etest",
"ResourceType": "DeliveryPipeline",
"Location": "us-central1",
"DeliveryPipelineId": "etest",
"ProjectNumber": "120123456789",
},
"messageId": "2407836004659723",
"publishTime": "2021-05-17T21:24:48.204Z"
}
}
Render start
The following is an example of a Pub/Sub message published to clouddeploy-operations
to notify that a release has been rendered:
{
"ackId": "U0RQBhYsXUZIUTcZCGhRDk9eIz81IChFFwYIFAV8fXBBTHVeXHRoUQ0Zcn1gcmNfR1MLFlN5WFEaB2hObXUfioKix0tDVWheEwYKRVZ3W1kdBGFVXH0v_qD5rMP1zl5AKDnZyujLaXudkqxfZiM9XxJLLD5-PTNFQV5AEkw2BkRJUytDCypYEU4EISE-MD5F",
"message": {
"attributes": {
"Action": "Start",
"Resource": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2",
"ResourceType": "Release"
"Location": "us-central1",
"DeliveryPipelineId": "etest",
"ProjectNumber": "120123456789",
"ReleaseId": "f2",
},
"messageId": "2407805942699908",
"publishTime": "2021-05-17T21:28:04.201Z"
}
}
Approval required
The following is an example of a Pub/Sub message published to clouddeploy-approvals
to notify that a rollout requires approval:
{
"ackId": "RVNEUAYWLF1GSFE3GQhoUQ5PXiM_NSAoRRILUxNRXHQBWhBpWF8aB1ENGXJ8ZnxtCRBVU0FWf1VbEQ16bVxti6C2rERfQXduWhQJBkBXd11aHQhoXF9dotnkpeTv2kFwYSuN8_7mSH_Mo6AYZiA9XBJLLD5-IzZFQV5AEkwoA0RJUytDCypYEU4EISE-MD4",
"message": {
"attributes": {
"Action": "Required",
"Rollout": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2/rollouts/rollout-123"
"ReleaseId": "f2",
"RolloutId": "rollout-123",
"TargetId": "prod",
"Location": "us-central1",
"ProjectNumber": "120123456789",
},
"messageId": "2407845492165003",
"publishTime": "2021-05-17T21:31:25.143Z"
}
}
Rollout advance
The following is an example of a Pub/Sub message published to clouddeploy-advances
to notify that a rollout has been advanced from one phase
to the next:
{
"ackId": "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUSAwVPAihdeTFXKkFZdWhRDRlyfWB9bV4UUFZMV38OURoHaE5tdR_z4ILjS0NVbVkQBApEUHldXhkEa1RcfC-a0fmv1OzMV0AvOaCoyO9pe77r3NluZiM9XhJLLD5-Jz1FQV5AEkwsCERJUytDCypYEU4EISE-MD5FUw",
"message": {
"attributes": {
"Action": "Advanced",
"Location": "us-central1",
"PhaseId": "stable",
"ProjectNumber": "120123456789",
"ReleaseId": "rollout-123",
"Rollout": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2/rollouts/rollout-123",
"RolloutId": "rollout-123",
"TargetId": "prod"
},
"messageId": "7335813725293809",
"publishTime": "2023-04-03T15:16:30.425Z"
}
}
In this message, PhaseId
identifies the phase that the rollout has been
advanced to.

