Approval Tasks can be accessed through this API using GET. This API can also approve and reject approval tasks based on task id and other parameters.
Base URL for Approval Tasks REST API
Each function returns a JSON approval task object. The approval task object has these attributes:
Attributes | Type | Description |
---|---|---|
taskId | Long | The task id of the approval task. |
status | String | The status of the approval task. |
environmentId | Long | The environment Id of the approval task. |
requestType | String | The request type of the approval task. The request type can be a release, application, or project request. |
flexFields | List<FlexField> | The list of flex fields for the approval task. |
requestorPath | String | The requestor path of the approval task. |
Each approval task can be one of three different types: Release, Application, and Project.
Release Approval Task
Attributes | Type | Description |
---|---|---|
snapshotId | Long | The snapshot id of the release approval task. |
pipelineName | String | The pipeline name of the release approval task. |
environmentName | String | The environment name of the release approval task. |
gateName | String | The gate name of the release approval task. |
releaseName | String | The release name of the release approval task. |
releaseDefinitionId | Long | The release definition Id of the release approval task. |
releaseSnapshot | String | The release snapshot of the release approval task. |
externalId | String | The external Id of the release approval task. If the release approval task is not an external approval this will be null. |
externalSystemId | String | The external System Id of the release approval task. If the release approval task is not an external approval this will be null. |
externalSystemType | String | The external System type of the release approval task. If the release approval task is not an external approval this will be null. |
pipelineStageGateExecId | Long | The pipeline stage execution Id of the release approval task. |
Application Approval Task
Attributes | Type | Description |
---|---|---|
snapshotId | Long | The snapshot id of the release approval task. |
pipelineName | String | The pipeline name of the release approval task. |
environmentName | String | The environment name of the release approval task. |
gateName | String | The gate name of the release approval task. |
releaseName | String | The release name of the release approval task. |
releaseDefinitionId | Long | The release definition Id of the release approval task. |
releaseSnapshot | String | The release snapshot of the release approval task. |
externalId | String | The external Id of the release approval task. If the release approval task is not an external approval this will be null. |
externalSystemId | String | The external System Id of the release approval task. If the release approval task is not an external approval this will be null. |
externalSystemType | String | The external System type of the release approval task. If the release approval task is not an external approval this will be null. |
pipelineStageGateExecId | Long | The pipeline stage execution Id of the release approval task. |
Project Approval Task
Attributes | Type | Description |
---|---|---|
snapshotId | Long | The snapshot id of the release approval task. |
pipelineName | String | The pipeline name of the release approval task. |
environmentName | String | The environment name of the release approval task. |
gateName | String | The gate name of the release approval task. |
releaseName | String | The release name of the release approval task. |
releaseDefinitionId | Long | The release definition Id of the release approval task. |
releaseSnapshot | String | The release snapshot of the release approval task. |
externalId | String | The external Id of the release approval task. If the release approval task is not an external approval this will be null. |
externalSystemId | String | The external System Id of the release approval task. If the release approval task is not an external approval this will be null. |
externalSystemType | String | The external System type of the release approval task. If the release approval task is not an external approval this will be null. |
pipelineStageGateExecId | Long | The pipeline stage execution Id of the release approval task. |
GET
GET by TaskId
This GET service will find an approval task with the given task Id and return the JSON representation of the object.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
Id | URL | Yes | This is a URL parameter for the Id which is used to find and return an approval task. |
Example
If we had an application in our database with an Id of 10000 and had the following attributes
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 10000, "status": "PENDING", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }
When we run a GET request at the following URL
http://host:port/flexdeploy/rest/tasks/approval/10000
The GET request would return the following JSON approval task object
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 10000, "status": "PENDING", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }
GET (Using Query Parameters)
This GET service will return a list of approval tasks in the form of JSON objects based on a query parameter for the display name. Approval tasks are only returned if they contain the specified parameter. If no query parameters are given this request will return the entire list of approval tasks.
API URLs
http://host:port/flexdeploy/rest/tasks/approval?
Append the following character sequences to the above URL to specify Query parameters.
workflowrequestid = {workflowRequestId}
foldererquestid = {folderRequestId}
pipelinestageexecid = {pipelineStageExecId}
projectid = {projectId}
applicationid = {applicationId}
environmentid = {environmentId}
externalId = {externalId}
externalSystemType = {externalSystemType}
externalSystemId = {externalSystemId}
Examples:
To return all of the approval tasks:
http://host:port/flexdeploy/rest/tasks/approval
To search by project Id only:
http://host:port/flexdeploy/rest/tasks/approval?projectid=11001
The query parameters are not case sensitive. Searching by name=EXAMPLE is the same as searching by name=example.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
workflowrequestid | URL | No | This is a URL query parameter for the workflow request Id which is used to search the approval tasks. |
foldererquestid | URL | No | This is a URL query parameter for the folder request Id which is used to search the approval tasks. |
pipelinestageexecid | URL | No | This is a URL query parameter for the pipeline stage execution Id which is used to search the approval tasks. |
projectid | URL | No | This is a URL query parameter for the project Id which is used to search the approval tasks. |
applicationid | URL | No | This is a URL query parameter for the application Id which is used to search the approval tasks. |
environmentid | URL | No | This is a URL query parameter for the environment Id which is used to search the approval tasks. |
externalId | URL | No | This is a URL query paramter for the external Id which is used to search the approval tasks. |
externalSystemType | URL | No | This is a URL query parameter for the external system type which is used to search the approval tasks. |
externalSystemId | URL | No | This is a URL query parameter for the external system Id which is used to seach the approval tasks. |
Example
If we had an approval task in our database with the following attributes
[ { "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" } ]
When we run a GET request at the following URL
http://host:port/flexdeploy/rest/tasks/approval?projectid=10002
The GET request would return the following JSON approval task object
[ { "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" } ]
Approve By TaskId
This PUT service will approve an approval task with the given Id.
Parameters
Attributes | Type | Required | Description |
---|---|---|---|
Id | Long | Yes | The Id that is used to approve an approval task with the same approval task Id. |
Example
If we had an approval task in our database with the following attributes
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }
When we run a PUT request at the following URL
http://host:port/flexdeploy/rest/tasks/approval/approve/11702
The PUT request would approve the approval task and return the following JSON approval task object
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "APPROVED", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }
Approve using Query Parameters
This PUT service will approve an approval task with the given attributes.
API URLs
http://host:port/flexdeploy/rest/tasks/approval/approve?
Append the following character sequences to the above URL to specify Query parameters.
workflowrequestid = {workflowRequestId}
foldererquestid = {folderRequestId}
pipelinestageexecid = {pipelineStageExecId}
projectid = {projectId}
applicationid = {applicationId}
environmentid = {environmentId}
externalId = {externalId}
externalSystemType = {externalSystemType}
Returned Tasks
Only one approval task can be approved at a time. If more than one task matches the query parameters an exception will be thrown.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
workflowrequestid | URL | No | This is a URL query parameter for the workflow request Id which is used to search the approval tasks. |
foldererquestid | URL | No | This is a URL query parameter for the folder request Id which is used to search the approval tasks. |
pipelinestageexecid | URL | No | This is a URL query parameter for the pipeline stage execution Id which is used to search the approval tasks. |
projectid | URL | No | This is a URL query parameter for the project Id which is used to search the approval tasks. |
applicationid | URL | No | This is a URL query parameter for the application Id which is used to search the approval tasks. |
environmentid | URL | No | This is a URL query parameter for the environment Id which is used to search the approval tasks. |
externalId | URL | No | This is a URL query parameter for the external Id which is used to search the approval tasks. |
externalSystemType | URL | No | This is a URL query parameter for the external Id which is used to search the approval tasks. |
externalSystemId | URL | No | This is a URL query parameter for the external Id which is used to search the approval tasks. |
Example
If we had an approval task in our database with the following attributes
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }
When we run a PUT request at the following URL
http://host:port/flexdeploy/rest/tasks/approval/approve?projectid=10002
The PUT request would approve the approval task and return the following JSON approval task object
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "APPROVED", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }
Reject By TaskId
This PUT service will reject an approval task with the given Id.
Parameters
Attributes | Type | Required | Description |
---|---|---|---|
Id | Long | Yes | The Id that is used to approve an approval task with the same approval task Id. |
Example
If we had an approval task in our database with the following attributes
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }
When we run a PUT request at the following URL
http://host:port/flexdeploy/rest/tasks/approval/reject/11702
The PUT request would reject the approval task and return the following JSON approval task object
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "REJECTED", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }
Reject using Query Parameters
This PUT service will approve an approval task with the given attributes.
API URLs
http://host:port/flexdeploy/rest/tasks/approval/reject?
Append the following character sequences to the above URL to specify Query parameters.
workflowrequestid = {workflowRequestId}
foldererquestid = {folderRequestId}
pipelinestageexecid = {pipelineStageExecId}
projectid = {projectId}
applicationid = {applicationId}
environmentid = {environmentId}
Returned Tasks
Only one approval task can be rejected at a time. If more than one task matches the query parameters an exception will be thrown.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
workflowrequestid | URL | No | This is a URL query parameter for the workflow request Id which is used to search the approval tasks. |
foldererquestid | URL | No | This is a URL query parameter for the folder request Id which is used to search the approval tasks. |
pipelinestageexecid | URL | No | This is a URL query parameter for the pipeline stage execution Id which is used to search the approval tasks. |
projectid | URL | No | This is a URL query parameter for the project Id which is used to search the approval tasks. |
applicationid | URL | No | This is a URL query parameter for the application Id which is used to search the approval tasks. |
environmentid | URL | No | This is a URL query parameter for the environment Id which is used to search the approval tasks. |
externalId | URL | No | This is a URL query parameter for the external Id which is used to search the approval tasks. |
externalSystemType | URL | No | This is a URL query paramater for the external Id which is used to search the approval tasks. |
externalSystemId | URL | No | This is a URL query parameter for the external Id which is used to search the approval tasks. |
Example
If we had an approval task in our database with the following attributes
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }
When we run a PUT request at the following URL
http://host:port/flexdeploy/rest/tasks/approval/reject?projectid=10002
The PUT request would reject the approval task and return the following JSON approval task object
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "REJECTED", "environmentId": 16109, "flexFields": [], "requestType": "Project", "requestorPath": "FlexDeploy / Application 1" }