Skip to main content

Deploy applications

Learn how to use the EnterpriseEngage Deployments API to deploy all or selected EnterpriseEngage applications.

All the sample requests in this guide include the following path parameters:

Parameter nameDescription
tenantIdYour tenant ID.
starsystemID of a star system that includes the EnterpriseEngage applications that you deploy.
planetIdID of a planet to which you deploy applications.

Get a list of builds

To list all the builds for a particular EnterpriseEngage application within a star system, send the following GET request:

curl -X 'GET' \
'{baseURL}/api/v2/tenants/{tenant}/starsystems/{starsystem}/applications/{application}/builds' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {access_token}'

A response contains a JSON object with a list of available builds:

Example response
[
{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"buildNumber": 199,
"buildId": 986547,
"planet": "digidev",
"status": "SUCCESSFUL",
"gitInfo": {
"branch": "refs/heads/master",
"commitHash": "20adef2eea46f78f03d42907554060415d37123"
},
"link": "https://teamcity.acme.abc.guidewire.net/buildConfiguration/AcmeDev_DigitalPortals_BuildApplication/986547\n"
},
{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"buildNumber": 199,
"buildId": 123456,
"planet": "digidev",
"status": "SUCCESSFUL",
"gitInfo": {
"branch": "refs/heads/master",
"commitHash": "20adef2eea46f78f03d42907554060415d37123"
},
"link": "https://teamcity.acme.abc.guidewire.net/buildConfiguration/AcmeDev_DigitalPortals_BuildApplication/123456\n"
}
]

Deploy the applications

To deploy all or selected applications, send the following POST request:

curl -X 'POST' \
'{baseURL}/api/v2/tenants/{tenant}/starsystems/{starsystem}/planets/{planet}/activities/deployments' \
-H 'Content-Type:application/json' \
-H 'Authorization: Bearer {access_token}' \
-d '{body}'

Where {body} is an array of objects that represent EnterpriseEngage applications to deploy. For example, to deploy CustomerEngage Quote and Buy and CustomerEngage Account Management, use:

Request body
{
"timeout": 600,
"appInstances": [
{
"appId": "quote-and-buy",
"buildId": 123456,
"configOverride": {
"settings": {
"deploymentType": "CDN",
"rateLimits": {
"value": 60,
"unit": "MINUTE"
},
"apiTimeout": 60000
},
"parameters": {
"envVars": {
"var1": "val1",
"var2": "val2"
},
"responseHeaders": {
"Strict-Transport-Security": "max-age=31536000;",
"Access-Control-Allow-Origin": "*",
"X-GW-FooBar": "Baz"
},
"accessControlExposeHeaders": ["some-header", "another-header"]
},
"domains": ["some.domain.com"]
}
},
{
"appId": "account-manager",
"buildId": 123456,
"configOverride": {
"settings": {
"deploymentType": "CDN",
"rateLimits": {
"value": 60,
"unit": "MINUTE"
},
"apiTimeout": 60000
},
"parameters": {
"envVars": {
"var1": "val1",
"var2": "val2"
},
"responseHeaders": {
"Strict-Transport-Security": "max-age=31536000;",
"Access-Control-Allow-Origin": "*",
"X-GW-FooBar": "Baz"
},
"accessControlExposeHeaders": ["some-header", "another-header"]
},
"domains": ["some.domain.com"]
}
}
]
}

A response contains a JSON object with an activity ID.

Example response
{
"uuid": "000xx00-x0xx-0x00-0x0x-xx000x0x0x0xxx"
}
Tip: In CDN deployments, after you deploy the applications, you can make requests using GET method only. To use other methods, for example, for performance tests, add api. in the application URL:
<app-id>-<tenant>-<project>-<env>.api.<cluster>.guidewire.net

For details, see Application URL in GWCP documentation.

Check the deployment status

To check if the deployment is completed, send the following GET request:

curl -X 'GET' \
'{baseURL}/api/v2/tenants/{tenant}/starsystems/{starsystem}/planets/{planet}/activities/{uuid}' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {access_token}' \

As {uuid}, enter the activity ID that you received in a response to the POST deployment request.

A response contains a JSON object with the activity details. The deployment is completed when the value of status is SUCCESSFUL. If the deployment fails, you can try to deploy the applications with different builds.

Example response
{
"uuid": "000xx00-x0xx-0x00-0x0x-xx000x0x0x0xxx",
"activityType": "DEPLOYMENT",
"status": "SUCCESSFUL",
"startedOn": "2019-08-24T14:15:22Z",
"completedOn": "2019-08-24T14:15:22Z",
"triggeredBy": "string",
"tenant": "string",
"starsystem": "string",
"planet": "string",
"duration": 0,
"timeout": 600,
"source": "REST",
"tasks": [
{
...
}
]
}