Skip to main content

Get started

Authentication​

To use the Build Promoter API, you need to authenticate with an access token with specific scopes.

Get an access token with supported scopes​

The Build Promoter API supports the following scopes:

ScopeDescription
buildpromoter.builds.readRetrieve information about builds with all the GET endpoints.
buildpromoter.builds.writePromote a build.
buildpromoter.builds.forcepromotePromote a build regardless of the quality gate status.

The above scopes need to be combined with the following scopes limiting the level of access by a tenant, star, or star system:

ScopeDescription
tenant.{TENANT_ID} + any.projectGet access to a specific tenant and any star to retrieve information about a build.
tenant.{TENANT_ID} + project.{STAR_ID}Get access to a specific tenant and a specific star to retrieve information about a build.
tenant.{TENANT_ID} + project.{STAR_ID} + any.planet_classGet access to a specific star to promote a build to pre-production and production star systems.
tenant.{TENANT_ID} + project.{STAR_ID} + planet_class.{dev|preprod|prod}Get access to a specific star system to promote a build. The chosen planet_class should be a type of the star system to which you promote a build.

Note:

To promote a build or promote a build regardless of the quality gate status, you need to have an access token with one of the following scopes:

  • any.planet_class
  • planet_class.{dev|preprod|prod}

To get an access token with scopes, you must authenticate with Guidewire Hub using your client ID and client secret. Send the following POST request:

curl -s --location --request POST ${GWHUB_URL} \
--data-urlencode "grant_type=client_credentials" \
--data-urlencode "scope=tenant.${TENANT_ID} project.${STAR_ID} ${SCOPES}" \
--data-urlencode "client_id=${GWHUB_CLIENT_ID}" \
--data-urlencode "client_secret=${GWHUB_CLIENT_SECRET}" | jq -r '.access_token'

Where:

  • ${GWHUB_URL} depends on your region. Use one of the following:

    RegionURL
    AMERhttps://guidewire-hub.okta.com/oauth2/aus11vix3uKEpIfSI357/v1/token
    BRAZILhttps://guidewire-hub.okta.com/oauth2/aus11vix3uKEpIfSI357/v1/token
    CANADAhttps://guidewire-hub.okta.com/oauth2/aus11vix3uKEpIfSI357/v1/token
    EMEAhttps://guidewire-hub-eu.okta.com/oauth2/ausc2q01c40dNZII0416/v1/token
    SWITZERLANDhttps://guidewire-hub-eu.okta.com/oauth2/ausc2q01c40dNZII0416/v1/token
    APAChttps://guidewire-hub-apac.okta.com/oauth2/ausbg05gfcTZQ7bpH3l6/v1/token
    JAPANhttps://guidewire-hub-apac.okta.com/oauth2/ausbg05gfcTZQ7bpH3l6/v1/token
  • ${SCOPES} is a list with at least one supported scope, separated by white spaces.

    Example: buildpromoter.builds.read buildpromoter.builds.write.


The response contains a JSON object with the requested access token:

Example response
{
"token_type": "Bearer",
"expires_in": 3600,
"access_token": "xxxxxxxx",
"scope": "scope=buildpromoter.builds.read tenant.${TENANT_ID} project.${STAR_ID}"
}

Make an authorized call​

To authorize the API requests, add the obtained access token to an Authorization header:

Authorization: Bearer ${ACCESS_TOKEN}

For example:

curl -s --location --request GET "${BUILD_PROMOTER_URL}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"

Base URLs​

Depending on your region, use one of the following base URLs:

RegionURL
AMERhttps://buildpromoter.api.omega2-andromeda.guidewire.net
BRAZILhttps://buildpromoter.api.omega2-sculptor.guidewire.net
CANADAhttps://buildpromoter.api.omega2-butterfly.guidewire.net
EMEAhttps://buildpromoter.api.omega2-cartwheel.guidewire.net
SWITZERLANDhttps://buildpromoter.api.omega2-whirlpool.guidewire.net
APAChttps://buildpromoter.api.omega2-circinus.guidewire.net
JAPANhttps://buildpromoter.api.omega2-milkyway.guidewire.net

When the documentation refers to {baseUrl}, replace it with the correct URL for your region.