Versions Compared

Key

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

...

AttributesTypeDescription
actionString
  • createSnapshot
  • promoteToRelease - one and only one snapshotVersionInputs should be provided
descriptionStringThe description of the snapshot
projectssnapshotVersionInputsList<Project>List<SnapshotVersionInputPojo>A list of projects project version to be built or associated with the snapshot.

Projects have the SnapshotVersionInput has 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

...

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>List<SnapshotVersionPojo>The version information about the projects associated with the snapshot

Versions have the SnapshotVersion has following attributes:

AttributesTypeDescription
projectIdLongThe id of the project
projectStreamIdLongStream included in release for 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 (create snapshot)

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

...

Code Block
themeEclipse
titlePOST 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

POST (promote to release)

Project versions can be promoted to a release through this POST service. Promoting a project to release will combine the specified version of the specified project with the versions of the other projects used in the last snapshot into a new snapshot.

Info
titleURL for promoting a project version to a release

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


Promoting a project version to a release has the following parameters

AttributesTypeRequiredDescription
projectIdURLYesThe id of the project
projectVersionIdURLYesThe id of the version of the project
releaseIdIntegerYesThe id of the release
descriptionStringNoThe description of the snapshot that will be made
packageNameStringOnly for partial deployment projectsThe name of the package of the partial deployment project

If the previous snapshot had the following attributes:

Code Block
themeEclipse
titleCurrent Snapshot Details
{
	"snapshotId": 10005,
	"snapshotName": "07-09-2018 12:12:03",
	"description": "Existing Snapshot",
	"snapshotStatus": "CURRENT",
	"projects": [
	{
		"projectId": 10000,
		"packageName": "package1",
		"projectVersionId": 10100,
		"requestAllFiles": false,
		"snapshotVersionStatus": "EXISTING"
	},
	{
		"projectId": 10000,
		"packageName": "package2",
		"projectVersionId": 10010,
		"requestAllFiles": false,
		"snapshotVersionStatus": "EXISTING"
	},
	{
		"projectId": 10002,
		"packageName": null,
		"projectVersionId": 10050,
		"requestAllFiles": false,
		"snapshotVersionStatus": "EXISTING"
	}
}

And a POST request was sent to http://host:port/flexdeploy/rest/project/promote/10000/11001 with the following JSON object input:

Code Block
themeEclipse
titlePOST JSON
{
	"releaseId": 13000,
	"packageName": "package1"
}

The following Snapshot JSON object will begin:

Code Block
themeEclipse
titleResponse JSON
{
	"snapshotId": 12010,
	"snapshotName": "07-09-2018 12:12:03",
	"description": "example snapshot creation",
	"snapshotStatus": "PENDING",
	"projects": [
	{
		"projectId": 10000,
		"packageName": "package1",
		"projectVersionId": 11001,
		"requestAllFiles": false,
		"snapshotVersionStatus": "EXISTING"
	},
	{
		"projectId": 10000,
		"packageName": "package2",
		"projectVersionId": 10010,
		"requestAllFiles": false,
		"snapshotVersionStatus": "EXISTING"
	},
	{
		"projectId": 10002,
		"packageName": null,
		"projectVersionId": 11001,
		"requestAllFiles": false,
		"snapshotVersionStatus": "EXISTING"
	}
}

Back to Top