Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Snapshots can be created through this API using a POST service and snapshot information can be retrieved using a GET service.

...


ParameterTypeRequiredDescription
snapshotIdURLYesPath parameter for the snapshot Id which is used to return a snapshot
releaseIdURLYesPath parameter for the release Id which contains the snapshot that will be returned

Response

Snapshot JSON objects can having the following attributes:

AttributeTypeDescription

snapshotId

LongThe id of the snapshot
snapshotNameStringThe name of the snapshot, which is generated based on the time of creation
snapshotStatusString

The status of the snapshot. Possible values are:

  • COMPLETED - The snapshot was successfully assembled, but has not yet been sent to pipeline for execution.
  • FAILED - The snapshot failed to be assembled (which could mean the underlying build failed).
  • FAILED TO INITIATE - The snapshot was assembled, but failed to be sent to the pipeline for execution.
  • INITIATED - The snapshot has been sent to the pipeline for execution.
  • PENDING - The snapshot is in the process of being assembled and set to the pipeline for execution.
descriptionStringThe description of the snapshot
snapshotVersionsList<SnapshotVersionPojo>The version information about the projects associated with the snapshot

Elements of snapshotVersions has following attributes:

AttributeTypeDescription
projectIdLongThe id of the project
projectStreamIdLongStream included in release for the project.
projectVersionIdLongThe version id of the project
packageNameStringThe name of the package (partial deployment projects only)
requestAllFilesBooleanWhether or not the project includes all files (partial deployment projects only)
snapshotVersionStatusString

The current status of the individual project version within the snapshot. Possible values are:

  • PENDING - The project is has not yet been built for the snapshot. 
  • SUBMITTED - The project is currently being built for the snapshot.
  • COMPLETED - The project has been built successfully for the snapshot.
  • FAILED - The project has failed to build.
  • EXISTING - The snapshot is utilizing an already built version of the project.

Response Codes

HTTP CodeDescription
200Snapshot was found and returned
400Bad request (Not found or snapshot wasn't in given releaseId)
401Unauthorized (User may not be signed in or user may not have read access to releases)
500Unexpected 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
themeEclipse
titleResponse JSON
{
	"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
titleAPI URL

http://host:port/flexdeploy/rest/v1/releases/{releaseId}/snapshot

Request

ParameterTypeRequiredDescription
releaseIdLong (URL)YesPath parameter for the release Id. All returned snapshots will be in this release.
snapshotNameString (Query)NoQuery based on the generated name of the snapshot. Name is case sensitive and must be exact.
snapshotStatusString (Query)NoQuery based on the status of the snapshot. Possible statuses are Completed, Failed, Failed to initiate, Initiated, and Pending.
limitInteger (Query)NoLimit 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:

AttributeTypeDescription
snapshotIdLongThe id of the snapshot
snapshotNameString The name of the snapshot, which is generated based on the time of creation
snapshotStatusString

The status of the snapshot. Possible values are:

  • COMPLETED - The snapshot was successfully assembled, but has not yet been sent to pipeline for execution.
  • FAILED - The snapshot failed to be assembled (which could mean the underlying build failed).
  • FAILED TO INITIATE - The snapshot was assembled, but failed to be sent to the pipeline for execution.
  • INITIATED - The snapshot has been sent to the pipeline for execution.
  • PENDING - The snapshot is in the process of being assembled and set to the pipeline for execution.
descriptionStringThe description of the snapshot
snapshotVersionsList<SnapshotVersionPojo>The version information about the projects associated with the snapshot

Elements of snapshotVersions has the following attributes:

AttributeTypeDescription
projectIdLongThe id of the project
projectStreamIdLongStream included in release for the project
projectVersionIdLongThe version id of the project
packageNameStringThe name of the package (partial deployment projects only)
requestAllFilesBooleanWhether or not the project includes all files (partial deployment projects only)
snapshotVersionStatusString

The current status of the individual project version within the snapshot. Possible values are: 

  • PENDING - The project is has not yet been built for the snapshot. 
  • SUBMITTED - The project is currently being built for the snapshot.
  • COMPLETED - The project has been built successfully for the snapshot.
  • FAILED - The project has failed to build.
  • EXISTING - The snapshot is utilizing an already built version of the project.

Response Codes

HTTP CodeDescription
200Snapshots found in query were successfully returned
400Bad request
401Unauthorized (User may not be signed in or user may not have read access to releases)
500Unexpected 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
themeEclipse
titleGET JSON Response
[
	{
		"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
	}
]