CI/CD events for Quality Gates
CI/CD events are generated by the Continuous Integration/Continuous Deployment (CI/CD) pipelines. You can use them to integrate your quality requirements with the Guidewire Cloud as part of bring-your-own testing framework.
Subscribe to CI/CD events
To subscribe to CI/CD events, use the App Events Webhooks. For details, see the Webhooks documentation.
You can also use CI/CD event webhooks outside of bring-you-own testing. Webhooks allow you to get notifications about different CI/CD events in your pipeline.
Supported events
You can set up webhooks for the following CI/CD events:
BuildPromotedEvent
IsAppDeployedEvent
PullRequestOpenedEvent
PullRequestUpdatedEvent
RepositoryChangedEvent
CiBuildSuccessfulEvent
CiBuildFailedEvent
BuildPromotedEvent
The BuildPromotedEvent
event is triggered when a build for InsuranceSuite apps is promoted. Note that projectId
is the target physical star system to which a build is promoted.
BuildPromotedEvent
event, it might take a minute before the build becomes available for deployment.- Schema
- Field descriptions
- Payload example
{
"namespace": "com.guidewire.cicdmanagerservice.avro",
"type": "record",
"name": "BuildPromotedEvent",
"fields": [
{
"name": "tenantId",
"type": "string"
},
{
"name": "projectId",
"type": "string"
},
{
"name": "logicalProjectId",
"type": "string"
},
{
"name": "applicationId",
"type": "string"
},
{
"name": "buildId",
"type": "string"
},
{
"name": "branchKey",
"type": "string"
},
{
"name": "targetPlanetClass",
"type": "string"
}
]
}
Field name | Description |
---|---|
tenantId | ID of the tenant as it appears in Guidewire Home. |
projectId | ID of the target physical star system to which the build was promoted. |
logicalProjectId | ID of the logical star system for which the build was promoted. |
applicationId | ID of the app for which the build was promoted. |
buildId | ID of the promoted build as it is used in other Cloud Platform APIs. For example, in the IS Deployments API or in the Quality Gates API. |
branchKey | Fully-qualified name of the branch from which the promoted build was created. |
targetPlanetClass | Target planet class to which the build was promoted. |
{
"tenantId": "acme",
"projectId": "gwcppre",
"logicalProjectId": "gwcp",
"applicationId": "bc",
"buildId": "bc/1/1",
"branchKey": "refs/heads/master",
"targetPlanetClass": "preprod"
}
IsAppDeployedEvent
The IsAppDeployedEvent
event is triggered when a deployment process is successful, meaning that an InsuranceSuite app has been deployed to a planet within your star system.
- Schema
- Field descriptions
- Payload example
{
"namespace": "com.guidewire.cicdmanagerservice.avro",
"type": "record",
"name": "IsAppDeployedEvent",
"fields": [
{ "name": "tenantId", "type": "string" },
{ "name": "projectId", "type": "string" },
{ "name": "planetId", "type": "string" },
{ "name": "applicationId", "type": "string" },
{ "name": "buildId", "type": "string" },
{ "name": "commitHash", "type": "string" }
]
}
Field name | Description |
---|---|
tenantId | ID of the tenant as it appears in Guidewire Home. |
projectId | ID of the physical star system to which the app was deployed. |
planetId | ID of the planet to which the app was deployed. |
applicationId | ID of the app that was deployed. In the case of InsuranceSuite, it is the application code. |
buildId | ID of the build used in the deployment. The format is the same as the one used in other Cloud Platform APIs. For example, in the IS Deployments API or in the Quality Gates API. |
commitHash | Full 40-character hash of the commit that was used to construct the build used in the deployment. |
{
"tenantId": "acme",
"projectId": "nonprod",
"planetId": "development",
"applicationId": "bc",
"buildId": "bc/1/3",
"commitHash": "123b7ba691123abf123ae1236123123cb1232123"
}
PullRequestOpenedEvent
The PullRequestOpenedEvent
event is triggered by the following actions within the InsuranceSuite repositories in your star system:
- Creating a new pull request.
- Reopening an already existing pull request.
- Schema
- Field descriptions
- Payload example
{
"namespace": "com.guidewire.scmservice.avro",
"type": "record",
"name": "PullRequestOpenedEvent",
"fields": [
{
"name": "actor",
"type": {
"type": "record",
"name": "Actor",
"fields": [
{
"name": "emailAddress",
"type": "string"
},
{
"name": "displayName",
"type": "string"
}
]
}
},
{
"name": "pullRequest",
"type": {
"type": "record",
"name": "PullRequest",
"fields": [
{
"name": "fromRef",
"type": {
"type": "record",
"name": "Ref",
"fields": [
{
"name": "branchKey",
"type": "string"
},
{
"name": "repository",
"type": "string"
},
{
"name": "projectId",
"type": "string"
},
{
"name": "latestCommit",
"type": "string"
}
]
}
},
{
"name": "toRef",
"type": "Ref"
},
{
"name": "link",
"type": "string"
},
{
"name": "title",
"type": "string"
},
{
"name": "createdDate",
"type": "long"
}
]
}
}
]
}
Field name | Description |
---|---|
emailAddress | E-mail address of the Bitbucket user who opened the pull request. |
displayName | Name of the user who opened the pull request, as it appears in Bitbucket. |
fromRef.branchKey | Fully-qualified name of the source branch used to open the pull request. |
fromRef.repository | Name of the Bitbucket repository in which the pull request was opened. |
fromRef.projectId | ID of the Bitbucket project in which the pull request was opened. It matches the physical star system ID. |
fromRef.latestCommit | Full 40-character hash of the head commit on the source branch. |
toRef.branchKey | Fully-qualified name of the target branch for which the pull request is opened. |
toRef.repository | Name of the Bitbucket repository in which the pull request was opened. |
toRef.projectId | ID of the Bitbucket project in which the pull request was opened. It matches the physical star system ID. |
toRef.latestCommit | Full 40-character hash of the head commit on the target branch. |
toRef.link | Link to the pull request in Bitbucket. |
toRef.title | Title of the pull request, as it appears in Bitbucket. |
toRef.createdDate | Epoch timestamp in milliseconds, marking the opening of the pull request. |
{
"actor": {
"emailAddress": "user@guidewire.com",
"displayName": "John Doe"
},
"pullRequest": {
"fromRef": {
"branchKey": "refs/heads/master",
"repository": "ClaimCenter",
"projectId": "nonprod",
"latestCommit": "7a4e25a7c2c1452283542c5c3650b222f6121339"
},
"toRef": {
"branchKey": "refs/heads/develop",
"repository": "ClaimCenter",
"projectId": "nonprod",
"latestCommit": "8c6b3f525daa68b9e651661330b6ff637ac37b9a"
},
"link": "https://bitbucket.net/projects/NONPROD/repos/claimcenter/pull-requests/85",
"title": "Master",
"createdDate": 1705503712497
}
}
PullRequestUpdatedEvent
The PullRequestUpdatedEvent
event is triggered whenever changes are made to the source branch of a pull request in one of the InsuranceSuite repositories in your star system. These changes include the following:
- Pushing changes into a source branch.
- Rebasing a source branch into another branch.
- Merging another branch into a source branch.
Note that merging a pull request into a target branch doesn't trigger this event.
- Schema
- Field descriptions
- Payload example
{
"namespace": "com.guidewire.scmservice.avro",
"type": "record",
"name": "PullRequestUpdatedEvent",
"fields": [
{
"name": "actor",
"type": {
"type": "record",
"name": "Actor",
"fields": [
{
"name": "emailAddress",
"type": "string"
},
{
"name": "displayName",
"type": "string"
}
]
}
},
{
"name": "pullRequest",
"type": {
"type": "record",
"name": "PullRequest",
"fields": [
{
"name": "fromRef",
"type": {
"type": "record",
"name": "Ref",
"fields": [
{
"name": "branchKey",
"type": "string"
},
{
"name": "repository",
"type": "string"
},
{
"name": "projectId",
"type": "string"
},
{
"name": "latestCommit",
"type": "string"
}
]
}
},
{
"name": "toRef",
"type": "Ref"
},
{
"name": "link",
"type": "string"
},
{
"name": "title",
"type": "string"
},
{
"name": "createdDate",
"type": "long"
}
]
}
},
{
"name": "previousFromHash",
"type": "string"
}
]
}
Field name | Description |
---|---|
emailAddress | E-mail address of the Bitbucket user updating the pull request. |
displayName | Name of the user updating the pull request, as it appears in Bitbucket. |
fromRef.branchKey | Fully-qualified name of the source branch used in the pull request. |
fromRef.repository | Name of the Bitbucket repository in which the pull request was opened. |
fromRef.projectId | ID of the Bitbucket project in which the pull request was opened. It matches the physical star system ID. |
fromRef.latestCommit | Full 40-character hash of the head commit on the source branch. |
toRef.branchKey | Fully-qualified name of the target branch for which the pull request is created. |
toRef.repository | Name of the Bitbucket repository in which the pull request was opened. |
toRef.projectId | ID of the Bitbucket project in which the pull request was opened. It matches the physical star system ID. |
toRef.latestCommit | Full 40-character hash of the head commit on the target branch. |
link | Link to the pull request in Bitbucket. |
title | Title of the pull request, as it appears in Bitbucket. |
createdDate | Epoch timestamp in milliseconds marking the opening of the pull request. |
previousFromHash | Full 40-character hash of the head commit on the source branch before the update. |
{
"actor": {
"emailAddress": "user@guidewire.com",
"displayName": "Joe Doe"
},
"pullRequest": {
"fromRef": {
"branchKey": "refs/heads/source-branch",
"repository": "ClaimCenter",
"projectId": "nonprod",
"latestCommit": "3c75aeb704f163ab5a55d1dd96992dc77cc3ed39"
},
"toRef": {
"branchKey": "refs/heads/develop",
"repository": "ClaimCenter",
"projectId": "nonprod",
"latestCommit": "881f708e5490394112181c220c036aa4506dc001"
},
"link": "https://bitbucket.net/projects/NONPROD/repos/claimcenter/pull-requests/15",
"title": "Add a new feature",
"createdDate": 1705508145467
},
"previousFromHash": "964b5a281e6ca2e13af557960a81bf67e8187f3c"
}
RepositoryChangedEvent
The RepositoryChangedEvent
event is triggered by the following actions within the InsuranceSuite repositories in your star system:
- Pushing changes to a branch.
- Creating or deleting a branch.
- Creating or deleting a tag.
- Schema
- Field descriptions
- Payload example
{
"namespace": "com.guidewire.scmservice.avro",
"type": "record",
"name": "RepositoryChangedEvent",
"fields": [
{
"name": "actor",
"type": {
"type": "record",
"name": "Actor",
"fields": [
{
"name": "emailAddress",
"type": "string"
},
{
"name": "displayName",
"type": "string"
}
]
}
},
{
"name": "repository",
"type": "string"
},
{
"name": "projectId",
"type": "string"
},
{
"name": "changes",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "Change",
"fields": [
{
"name": "branchKey",
"type": "string"
},
{
"name": "fromHash",
"type": "string"
},
{
"name": "toHash",
"type": "string"
},
{
"name": "type",
"type": "string"
}
]
}
}
}
]
}
Field name | Description |
---|---|
emailAddress | E-mail address of the Bitbucket user who pushed the commits. |
displayName | Name of the user who pushed the commits, as it appears in Bitbucket. |
repository | Name of the Bitbucket repository in which the pull request was opened. |
projectId | ID of the Bitbucket project in which the pull request was opened. It matches the physical star system ID. |
changes | List of changes to the Git repository included in this event. |
branchKey | Fully-qualified name of the branch or tag affected by the change. |
fromHash | Full 40-character hash of the head commit on the affected branch or tag before the change. |
toHash | Full 40-character hash of the head commit on the affected branch or tag after the change (where applicable). |
type | Type of change. For example, |
{
"actor": {
"emailAddress": "user@guidewire.com",
"displayName": "Joe Doe"
},
"repository": "ClaimCenter",
"projectId": "nonprod",
"changes": [
{
"branchKey": "refs/heads/source-branch",
"fromHash": "43556ffc1833b8d85ea94e7ee526f8cd688a19a1",
"toHash": "0000000000000000000000000000000000000000",
"type": "DELETE"
}
]
}
CiBuildSuccessfulEvent
The CiBuildSuccessfulEvent
event is triggered when a TeamCity build for the InsuranceSuite app is finished successfully.
- Schema
- Field descriptions
- Payload example
{
"namespace": "com.guidewire.cicdmanagerservice.avro",
"type": "record",
"name": "CiBuildSuccessfulEvent",
"fields": [
{
"name": "tenantId",
"type": "string"
},
{
"name": "projectId",
"type": "string"
},
{
"name": "logicalProjectId",
"type": "string"
},
{
"name": "applicationId",
"type": "string"
},
{
"name": "ciToolBuildId",
"type": "string"
},
{
"name": "buildType",
"type": "string"
},
{
"name": "buildTypeName",
"type": "string"
},
{
"name": "buildNumber",
"type": "string"
},
{
"name": "branchKey",
"type": "string"
},
{
"name": "webUrl",
"type": "string"
},
{
"name": "triggeredType",
"type": "string"
},
{
"name": "finishDate",
"type": "string"
},
{
"name": "commitHash",
"type": "string"
}
]
}
Field name | Description |
---|---|
tenantId | ID of the tenant as it appears in the Guidewire Home. |
projectId | ID of the physical star system for which the TeamCity build was executed. |
logicalProjectId | ID of the logical star system for which the TeamCity build was executed. |
applicationId | ID of the app for which the TeamCity build was executed. |
ciToolBuildId | Internal unique ID of the TeamCity build. |
buildType | Internal code representing the type of the TeamCity build that was executed. |
buildTypeName | Display name of build type for which the TeamCity build was executed. |
buildNumber | TeamCity build number. |
branchKey | Fully-qualified name of the branch on which the TeamCity build was executed. |
webUrl | Full web link to access the TeamCity build. |
triggeredType | Type of trigger that executed the TeamCity build: AUTOMATIC , SCHEDULED , MANUAL , RESTARTED , UNKNOWN . |
finishDate | Date and time when the TeamCity build was finished. |
commitHash | Full 40-character hash of the commit on which the TeamCity build was executed. |
{
"tenantId": "acme",
"projectId": "gwcpdev",
"logicalProjectId": "gwcp",
"applicationId": "cm",
"ciToolBuildId": "12345",
"buildType": "DOCKERIZE_IS",
"buildTypeName": "Dockerize Application",
"buildNumber": "10",
"branchKey": "refs/heads/master",
"webUrl": "https://teamcity.acme.cluster.guidewire.net/buildConfiguration/gwcpdev_ContactManager_DockerizeApp/12345",
"triggeredType": "AUTOMATIC",
"finishDate": "2024-08-19T10:17:48Z",
"commitHash": "32a9e1c2faa556ffce9956bd054a951090478603"
}
CiBuildFailedEvent
The CiBuildFailedEvent
event is triggered when a TeamCity build for the InsuranceSuite app is finished with failure.
- Schema
- Field descriptions
- Payload example
{
"namespace": "com.guidewire.cicdmanagerservice.avro",
"type": "record",
"name": "CiBuildFailedEvent",
"fields": [
{
"name": "tenantId",
"type": "string"
},
{
"name": "projectId",
"type": "string"
},
{
"name": "logicalProjectId",
"type": "string"
},
{
"name": "applicationId",
"type": "string"
},
{
"name": "ciToolBuildId",
"type": "string"
},
{
"name": "buildType",
"type": "string"
},
{
"name": "buildTypeName",
"type": "string"
},
{
"name": "buildNumber",
"type": "string"
},
{
"name": "branchKey",
"type": "string"
},
{
"name": "webUrl",
"type": "string"
},
{
"name": "triggeredType",
"type": "string"
},
{
"name": "finishDate",
"type": "string"
},
{
"name": "commitHash",
"type": "string"
}
]
}
Field name | Description |
---|---|
tenantId | ID of the tenant as it appears in the Guidewire Home. |
projectId | ID of the physical star system for which the TeamCity build was executed. |
logicalProjectId | ID of the logical star system for which the TeamCity build was executed. |
applicationId | ID of the app for which the TeamCity build was executed. |
ciToolBuildId | Internal unique ID of the TeamCity build. |
buildType | Internal code representing the type of the TeamCity build that was executed. |
buildTypeName | Display name of build type for which the TeamCity build was executed. |
buildNumber | TeamCity build number. |
branchKey | Fully-qualified name of the branch on which the TeamCity build was executed. |
webUrl | Full web link to access the TeamCity build. |
triggeredType | Type of trigger that executed the TeamCity build: AUTOMATIC , SCHEDULED , MANUAL , RESTARTED , UNKNOWN . |
finishDate | Date and time when the TeamCity build was finished. |
commitHash | Full 40-character hash of the commit on which the TeamCity build was executed. |
{
"tenantId": "acme",
"projectId": "gwcpdev",
"logicalProjectId": "gwcp",
"applicationId": "cm",
"ciToolBuildId": "12345",
"buildType": "DOCKERIZE_IS",
"buildTypeName": "Dockerize Application",
"buildNumber": "10",
"branchKey": "refs/heads/master",
"webUrl": "https://teamcity.acme.cluster.guidewire.net/buildConfiguration/gwcpdev_ContactManager_DockerizeApp/12345",
"triggeredType": "AUTOMATIC",
"finishDate": "2024-08-19T10:17:48Z",
"commitHash": "32a9e1c2faa556ffce9956bd054a951090478603"
}