Skip to content
  • There are no suggestions because the search field is empty.

Guide to implementing release automation API

This article applies to Team and Legacy editions.

This article explains how to integrate Centercode’s Release Management with your build and release automation tools using the Release API. If you’re unsure about leveraging this integration for your Delta testing purposes, we recommend that you contact Centercode’s Support Team via in-site chat or email - help@centercode.com, or seek out a technical contact within your organization. 

Why should I integrate with Centercode?

Ensuring that your software or firmware builds are released in a timely manner is crucial for customer testing - when your development teams are churning out updated builds at a blistering, agile pace, it can be hard to keep up if you’re doing much of the work manually. Using this integration, you’ll be able to incorporate your Centercode testing processes into your product development and deployment cycles so you never miss a beat. Centercode’s Release API Integration offers can provide you with:

Agile software release process

Keep up with your organization’s agile development and remove the manual processes between build and pre-release testing. Embed customer testing directly into your CI/CD (Continuous Integration/Continuous Delivery) pipeline through automated integration with Centercode.

Standardized and consistent settings

Determine the default settings for any release coming through your integration to ensure minimal necessary adjustments to anything from access settings to release availability..

Flexible JSON implementation

The integration supports a wide range of JSON fields, including the release title, release value, HTML-formatted body, file attachment source, and tester interaction settings.

What do I need to set it up?

  • A code deployment tool capable of sending POST requests
  • Enhanced Integrations enabled and an available Community-level API Key (more info here)
  • Project Manager access 
  • A connected Centercode FTP (for direct attachment)
    OR
    An externally accessible repository for your Release files 

Configuring Centercode’s release API integration

Ideally set up within a Project Template, The Release API functionality leverages Release Types found within your Centercode Projects. First, you’ll configure the Centercode side to accept targeted POST requests and the default settings for any Release created within your Release Type. Then you’ll set up the sending side of the integration - whichever release automation tool your organization uses.

I. Prepare your release type

Create the Release Type or select an existing one to use for your automation. This Release Type will house all the code releases you deploy within this project.

  1. Access Management > Releases
  2. Click the desired Release type to modify itNote: If creating a new Release Type, complete the required fields before proceeding to the Release Automation settings.
    Or
    Click the Add a release type button to 
  3. Under the Release Automation heading, select an API key (more info)
  4. Note or update the Release type key that will be used in your Endpoint URL
  5. Note the API Endpoint URL for later use (this is where your system will send its POST)

Also included on this page are three key configuration options relevant to the new Releases created within this Release Type:

  • Single Active Release - automatically archives all other Releases within this Type
  • Single Notice - ensure only the most recent release is set as a Notice for this Release Type
  • Default Team Access - set default access for any new Release within this Type

II. Review the JSON example

With an API Key selected, the JSON Body structure example can be seen. Use this example to formulate your own JSON payload to be sent to Centercode’s API Endpoint URL. Below is a breakdown of each of the key components, their intent, and how to use them.

title - The name of your Release such as ‘Centercode C17 Delta Release' (Format: text)

subtitle - A short subtitle or one-liner such as ‘ Release API and Report Archive’ (Format: text)

releaseValue - The unique identifier or release number for this deployment (Format: text)

body - The messaging and text body for the release such as patch notes, release details, etc. (Format: JSON encoded, HTML)

startDate - When this release will become available. (Format: [YYYY-MM-DD][00:00:00AM])

endDate - When this release will become unavailable. (Format: [YYYY-MM-DD][00:00:00AM])

isClickThroughNotice - Automatically set the Release as Notice (Format: ‘true’ or ‘false’)

For files attached from your Centercode FTP:

ftp bucket files: 

fileName - the exact name of the file to attach or the folder path from the root (Format: folder/folder/filename.zip)

For files linked to other storage locations:

links

label - The name of the external file (Format: text)

URL - The full URL location of the external file (Format: text)

size - The size of the file, displayed to testers (Format: numeric)

sizeUnit - The unit of measurement for the size above, such as MB, KB, GB, etc. (Format: text)

openInNewWindow - Designate if clicking the link should open a new browser window (Format: ‘true’ or ‘false’)

Include In Download Block - Whether the file should be included in the default “block” at the bottom of the release, grouping all similar files together (Format: ‘true’ or ‘false’)

logDownloadAttempts - Whether clicks or attempted downloads should be logged within Centercode (Format: ‘true’ or ‘false’)

III. Using your Release API integration

The final check of this integration requires an external POST to be sent from your release management system to the API Endpoint URL we saw earlier in this guide (step I.5). Once you send the JSON payload to us using the correct Endpoint URL and valid JSON payload, our side will create the Release in the designated Release Type and with the settings you provided in the Release Type configuration and within the JSON body.

Your testers’ experience

Testers interact with automated releases the same way they interact with manually created ones. If Single Active Release is enabled, posting a new release automatically archives the previous one. Just like your manual Releases today, your customizable HTML body can contain a quick update, an external link to documentation, or comprehensive release notes with whatever details you need.

Notes

  • Make sure you’re baking this into your Project Templates. Project-specific fields like the Project Key and Release Type ID found in the endpoint URL are easily templated.