Release API

Release API

Releases can be retrieved through this API using a GET service.

GET (By Id)

This GET service will return the JSON representation of a release given a release Id.

Request

Parameter

Type

Required

Description

Parameter

Type

Required

Description

releaseId

URL

Yes

Path parameter for the release Id

Response

Release JSON objects can having the following attributes:

Attribute

Type

Description

Attribute

Type

Description

releaseId

Long

The id of the release

releaseName

String

The name of the release

releaseStatus

String

The current status of the release. Possibles statuses are NOTSTARTED, STARTED,

SUSPENDED, COMPLETED, and ABORTED

description

String

The description of the release

pipelineId

Long

The id of the pipeline used by the release

pipelineName

String

The name of the pipeline used by the release

startDate

String

The date the release started

endDate

String

The date the release ended

scheduleBuildExpression

String

The CRON expression which is used to schedule builds

projects

List<ReleaseProjects>

The list of projects associated with the release. See more about ReleaseProjects below.

cmsDetails

ReleaseCMSDetailsPojo

The details for a Change Management System in release. See more about the ReleaseCMSDetailsPojo below.

properties

List<PropertyValuePojo>

The list of properties associated with the configured pipeline. See more about the PropertyValuePojo below.

Elements of ReleaseProjects have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

priority

Integer

The priority of the project

projectId

Long

The id of the project

packageName

String

The package name for the project (partial deployment projects only)

requestAllFiles

Boolean

Whether or not the project includes all files (partial deployment projects only)

buildEnvironmentId

Long

The id of the build environment for the project

projectStreamId

Long

The id of the Stream which the project/package was built from

projectGroups

String

Groups the project is in, based on groups defined in associated pipeline

Elements of PropertyValuePojo have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

propertyName

String

Name of the property

propertyValue

String

Value of the property

Elements of ReleaseCMSDetailsPojo have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

cmsInstanceId

Long

The instance id for the Change Management System

overrideSettings

Boolean

Whether or not the settings for the Change Management System should be overridden in this release

overriddenDefaultConfigurations

ReleaseCMSOverrideDefaultConfigPojo

Information about the default overridden configuration for the Change Management System. See more about the ReleaseCMSOverrideDefaultConfigPojo below.

overriddenEnvironmentConfigurations

List<ReleaseCMSOverrideEnvConfigPojo>

Information about the overridden environment configurations for the Change Management System. See more about the ReleaseCMSOverrideEnvConfigPojo below.

Elements of ReleaseCMSOverrideDefaultConfigPojo have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

requireChangeTicketForDeployment

Boolean

Allows override of whether a change ticket is required for deployment by default for the Change Management System

Elements of ReleaseCMSOverrideEnvConfigPojo have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

environmentId

Long

Id of the environment to override settings

requireChangeTicketForDeployment

Boolean

Whether a change ticket is required for deploying to this environment

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Release was found and returned

401

Authentication failure

403

Authorization failure (no access to resource)

404

Release not found

500

Unexpected internal server error

Example

If a release in our database had an id of 14321 and a GET request was sent to http://host:port/flexdeploy/rest/v1/releases/14321

A Release JSON object will be returned with the following release information:

Response JSON
{ "releaseId": 14321, "releaseName": "Test Release 1", "description": "", "pipelineId": 10004, "pipelineName": "Simple Pipeline", "startDate": "2019-02-13", "endDate": null, "scheduleBuildExpression": null, "releaseStatus": "STARTED", "projects": [ { "priority": 1, "projectId": 10000, "packageName": "package1", "projectName": "REST Project 1", "requestAllFiles": false, "applicationPath": "FlexDeploy/REST", "buildEnvironmentId": 21212, "projectStreamId": 13900, "projectGroups": null }, { "priority": 2, "projectId": 10001, "packageName": null, "projectName": "REST Project 2", "requestAllFiles": false, "applicationPath": "FlexDeploy/REST", "buildEnvironmentId": 10056, "projectStreamId": 15986, "projectGroups": null }] }

GET (Using Query Parameters)

This GET service will return the JSON representation of a list of releases given release query parameters.

API URL

http://host:port/flexdeploy/rest/v1/releases

Request

Parameter

Type

Required

Description

Parameter

Type

Required

Description

releaseName

String (Query)

No

Query based on the name of the release. Name is case insensitive. The service will query for release names which contain the release name provided.

releaseStatus

String (Query)

No

Query based on the status of the release. Possible statuses are NOT STARTED, STARTED, SUSPENDED, and COMPLETED. Status is case insensitive.

If no query parameters are provided, all releases will be returned.

Response

Release JSON objects can have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

releaseId

Long

The id of the release

releaseName

String

The name of the release

releaseStatus

String

The current status of the release. Possibles statuses are NOTSTARTED, STARTED,

SUSPENDED, COMPLETED, and ABORTED

description

String

The description of the release

pipelineId

Long

The id of the pipeline used by the release

pipelineName

String

The name of the pipeline used by the release

startDate

String

The date the release started

endDate

String

The date the release ended

scheduleBuildExpression

String

The expression which is used to schedule builds

projects

List<ReleaseProjects>

The list of projects associated with the release. See more about ReleaseProjects below.

cmsDetails

ReleaseCMSDetailsPojo

The details for a Change Management System in release. See more about the ReleaseCMSDetailsPojo below.

properties

List<PropertyValuePojo>

The list of properties associated with the configured pipeline. See more about the PropertyValuePojo below.

Elements of ReleaseProjects have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

priority

Integer

The priority of the project

projectId

Long

The id of the project

packageName

String

The package name for the project (partial deployment projects only)

requestAllFiles

Boolean

Whether or not the project includes all files (partial deployment projects only)

buildEnvironmentId

Long

The id of the build environment for the project

projectStreamId

Long

The id of the Stream which the project/package was built from

projectGroups

String

Groups the project is in, based on groups defined in associated pipeline

Elements of PropertyValuePojo have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

propertyName

String

Name of the property

propertyValue

String

Value of the property

Elements of ReleaseCMSDetailsPojo have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

cmsInstanceId

Long

The instance id for the Change Management System

overrideSettings

Boolean

Whether or not the settings for the Change Management System should be overridden in this release

overriddenDefaultConfigurations

ReleaseCMSOverrideDefaultConfigPojo

Information about the default overridden configuration for the Change Management System. See more about the ReleaseCMSOverrideDefaultConfigPojo below.

overriddenEnvironmentConfigurations

List<ReleaseCMSOverrideEnvConfigPojo>

Information about the overridden environment configurations for the Change Management System. See more about the ReleaseCMSOverrideEnvConfigPojo below.

Elements of ReleaseCMSOverrideDefaultConfigPojo have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

requireChangeTicketForDeployment

Boolean

Allows override of whether a change ticket is required for deployment by default for the Change Management System

Elements of ReleaseCMSOverrideEnvConfigPojo have the following attributes:

Attribute

Type

Description

Attribute

Type

Description

environmentId

Long

Id of the environment to override settings

requireChangeTicketForDeployment

Boolean

Whether a change ticket is required for deploying to this environment

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Search successful and results returned

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

500

Unexpected internal server error

Example

If we want to see all releases with a name containing 'Rest' with a status of STARTED, we would send this request:

Request: http://host:port/flexdeploy/rest/v1/releases?releaseStatus=STARTED&releaseName=Rest

A GET request would be triggered and return the following JSON release objects:

GET JSON Response
[ { "description": null, "endDate": null, "startDate": "2019-02-05", "projects": [ { "priority": 1, "packageName": null, "projectGroups": null, "projectName": "RESTDeployProject1", "projectId": 13903, "requestAllFiles": false, "projectStreamId": 13904, "buildEnvironmentId": 10956, "applicationPath": "FlexDeploy/RESTTests" }, { "priority": 1, "packageName": "Package2", "projectGroups": null, "projectName": "RESTDeployPartialProject", "projectId": 13921, "requestAllFiles": false, "projectStreamId": 13922, "buildEnvironmentId": 10956, "applicationPath": "FlexDeploy/RESTTests" }, { "priority": 1, "packageName": "Package1", "projectGroups": null, "projectName": "RESTDeployPartialProject", "projectId": 13921, "requestAllFiles": false, "projectStreamId": 13922, "buildEnvironmentId": 10956, "applicationPath": "FlexDeploy/RESTTests" } ], "pipelineId": 10004, "scheduleBuildExpression": null, "releaseStatus": "STARTED", "releaseId": 12101, "releaseName": "REST Release 1", "pipelineName": "Test Pipeline" }, { "description": null, "endDate": null, "startDate": "2019-02-05", "projects": [ { "priority": 1, "packageName": null, "projectGroups": null, "projectName": "RESTDeployPartialProject", "projectId": 13921, "requestAllFiles": true, "projectStreamId": 13922, "buildEnvironmentId": 10956, "applicationPath": "FlexDeploy/RESTTests" }, { "priority": 1, "packageName": null, "projectGroups": null, "projectName": "RESTDeployProject1", "projectId": 13903, "requestAllFiles": false, "projectStreamId": 13904, "buildEnvironmentId": 10956, "applicationPath": "FlexDeploy/RESTTests" } ], "pipelineId": 10004, "scheduleBuildExpression": null, "releaseStatus": "STARTED", "releaseId": 12104, "releaseName": "REST Release 2", "pipelineName": "Test Pipeline" } ]

POST (create release)

This POST service will create a new release with the same attributes as the given JSON object.

API URL

http://host:port/flexdeploy/rest/v1/releases

Request

POST will receive a release input JSON object and return a release JSON object. Release input JSON objects for the request can have the following attributes:

Attribute

Type

Required

Description

Attribute

Type

Required

Description

releaseName

String

Yes

The name of the release

releaseStatus

The following macros are not currently supported in the footer:
  • style