This POST service will perform the same action found on the Deployment Request Form off the project screen. It will initiate a request to deploy the project specified with the project Id. The service will return the workflowRequestId which can be used by the getWorkflowRequestStatus call to determine the workflow is complete.
API URL
http://host:port/flexdeploy/rest/v1/project/{Id}/deploy
Request
Parameter | Required | Type | Description |
---|---|---|---|
environmentId | Y | Long | This is the environment id, not the environment name that is seen on most screens. |
instanceIds | Y | Array of Long | The list of instances where the deployment will occur. Make sure to enter the instance id, not the instance name that is seen on most screens. |
projectId | Y | Long | The Id of the project to deploy. |
packageDetails | N* | Array of PackageInfo | This is required for partial deployments, but not for full deployments. Included to indicate what should be deployed in a partial deployment. See more info on PackageInfo below. |
forceDeploy | N | Boolean | Values are true or false. Indicates that the deployment should occur even when the projectVersionId is already deployed to that instance. Defaults to false. |
exceptionToWindow | N | Boolean | Values are true or false. Indicates that the deployment is an exception to the deployment window. Defaults to false. |
projectVersionId | N | Long | The id of the project version to be deployed. If not specified, the most recently built projectVersionId will be deployed. |
startTime | N | String | The time when the deployment will be started. |
workflowVersionOverride | N | String | Optionally, the version of the workflow can be overridden. |
inputs | N | Array | See Common Parameters below. |
flexFields | N | Array | See Common Parameters below. |
changeNumber | N | String | Ticket number for the given deployment, using the configured Change Management System. |
Input
This is a list of code/value pairs for the workflow inputs. Not all inputs need to be supplied. If an input has a default value that is acceptable for the workflow to run, it does not need to be supplied.
Attribute | Required | Type | Description |
---|---|---|---|
code | Y | String | The code of the input |
value | N | String | The value of the input |
FlexField
This is the list of the code/value pairs for the FlexFields (not the display name). Not all FlexFields need to be supplied. If a FlexFields has a default value or options that are acceptable for the workflow to run, it does not need to be changed.
Attribute | Required | Type | Description |
---|---|---|---|
code | Y | String | The code of the FlexField |
value | N | String | The value of the FlexField |
PackageInfo
Attribute | Required | Type | Description |
---|---|---|---|
packageName | N | String | The name of the package to deploy. If blank, all files will be assumed. |
priority | N | Integer | The priority of the package. If it is not indicated, then FlexDeploy will deploy the packages in the order they are provided in the JSON request. |
projectVersionId | Y* | Long | The id of the project version to deploy. This parameter is not required if useLatestPackageVersion is true. |
useLatestPackageVersion | N | Boolean | Uses the most recent package version. Defaults to false. |
Response
Attribute | Type | Description |
---|---|---|
workflowRequestId | String | Returns the workflow request id that was just submitted. |
Response Codes
HTTP Code | Description |
---|---|
201 | Project was built successfully |
400 | Bad request |
401 | Unauthorized |
404 | Project not found |
500 | Unexpected internal server error |
Example Deploy Request
We can deploy a project with Id 10004 with the following request:
API URLs
http://host:port/flexdeploy/rest/v1/project/10004/deploy
{ "instanceIds":[100001], "environmentId":12345, "forceDeploy":"false", "inputs": [ { "code":"RESTART_SEVER", "value":"true" }, { "code":"COMMENT", "value":"Deploying from REST API" } ] }
In response, we will receive the workflowRequestId:
12100