Versions Compared

Key

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

FlexDeploy supports a REST Service interface using JSON. This enables access to capabilities of the tool from outside applications such as scheduling tools, scripts, and other build tools.

Make sure that you have request header Content-Type set to application/json.

Info
titleBase URL for Approval Tasks REST API
http://<host>:<port>/flexdeploy/rest/task

API Functions

Child pages (Children Display)
Excerpt
hiddentrue

Common Parameters

Authentication

The authentication parameter is comprised of 2 fields.

  • userId – a valid user id for FlexDeploy
  • password – the associated password

PropertyName

This is the Property Name (code), and not the Key Name that you see on most screens, that the request will update the value for. To copy the Property Name to your clipboard click on the clipboard icon Image Removed to the right of any property.

UpdatedValue

This is the new value that will be assigned to the respective property.

IsExpression

This is a required, boolean value indicating whether or not the updatedValue is an expression (true) or a literal value. On the FlexDeploy screens the properties have a button that toggles to indicate whether a value is an expression Image Removed or a literal value Image Removed.

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.

Include Page
REST V1 Authentication
REST V1 Authentication

Table of Contents
maxLevel2

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/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.

Include Page
REST V1 Approval Task Response
REST V1 Approval Task Response

Example

If we had an approval task 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",
   "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

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",
   "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.

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


Tip

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

Include Page
REST V1 Approval Task Response
REST V1 Approval Task Response

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",
   "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

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",
   "notes": null
}
]

Approve By TaskId

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

Info
titleAPI URL

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

Request

AttributesTypeRequiredDescription
IdLongYesThe Id of the approval task you wish to approve

Include Page
REST V1 Approval Task Response
REST V1 Approval Task Response

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",
   "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

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",
   "notes": "Approved by George"
}

Approve using Query Parameters

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

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


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.

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

Include Page
REST V1 Approval Task Response
REST V1 Approval Task Response

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",
   "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

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",
   "notes": "Approved by George"
}

Reject By TaskId

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

Info
titleAPI URL

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

Request

AttributesTypeRequiredDescription
IdLongYesThe Id of the approval task you wish to reject

Include Page
REST V1 Approval Task Response
REST V1 Approval Task Response

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",
   "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

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",
   "notes": "Approved by George"
}

Reject using Query Parameters

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

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


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.

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

Include Page
REST V1 Approval Task Response
REST V1 Approval Task Response

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",
   "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

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",
   "notes": null
}