Snapshots can be created through this API using a POST service and snapshot information can be retrieved using a GET service.
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "snapshotId": 10025, "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" }] } |
GET (
...
By Id)
This GET service will return the JSON/POJO representation of a snapshot given a snapshot Id.
Info | ||
---|---|---|
| ||
http://host:port/flexdeploy/rest/v1/releases/{releaseId}/snapshot/{snapshotId} |
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:
AttributesAttribute | Type | Description |
---|---|---|
snapshotId | Long | The id of the snapshot |
snapshotName | String | The name of the snapshot, which which is generated based on the time when the snapshot was createdof 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 associated with the snapshot |
Elements of snapshotVersions has following attributes:
AttributesAttribute | Type | Description |
---|---|---|
projectId | Long | The id of the project |
projectStreamId | Long | Stream included in release for the project. |
projectVersionId | Long | The version id of the project |
packageName | String | The name of the package (used for partial deployment projects only) |
requestAllFiles | Boolean | Whether or not the project was told to request 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 Code | Description |
---|---|
200 | Snapshot was found and returned |
400 | Bad request (Not found or snapshot wasn't in given releaseId) |
401 | Unauthorized (User may not be signed in or user may not have read access to releases) |
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" }] } |
GET (Using Query Parameters)
This GET service will return the JSON/POJO representation of a list of snapshots given the release id and snapshot query parameters.
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. |
limit | Integer (Query) | No | Limit the number of snapshots to return. |
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 associated with the snapshot |
Elements of snapshotVersions has the following attributes:
Attribute | Type | Description |
---|---|---|
projectId | Long | The id of the project |
projectStreamId | Long | Stream included in release for the project |
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 Code | Description |
---|---|
200 | Snapshots found in query were successfully returned |
400 | Bad request |
401 | Unauthorized (User may not be signed in or user may not have read access to releases) |
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 initiated, we would send this request:
Request: http://host:port/flexdeploy/rest/v1/releases/11211/snapshot?status=Initiated&limit=2
A GET request would be triggered and return the following JSON snapshots object:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"snapshotId": 11501,
"snapshotStatus": "INITIATED",
"snapshotVersions": [
{
"snapshotVersionStatus": "COMPLETED",
"projectVersionId": 33129,
"projectId": 25208,
"packageName": null,
"projectStreamId": 25209,
"requestAllFiles": false
},
{
"snapshotVersionStatus": "COMPLETED",
"projectVersionId": 33175,
"projectId": 25228,
"packageName": "Package1",
"projectStreamId": 25229,
"requestAllFiles": false
},
{
"snapshotVersionStatus": "COMPLETED",
"projectVersionId": 33146,
"projectId": 25228,
"packageName": "Package2",
"projectStreamId": 25229,
"requestAllFiles": false
}
],
"snapshotName": "02-08-2019 08:52:02",
"description": null
},
{
"snapshotId": 11346,
"snapshotStatus": "INITIATED",
"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
}
] |