Skip to main content

Get started

Authentication​

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

Before you begin​

If you use the Build Promoter API for the first time:

  1. Decide which scopes you need.
  2. Register the API in Guidewire Hub. For details on how to register the API, see Access Cloud Platform APIs in the Cloud Platform documentation.

If you already registered the Build Promoter API and obtained the necessary credentials:

  1. Get an access token with the supported scopes.
  2. Use the generated token to make an authorized call.

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}

Get an access token with supported scopes​

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.

    For details on how to get or extend scopes, see Access Cloud Platform APIs.

  • ${GWHUB_CLIENT_ID} is a unique identifier for the application that you use to obtain a token from Guidewire Hub. For details on how to get the client ID, see Access Cloud Platform APIs.

  • ${GWHUB_CLIENT_SECRET} is a secret for the application that you use to obtain a token from Guidewire Hub. For details on how to get the client secret, see Access Cloud Platform APIs.


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.