Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Snapshots can be created through this API using a POST service.

Base URL for Snapshot REST API

http://host:port/flexdeploy/rest/release/{releaseId}/snapshot

POST will receive a snapshot input JSON object and return a snapshot JSON object. Snapshot input JSON objects can have the following attributes:

AttributesTypeDescription
descriptionStringThe description of the snapshot
projectsList<Project>A list of projects associated with the snapshot

Projects have the following attributes:

AttributesTypeDescription
projectIdLongThe id of the project
projectVersionIdLongThe version id of the project
packageNameStringThe name of the package (used for partial deployment projects only)
buildEnvironmentIdLongThe build environment associated with the project
forceBuildBooleanWhether or not the project should be force built

Snapshot JSON objects can having the following attributes:

AttributesTypeDescription

snapshotId

LongThe id of the snapshot
snapshotNameStringThe name of the snapshot, which is the time when the snapshot was created
snapshotStatusStringThe status of the snapshot
descriptionStringThe description of the snapshot
snapshotVersionsList<Version>The version information about the projects associated with the snapshot

Versions have the following attributes:

AttributesTypeDescription
projectIdLongThe id of the project
projectVersionIdLongThe version id of the project
packageNameStringThe name of the package (used for partial deployment projects only)
requestAllFilesBooleanWhether or not the project was told to request all files
snapshotVersionStatusStringThe current status of the snapshot


Back to Top


POST

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

API URL

http://host:port/flexdeploy/rest/release/{releaseId}/snapshot

Parameters

AttributesTypeRequiredDescription
descriptionStringNoThe description of the snapshot
projectsList<Project>NoA list of projects associated with the snapshot
projectIdLongYesThe id of the project
packageNameStringYes*The name of the package (used for partial deployment projects only)
projectVersionIdLongNoThe version id of the project
buildEnvironmentIdLongYesThe build environment associated with the project (used for projects with multiple build environments)
forceBuildBooleanNoWhether or not the project should be force built

*only if it's a partial deployment project

**only if the project has multiple build environments

Defaults

If some information is not included in the JSON object, the following default values will be used:

AttributesTypeValueDescription
descriptionStringnullThe description of the snapshot
projectsList<Project>projects associated with the releaseA list of projects associated with the snapshot
projectIdLongproject ids associated with the releaseThe id of the project
packageNameStringpackages associated with the releaseThe name of the package (used for partial deployment projects only)
projectVersionIdLongNew project versionThe version id of the project to use instead of creating a new version
buildEnvironmentIdLongThe only build environment associated with the project, otherwise an error occursThe build environment associated with the project
forceBuildBooleanfalseWhether 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",
	"snapshotStatus": "PENDING",
	"projects": [
	{
		"projectId": 10000,
		"packageName": "package1",
		"projectVersionId": 10001,
		"requestAllFiles": false,
		"snapshotVersionStatus": "PENDING"
	},
	{
		"projectId": 10000,
		"packageName": "package2",
		"projectVersionId": null,
		"requestAllFiles": false,
		"snapshotVersionStatus": "PENDING"
	},
	{
		"projectId": 10002,
		"packageName": null,
		"projectVersionId": null,
		"requestAllFiles": false,
		"snapshotVersionStatus": "PENDING"
	}
}

Back to Top

  • No labels