Snapshots can be created through this API using a POST service.
Base URL for Snapshot REST API
POST will receive and return a snapshot JSON object. Snapshot JSON objects can have the following attributes:
Attributes | Type | Description |
---|---|---|
snapshotName | String | The name of the snapshot is automatically generated at the time of creation |
snapshotId | Long | The id of the snapshot is returned after creation |
description | String | The description of the snapshot |
projects | List<Project> | A list of projects associated with the snapshot |
Projects have the following attributes:
Attributes | Type | Description |
---|---|---|
projectId | Long | The id of the project |
packageName | String | The name of the package (used for partial deployment projects only) |
projectVersionId | Long | The version id of the project |
buildEnvironmentId | Long | The build environment associated with the project |
forceBuild | Boolean | Whether or not the project should be force built |
POST
This POST service will create a new snapshot with the same attributes as the given JSON object.
Parameters
Attributes | Required | Type | Description |
---|---|---|---|
releaseId | Yes | URL | The release to create a snapshot from |
snapshotName | No | String | The name of the snapshot is automatically generated at the time of creation |
snapshotId | No | Long | The id of the snapshot is returned after being created |
description | No | String | The description of the snapshot |
projects | No | List<Project> | A list of projects associated with the snapshot |
projectId | Yes | Long | The id of the project |
packageName | Yes* | String | The name of the package (used for partial deployment projects only) |
projectVersionId | No | Long | The version id of the project to use instead of creating a new version |
buildEnvironmentId | No | Long | The build environment associated with the project |
forceBuild | No | Boolean | Whether or not the project should be force built |
*only if it's a partial deployment project
Defaults
If some information is not included in the JSON object, the following default values will be used:
Attributes | Type | Value | Description |
---|---|---|---|
description | String | null | The description of the snapshot |
projects | List<Project> | projects associated with the release | A list of projects associated with the snapshot |
projectId | Long | project ids associated with the release | The id of the project |
packageName | String | packages associated with the release | The name of the package (used for partial deployment projects only) |
projectVersionId | Long | New project version | The version id of the project to use instead of creating a new version |
buildEnvironmentId | Long | The only build environment associated with the project, otherwise an error occurs | The build environment associated with the project |
forceBuild | Boolean | false | Whether or not the project should be force built |
Example
If the POST request sent to http://host:port/flexdeploy/rest/release/12345/snapshot receives the following JSON environment object,
POST JSON
{ "description": "example snapshot creation", "projects": [ { "projectId": 10000, "packageName": "package1", "projectVersionId": 10001 }, { "projectId": 10000, "packageName": "package2", "forceBuild": true }, { "projectId": 10002, "buildEnvironmentId": 10003 } }
The following snapshot object will then be created in FlexDeploy:
POST JSON
{ "snapshotId": 10005, "snapshotName": "07-09-2018 12:12:03", "description": "example snapshot creation", "projects": [ { "projectId": 10000, "packageName": "package1", "projectVersionId": 10001, "forceBuild": false, "buildEnvironmentId": 20003 }, { "projectId": 10000, "packageName": "package2", "projectVersionId": null, "forceBuild": true, "buildEnvironmentId": 20003 }, { "projectId": 10002, "packageName": null, "forceBuild": false, "projectVersionId": null, "buildEnvironmentId": 10003 } }