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.

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. 

http://host:port/flexdeploy/rest/v1/tasks/approval/{Id}

Request

Parameter

Type

Required

Description

Id

URLYesThis is a URL parameter for the Id which is used to find and return an approval 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.

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

workflowRequestIdURLNoThis is a URL query parameter for the workflow request Id which is used to search the approval tasks.

folderRequestId

URLNoThis is a URL query parameter for the folder request Id which is used to search the approval tasks.
pipelineStageExecIdURLNoThis is a URL query parameter for the pipeline stage execution Id which is used to search the approval tasks.
projectIdURLNoThis is a URL query parameter for the project Id which is used to search the approval tasks.
applicationIdURLNoThis is a URL query parameter for the application Id which is used to search the approval tasks.
environmentIdURLNoThis is a URL query parameter for the environment Id which is used to search the approval tasks.
externalIdURLNoThis is a URL query paramter for the external Id which is used to search the approval tasks.
externalSystemTypeURLNoThis is a URL query parameter for the external system type which is used to search the approval tasks.
externalSystemIdURLNo This is a URL query parameter for the external system Id which is used to seach the approval tasks.
notesURLNoNotes 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.

http://host:port/flexdeploy/rest/v1/tasks/approval/approve/{Id}

Request

AttributesTypeRequiredDescription
IdLongYesThe Id of the approval task you wish to approve

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.

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}


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

workflowRequestIdURLNoThis is a URL query parameter for the workflow request Id which is used to search the approval tasks.
folderRequestIdURLNoThis is a URL query parameter for the folder request Id which is used to search the approval tasks.
pipelineStageExecIdURLNoThis is a URL query parameter for the pipeline stage execution Id which is used to search the approval tasks.
projectIdURLNoThis is a URL query parameter for the project Id which is used to search the approval tasks.
applicationIdURLNoThis is a URL query parameter for the application Id which is used to search the approval tasks.
environmentIdURLNoThis is a URL query parameter for the environment Id which is used to search the approval tasks.
externalId URLNoThis is a URL query parameter for the external Id which is used to search the approval tasks.
externalSystemTypeURLNoThis is a URL query parameter for the external Id which is used to search the approval tasks.
externalSystemId URLNoThis is a URL query parameter for the external Id which is used to search the approval tasks.
notesURLNoNotes 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&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"
}

Reject By TaskId

This PUT service will reject an approval task with the given Id.

http://host:port/flexdeploy/rest/v1/tasks/approval/reject/{Id}

Request

AttributesTypeRequiredDescription
IdLongYesThe Id of the approval task you wish to reject

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.

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}


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

workflowRequestIdURLNoThis is a URL query parameter for the workflow request Id which is used to search the approval tasks.
folderRequestIdURLNoThis is a URL query parameter for the folder request Id which is used to search the approval tasks.
pipelineStageExecIdURLNoThis is a URL query parameter for the pipeline stage execution Id which is used to search the approval tasks.
projectIdURLNoThis is a URL query parameter for the project Id which is used to search the approval tasks.
applicationIdURLNoThis is a URL query parameter for the application Id which is used to search the approval tasks.
environmentIdURLNoThis is a URL query parameter for the environment Id which is used to search the approval tasks.
externalIdURL NoThis is a URL query parameter for the external Id which is used to search the approval tasks.
externalSystemTypeURLNoThis is a URL query paramater for the external Id which is used to search the approval tasks.
externalSystemIdURL NoThis is a URL query parameter for the external Id which is used to search the approval tasks.
notesURLNoNotes 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&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": null
}