Snapshots can be created through this API using a POST service and snapshot information can be retrieved using a GET service.
...
Table of Contents | ||
---|---|---|
|
GET
There are two implementations of GET. One will find a Snapshot with the given release id and snapshot id and return the JSON representation of the Snapshot. The other will find a list of Snapshots matching the parameters supplied to it.
GET (By Id)
This GET service will return the JSON representation of a snapshot given a release id and snapshot Id.
...
Request
Parameter | Type | Required | Description |
---|---|---|---|
snapshotId | URL | Yes | Path parameter for the snapshot Id which is used to return a snapshot |
releaseId | URL | Yes | Path parameter for the release Id which contains the snapshot that will be returned |
Response
Snapshot JSON objects can having the following attributes:
Attribute | Type | Description |
---|---|---|
snapshotId | Long | The id of the snapshot |
snapshotName | String | The name of the snapshot, which is generated based on the time of creation |
snapshotStatus | String | The status of the snapshot. Possible values are:
|
description | String | The description of the snapshot |
snapshotVersions | List<SnapshotVersionPojo> | The version information about the projects/packages contained within this snapshot |
snapshotVariables | List<SnapshotVariable> | The related snapshot variables |
links | List<Link> | List of any relevant links for the object. |
Elements of snapshotVersions has following attributes:
Attribute | Type | Description |
---|---|---|
projectId | Long | The id of the project |
projectStreamId | Long | The id of the Stream which the project/package was built from |
projectVersionId | Long | The version id of the project |
packageName | String | The name of the package (partial deployment projects only) |
requestAllFiles | Boolean | Whether or not the project includes all files (partial deployment projects only) |
snapshotVersionStatus | String | The current status of the individual project version within the snapshot. Possible values are:
|
Response Codes
HTTP CodeElements of snapshotVariables has the following attributes:
Attribute | Type | Description |
---|
Example
If a snapshot in our database had an id of 10005 and releaseId of 14321 and a GET request was sent to http://host:port/flexdeploy/rest/v1/releases/14321/snapshot/10005
A Snapshot JSON object will be returned with snapshot information:
theme | Eclipse |
---|---|
title | Response JSON |
displayName | String | Display name |
code | String | Code for the variable |
description | String | Description of the variable |
dataType | String | Data type of the variable |
value | String | Value of the variable |
updatedBy | String | Who last updated this variable |
updatedOn | String | Last time the variable was updated |
Include Page REST V1 Link Response REST V1 Link Response
REST V1 Link Response | |
REST V1 Link Response |
Response Codes
HTTP Code | Description |
---|---|
200 | Snapshot was found and returned |
400 | Bad request |
401 | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Release or snapshot not found |
500 | Unexpected internal server error |
Example
If a snapshot in our database had an id of 10005 and releaseId of 14321 and a GET request was sent to http://host:port/flexdeploy/rest/v1/releases/14321/snapshot/10005
A Snapshot JSON object will be returned with snapshot information:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "snapshotId": 10005, "snapshotName": "07-09-2018 12:15:03", "description": "", "snapshotStatus": "INITIATED", "snapshotVersions": [ { "projectId": 10000, "packageName": "package1", "projectVersionId": 10025, "requestAllFiles": false, "snapshotVersionStatus": "EXISTING" }, { "projectId": 10000, "packageName": "package2", "projectVersionId": 10040, "requestAllFiles": false, "snapshotVersionStatus": "EXISTING" }, { "projectId": 10002, "packageName": null, "projectVersionId": 10065, "requestAllFiles": false, "snapshotVersionStatus": "EXISTING" }], "snapshotVariables": [ { "projectIdvalue": 10000"", "packageNamedisplayName": "package1Name", "projectVersionIddescription": 10025"description", "requestAllFilesdataType": false"String", "snapshotVersionStatuscode": "EXISTINGVARIABLE" }, { "projectIdupdatedBy": 10000"fduser", "packageNameupdatedOn": "package2"07-02-2020 12:37:18" }], "projectVersionIdlinks": 10040, "requestAllFiles": false, "snapshotVersionStatus [ { "type": "EXISTING" }, { "projectId": 10002, "packageName": null, "projectVersionId": 10065, "requestAllFiles": false, "snapshotVersionStatus": "EXISTING" }UI", "link": "http://host:port/flexdeploy/faces/releases?dashboard=true&relSnapshotId=10005&relDefinitionId=14321" } ] } |
GET (Using Query Parameters)
This GET service will return the JSON representation of a list of snapshots given the release id and snapshot query parameters. Results are sorted so latest snapshots are returned first.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/releases/{releaseId}/snapshot |
Request
Parameter | Type | Required | Description |
---|---|---|---|
releaseId | Long (URL) | Yes | Path parameter for the release Id. All returned snapshots will be in this release. |
snapshotName | String (Query) | No | Query based on the generated name of the snapshot. Name is case sensitive and must be exact. |
snapshotStatus | String (Query) | No | Query based on the status of the snapshot. Possible statuses are COMPLETED, FAILED, FAILED TO INITIATE, INITIATED, and PENDING. Status is case insensitive. |
limit | Integer (Query) | No | Limits the number of snapshots returned to specified value. If no limit is provided, all snapshots matching the criteria are returned. |
Tip |
---|
If no query parameters are provided, all the snapshots in the release will be returned. |
Response
Snapshot JSON objects can have the following attributes:
Attribute | Type | Description |
---|---|---|
snapshotId | Long | The id of the snapshot |
snapshotName | String | The name of the snapshot, which is generated based on the time of creation |
snapshotStatus | String | The status of the snapshot. Possible values are:
|
description | String | The description of the snapshot |
snapshotVersions | List<SnapshotVersionPojo> | The version information about the projects/packages contained within this snapshot |
snapshotVariables | List<SnapshotVariable> | The related snapshot variables |
Elements of snapshotVersions has the following attributes:
Attribute | Type | Description |
---|---|---|
projectId | Long | The id of the project |
projectStreamId | Long | The id of the Stream which the project/package was built from |
projectVersionId | Long | The version id of the project |
packageName | String | The name of the package (partial deployment projects only) |
requestAllFiles | Boolean | Whether or not the project includes all files (partial deployment projects only) |
snapshotVersionStatus | String | The current status of the individual project version within the snapshot. Possible values are: PENDING:
|
Elements of snapshotVariables have the following attributes:
Attribute | Type | Description |
---|---|---|
displayName | String | Display name |
code | String | Code for the variable |
description | String | Description of the variable |
dataType | String | Data type of the variable |
value | String | Value of the variable |
updatedBy | String | Who last updated this variable |
updatedOn | String | Last time the variable was updated |
Response Codes
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 have a release with id 11211 and want to see the latest 2 snapshots with a status of COMPLETED, we would send this request:
Request: http://host:port/flexdeploy/rest/v1/releases/11211/snapshot?status=COMPLETED&limit=2
A GET request would be triggered and return the following JSON snapshots object:
Code Block | ||||
---|---|---|---|---|
| ||||
[ { "snapshotId": 11501, "snapshotStatus": "COMPLETED", "snapshotVersions": [ { "snapshotVersionStatus": "COMPLETED", "projectVersionId": 33129, "projectId": 25208, "packageName": null, "projectStreamId": 25209, "snapshotVersionsrequestAllFiles": [false }, { "snapshotVersionStatus": "COMPLETED", "projectVersionId": 3312933175, "projectId": 2520825228, "packageName": null"Package1", "projectStreamId": 2520925229, "requestAllFiles": false }, { "snapshotVersionStatus": "COMPLETED", "projectVersionId": 3317533146, "projectId": 25228, "packageName": "Package1Package2", "projectStreamId": 25229, "requestAllFiles": false } ], "snapshotName": "02-08-2019 08:52:02", "description": null, "snapshotVariables": [ { "snapshotVersionStatusvalue": "COMPLETED", "projectVersionIddisplayName": 33146"Name", "projectIddescription": 25228"description", "packageNamedataType": "Package2String", "projectStreamIdcode": 25229"VARIABLE", "requestAllFilesupdatedBy": false"fduser", } ], "snapshotName"updatedOn": "07-02-08-20192020 0812:5237:0218", "description": null }] }, { "snapshotId": 11346, "snapshotStatus": "COMPLETED", "snapshotVersions": [ { "snapshotVersionStatus": "COMPLETED", "projectVersionId": 32466, "projectId": 25208, "packageName": null, "projectStreamId": 25209, "requestAllFiles": false }, { "snapshotVersionStatus": "COMPLETED", "projectVersionId": 32436, "projectId": 25228, "packageName": null, "projectStreamId": 25229, "requestAllFiles": true } ], "snapshotName": "02-06-2019 16:35:04", "description": null, "snapshotVariables": [] } ] |
POST (create snapshot)
...