Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
Top
Top

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.

Info
titleBase URL for Approval Tasks REST API

http://host:port/flexdeploy/rest/tasks/approval

Table of Contents
maxLevel2

Each function returns a JSON approval task object. The approval task object has these attributes:

AttributesTypeDescription
taskIdLongThe task id of the approval task.
statusStringThe status of the approval task.
environmentIdLongThe environment Id of the approval task.
requestTypeStringThe request type of the approval task. The request type can be a release, application, or project request.
flexFieldsList<FlexField>The list of flex fields for the approval task.
requestorPathStringThe requestor path of the approval task. 

Each approval task can be one of three different types: Release, Application, and Project.

Release Approval Task

AttributesTypeDescription
snapshotIdLongThe snapshot id of the release approval task.
pipelineNameStringThe pipeline name of the release approval task.
environmentNameStringThe environment name of the release approval task.
gateNameStringThe gate name of the release approval task.
releaseNameStringThe release name of the release approval task.
releaseDefinitionIdLongThe release definition Id of the release approval task. 
releaseSnapshotStringThe release snapshot of the release approval task.
externalIdStringThe external Id of the release approval task. If the release approval task is not an external approval this will be null.
externalSystemIdStringThe external System Id of the release approval task. If the release approval task is not an external approval this will be null.
externalSystemTypeStringThe external System type of the release approval task. If the release approval task is not an external approval this will be null.
pipelineStageGateExecIdLongThe pipeline stage execution Id of the release approval task.

Application Approval Task

AttributesTypeDescription
snapshotIdLongThe snapshot id of the release approval task.
pipelineNameStringThe pipeline name of the release approval task.
environmentNameStringThe environment name of the release approval task.
gateNameStringThe gate name of the release approval task.
releaseNameStringThe release name of the release approval task.
releaseDefinitionIdLongThe release definition Id of the release approval task. 
releaseSnapshotStringThe release snapshot of the release approval task.
externalIdStringThe external Id of the release approval task. If the release approval task is not an external approval this will be null.
externalSystemIdStringThe external System Id of the release approval task. If the release approval task is not an external approval this will be null.
externalSystemTypeStringThe external System type of the release approval task. If the release approval task is not an external approval this will be null.
pipelineStageGateExecIdLong

The pipeline stage execution Id of the release approval task.

Project Approval Task

AttributesTypeDescription
snapshotIdLongThe snapshot id of the release approval task.
pipelineNameStringThe pipeline name of the release approval task.
environmentNameStringThe environment name of the release approval task.
gateNameStringThe gate name of the release approval task.
releaseNameStringThe release name of the release approval task.
releaseDefinitionIdLongThe release definition Id of the release approval task. 
releaseSnapshotStringThe release snapshot of the release approval task.
externalIdStringThe external Id of the release approval task. If the release approval task is not an external approval this will be null.
externalSystemIdStringThe external System Id of the release approval task. If the release approval task is not an external approval this will be null.
externalSystemTypeStringThe external System type of the release approval task. If the release approval task is not an external approval this will be null.
pipelineStageGateExecIdLongThe pipeline stage execution Id of the release approval task.

Back to Top

...

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. 

Info
titleAPI URL

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

Parameters

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 application in our database with an Id of 10000 and had the following attributes

Code Block
themeEclipse
titleApproval Task - 10000
{
   "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

Code Block
themeEclipse
titleApproval Task - 10000
{
   "projectName": "Project 1",
   "projectVersionName": "1.0.21",
   "workflowRequestId": 11701,
   "projectId": 10002,
   "taskId": 10000,
   "status": "PENDING",
   "environmentId": 16109,
   "flexFields": [],
   "requestType": "Project",
   "requestorPath": "FlexDeploy / Application 1"
}

Back to Top

...

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.

Info
titleAPI 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


Tip

The query parameters are not case sensitive. Searching by name=EXAMPLE is the same as searching by name=example.

Parameters

Parameter

Type

Required

Description

workflowrequestidURLNoThis is a URL query parameter for the workflow request Id which is used to search the approval tasks.
foldererquestidURLNoThis 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.

Example

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

Code Block
themeEclipse
titleApproval Task
[
{
   "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

Code Block
themeEclipse
titleApproval Task
[
{
   "projectName": "Project 1",
   "projectVersionName": "1.0.21",
   "workflowRequestId": 11701,
   "projectId": 10002,
   "taskId": 11702,
   "status": "PENDING",
   "environmentId": 16109,
   "flexFields": [],
   "requestType": "Project",
   "requestorPath": "FlexDeploy / Application 1"
}
]

Back to Top

...

Approve By TaskId

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

Info
titleAPI URL

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

Parameters

AttributesTypeRequiredDescription
IdLongYesThe 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

Code Block
themeEclipse
titleApproval Task
{
   "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

Code Block
themeEclipse
titleApproval Task
{
   "projectName": "Project 1",
   "projectVersionName": "1.0.21",
   "workflowRequestId": 11701,
   "projectId": 10002,
   "taskId": 11702,
   "status": "APPROVED",
   "environmentId": 16109,
   "flexFields": [],
   "requestType": "Project",
   "requestorPath": "FlexDeploy / Application 1"
}

Back to Top

...

Approve using Query Parameters

This PUT service will approve an approval task with the given attributes.

Info
titleAPI 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}


Info
titleReturned 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

workflowrequestidURLNoThis is a URL query parameter for the workflow request Id which is used to search the approval tasks.
foldererquestidURLNoThis 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.

Example


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

Code Block
themeEclipse
titleApproval Task
{
   "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

Code Block
themeEclipse
titleApproval Task
{
   "projectName": "Project 1",
   "projectVersionName": "1.0.21",
   "workflowRequestId": 11701,
   "projectId": 10002,
   "taskId": 11702,
   "status": "APPROVED",
   "environmentId": 16109,
   "flexFields": [],
   "requestType": "Project",
   "requestorPath": "FlexDeploy / Application 1"
}

Back to Top

...

Reject By TaskId

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

Info
titleAPI URL

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

Parameters

AttributesTypeRequiredDescription
IdLongYesThe 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

Code Block
themeEclipse
titleApproval Task
{
   "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

Code Block
themeEclipse
titleApproval Task
{
   "projectName": "Project 1",
   "projectVersionName": "1.0.21",
   "workflowRequestId": 11701,
   "projectId": 10002,
   "taskId": 11702,
   "status": "REJECTED",
   "environmentId": 16109,
   "flexFields": [],
   "requestType": "Project",
   "requestorPath": "FlexDeploy / Application 1"
}

Back to Top

...

Reject using Query Parameters

This PUT service will approve an approval task with the given attributes.

Info
titleAPI 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}


Info
titleReturned 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

workflowrequestidURLNoThis is a URL query parameter for the workflow request Id which is used to search the approval tasks.
foldererquestidURLNoThis 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.

Example


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

Code Block
themeEclipse
titleApproval Task
{
   "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

Code Block
themeEclipse
titleApproval Task
{
   "projectName": "Project 1",
   "projectVersionName": "1.0.21",
   "workflowRequestId": 11701,
   "projectId": 10002,
   "taskId": 11702,
   "status": "REJECTED",
   "environmentId": 16109,
   "flexFields": [],
   "requestType": "Project",
   "requestorPath": "FlexDeploy / Application 1"
}

Back to Top

...