Approval Tasks API

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.

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

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 Codes

HTTP Code

Description

HTTP Code

Description

200

Task was found and returned

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

404

Task not found

500

Unexpected internal server error

Example

If we had an approval task in our database with an Id of 10000 and had the following attributes

Approval Task - 10000
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 10000, "status": "PENDING", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "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

Approval Task - 10000
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 10000, "status": "PENDING", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "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

Parameter

Type

Required

Description

workflowRequestId

Query - Long

No

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

folderRequestId

Query - Long

No

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

pipelineStageExecId

Query - Long

No

This is a URL query parameter for the pipeline stage execution Id which is used to search the approval tasks.

projectId

Query - Long

No

This is a URL query parameter for the project Id which is used to search the approval tasks.

applicationId

Query - Long

No

This is a URL query parameter for the application Id which is used to search the approval tasks.

environmentId

Query - Long

No

This is a URL query parameter for the environment Id which is used to search the approval tasks.

externalId

Query - Long

No

This is a URL query paramter for the external Id which is used to search the approval tasks.

externalSystemType

Query - String

No

This is a URL query parameter for the external system type which is used to search the approval tasks.

Equals type search.

externalSystemId

Query - Long

No 

This is a URL query parameter for the external system Id which is used to seach the approval tasks.

notes

Query - String

No

Notes entered when approving or rejecting the task

Equals type search.

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Search successful and results returned

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

500

Unexpected internal server error

Example

If we had an approval task in our database with the following attributes

Approval Task
[ { "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "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

Approval Task
[ { "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "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

Attributes

Type

Required

Description

Id

Long

Yes

The Id of the approval task you wish to approve

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Task was found and approved

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

404

Task not found

500

Unexpected internal server error

Example

If we had an approval task in our database with the following attributes

Approval Task
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "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

Approval Task
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "APPROVED", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "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

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 Codes

HTTP Code

Description

HTTP Code

Description

200

Task was found and approved

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

404

Task not found

500

Unexpected internal server error

Example

If we had an approval task in our database with the following attributes

Approval Task
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "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

Approval Task
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "APPROVED", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "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

Attributes

Type

Required

Description

Id

Long

Yes

The Id of the approval task you wish to reject

Response Codes

HTTP Code

Description

HTTP Code

Description

200

Workflow was found and rejected

400

Bad request

401

Authentication failure

403

Authorization failure (no access to resource)

404

Task not found

500

Unexpected internal server error

Example

If we had an approval task in our database with the following attributes

Approval Task
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "PENDING", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "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

Approval Task
{ "projectName": "Project 1", "projectVersionName": "1.0.21", "workflowRequestId": 11701, "projectId": 10002, "taskId": 11702, "status": "REJECTED", "environmentId": 16109, "flexFields": [], "environmentName": "Development", "requestType": "Project", "requestorPath": "FlexDeploy / Application 1", "notes": "Approved by George" }

Reject using Query Parameters

This PUT service will reject 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

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

The following macros are not currently supported in the footer:
  • style