Approval Tasks API
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.
Authentication - Use Basic Authentication for this API.
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.
API URL
http://host:port/flexdeploy/rest/v1/tasks/approval/{Id}
Request
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. |
Response
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. |
externalId | String | The externalId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemId | Long | The externalSystemId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemType | String | The externalSystemType of the approval task. If the approval task is not an external approval task this will be null. |
notes | String | Notes the requestor entered when approving or rejecting the 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. |
pipelineStageGateExecId | Long | The pipeline stage execution Id of the release approval task. |
notes | String | Notes entered when approving or rejecting the task |
Application Approval Task
Attributes | Type | Description |
---|---|---|
applicationId | Long | The application id of the application approval task. |
applicationName | String | The application name of the application approval task. |
folderVersionName | String | The folder version name of the application approval task. |
folderRequestId | String | The folder request Id of the application approval task. |
notes | String | Notes entered when approving or rejecting the task |
Project Approval Task
Attributes | Type | Description |
---|---|---|
projectId | Long | The project id of the project approval task. |
projectName | String | The prohect name of the project approval task. |
projectVersionName | String | The project version name of the project approval task. |
workflowRequestId | Long | The workflow request id of the project approval task. |
notes | String | Notes entered when approving or rejecting the task |
Example
If we had an approval task 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", "notes": null }
When we run a GET request at the following URL
http://host:port/flexdeploy/rest/v1/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", "notes": null }
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/v1/tasks/approval?
Append the following character sequences to the above URL to specify Query parameters.
workflowRequestId = {workflowRequestId}
folderRequestId = {folderRequestId}
pipelineStageExecId = {pipelineStageExecId}
projectId = {projectId}
applicationId = {applicationId}
environmentId = {environmentId}
externalId = {externalId}
externalSystemType = {externalSystemType}
externalSystemId = {externalSystemId}
notes = {notes}*
Examples:
To return all of the approval tasks:
http://host:port/flexdeploy/rest/v1/tasks/approval
To search by project Id only:
http://host:port/flexdeploy/rest/v1/tasks/approval?projectid=11001
The query parameters are not case sensitive. Searching by name=EXAMPLE is the same as searching by name=example.
*notes are used to add a note, not search by a note.
Request
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. |
folderRequestId | 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. |
notes | URL | No | Notes entered when approving or rejecting the task |
Response
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. |
externalId | String | The externalId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemId | Long | The externalSystemId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemType | String | The externalSystemType of the approval task. If the approval task is not an external approval task this will be null. |
notes | String | Notes the requestor entered when approving or rejecting the 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. |
pipelineStageGateExecId | Long | The pipeline stage execution Id of the release approval task. |
notes | String | Notes entered when approving or rejecting the task |
Application Approval Task
Attributes | Type | Description |
---|---|---|
applicationId | Long | The application id of the application approval task. |
applicationName | String | The application name of the application approval task. |
folderVersionName | String | The folder version name of the application approval task. |
folderRequestId | String | The folder request Id of the application approval task. |
notes | String | Notes entered when approving or rejecting the task |
Project Approval Task
Attributes | Type | Description |
---|---|---|
projectId | Long | The project id of the project approval task. |
projectName | String | The prohect name of the project approval task. |
projectVersionName | String | The project version name of the project approval task. |
workflowRequestId | Long | The workflow request id of the project approval task. |
notes | String | Notes entered when approving or rejecting the task |
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", "notes": null } ]
When we run a GET request at the following URL
http://host:port/flexdeploy/rest/v1/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", "notes": null } ]
Approve By TaskId
This PUT service will approve an approval task with the given Id.
API URL
http://host:port/flexdeploy/rest/v1/tasks/approval/approve/{Id}
Request
Attributes | Type | Required | Description |
---|---|---|---|
Id | Long | Yes | The Id of the approval task you wish to approve |
Response
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. |
externalId | String | The externalId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemId | Long | The externalSystemId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemType | String | The externalSystemType of the approval task. If the approval task is not an external approval task this will be null. |
notes | String | Notes the requestor entered when approving or rejecting the 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. |
pipelineStageGateExecId | Long | The pipeline stage execution Id of the release approval task. |
notes | String | Notes entered when approving or rejecting the task |
Application Approval Task
Attributes | Type | Description |
---|---|---|
applicationId | Long | The application id of the application approval task. |
applicationName | String | The application name of the application approval task. |
folderVersionName | String | The folder version name of the application approval task. |
folderRequestId | String | The folder request Id of the application approval task. |
notes | String | Notes entered when approving or rejecting the task |
Project Approval Task
Attributes | Type | Description |
---|---|---|
projectId | Long | The project id of the project approval task. |
projectName | String | The prohect name of the project approval task. |
projectVersionName | String | The project version name of the project approval task. |
workflowRequestId | Long | The workflow request id of the project approval task. |
notes | String | Notes entered when approving or rejecting the task |
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", "notes": null }
When we run a PUT request at the following URL
http://host:port/flexdeploy/rest/v1/tasks/approval/approve/11702?notes=Approved+by+George
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", "notes": "Approved by George" }
Approve using Query Parameters
This PUT service will approve an approval task with the given attributes.
API URLs
http://host:port/flexdeploy/rest/v1/tasks/approval/approve?
Append the following character sequences to the above URL to specify Query parameters.
workflowRequestId = {workflowRequestId}
folderRequestId = {folderRequestId}
pipelineStageExecId = {pipelineStageExecId}
projectId = {projectId}
applicationId = {applicationId}
environmentId = {environmentId}
externalId = {externalId}
externalSystemType = {externalSystemType}
externalSystemId = {externalSystemId}
notes = {notes}
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.
Request
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. |
folderRequestId | 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. |
notes | URL | No | Notes entered when approving or rejecting the task |
Response
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. |
externalId | String | The externalId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemId | Long | The externalSystemId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemType | String | The externalSystemType of the approval task. If the approval task is not an external approval task this will be null. |
notes | String | Notes the requestor entered when approving or rejecting the 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. |
pipelineStageGateExecId | Long | The pipeline stage execution Id of the release approval task. |
notes | String | Notes entered when approving or rejecting the task |
Application Approval Task
Attributes | Type | Description |
---|---|---|
applicationId | Long | The application id of the application approval task. |
applicationName | String | The application name of the application approval task. |
folderVersionName | String | The folder version name of the application approval task. |
folderRequestId | String | The folder request Id of the application approval task. |
notes | String | Notes entered when approving or rejecting the task |
Project Approval Task
Attributes | Type | Description |
---|---|---|
projectId | Long | The project id of the project approval task. |
projectName | String | The prohect name of the project approval task. |
projectVersionName | String | The project version name of the project approval task. |
workflowRequestId | Long | The workflow request id of the project approval task. |
notes | String | Notes entered when approving or rejecting the task |
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", "notes": null }
When we run a PUT request at the following URL
http://host:port/flexdeploy/rest/v1/tasks/approval/approve?projectid=10002¬es=Approved+by+George
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", "notes": "Approved by George" }
Reject By TaskId
This PUT service will reject an approval task with the given Id.
API URL
http://host:port/flexdeploy/rest/v1/tasks/approval/reject/{Id}
Request
Attributes | Type | Required | Description |
---|---|---|---|
Id | Long | Yes | The Id of the approval task you wish to reject |
Response
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. |
externalId | String | The externalId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemId | Long | The externalSystemId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemType | String | The externalSystemType of the approval task. If the approval task is not an external approval task this will be null. |
notes | String | Notes the requestor entered when approving or rejecting the 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. |
pipelineStageGateExecId | Long | The pipeline stage execution Id of the release approval task. |
notes | String | Notes entered when approving or rejecting the task |
Application Approval Task
Attributes | Type | Description |
---|---|---|
applicationId | Long | The application id of the application approval task. |
applicationName | String | The application name of the application approval task. |
folderVersionName | String | The folder version name of the application approval task. |
folderRequestId | String | The folder request Id of the application approval task. |
notes | String | Notes entered when approving or rejecting the task |
Project Approval Task
Attributes | Type | Description |
---|---|---|
projectId | Long | The project id of the project approval task. |
projectName | String | The prohect name of the project approval task. |
projectVersionName | String | The project version name of the project approval task. |
workflowRequestId | Long | The workflow request id of the project approval task. |
notes | String | Notes entered when approving or rejecting the task |
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", "notes": null }
When we run a PUT request at the following URL
http://host:port/flexdeploy/rest/v1/tasks/approval/reject/11702?notes=Approved+by+George
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", "notes": "Approved by George" }
Reject using Query Parameters
This PUT service will approve an approval task with the given attributes.
API URLs
http://host:port/flexdeploy/rest/v1/tasks/approval/reject?
Append the following character sequences to the above URL to specify Query parameters.
workflowRequestId = {workflowRequestId}
folderRequestId = {folderRequestId}
pipelineStageExecId = {pipelineStageExecId}
projectId = {projectId}
applicationId = {applicationId}
environmentId = {environmentId}
externalId = {externalId}
externalSystemType = {externalSystemType}
externalSystemId = {externalSystemId}
notes = {notes}
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.
notes are used to add a note, not search by a note.
Request
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. |
folderRequestId | 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. |
notes | URL | No | Notes entered when approving or rejecting the task |
Response
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. |
externalId | String | The externalId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemId | Long | The externalSystemId of the approval task. If the approval task is not an external approval task this will be null. |
externalSystemType | String | The externalSystemType of the approval task. If the approval task is not an external approval task this will be null. |
notes | String | Notes the requestor entered when approving or rejecting the 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. |
pipelineStageGateExecId | Long | The pipeline stage execution Id of the release approval task. |
notes | String | Notes entered when approving or rejecting the task |
Application Approval Task
Attributes | Type | Description |
---|---|---|
applicationId | Long | The application id of the application approval task. |
applicationName | String | The application name of the application approval task. |
folderVersionName | String | The folder version name of the application approval task. |
folderRequestId | String | The folder request Id of the application approval task. |
notes | String | Notes entered when approving or rejecting the task |
Project Approval Task
Attributes | Type | Description |
---|---|---|
projectId | Long | The project id of the project approval task. |
projectName | String | The prohect name of the project approval task. |
projectVersionName | String | The project version name of the project approval task. |
workflowRequestId | Long | The workflow request id of the project approval task. |
notes | String | Notes entered when approving or rejecting the task |
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", "notes": null }
When we run a PUT request at the following URL
http://host:port/flexdeploy/rest/v1/tasks/approval/reject?projectid=10002¬es=Approved+by+George
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", "notes": null }
- style