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

    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
    }