Workflow Execution API

Workflow executions can be accessed through this API using GET this allows for the retrieval of workflow executions and there logs.

Authentication - Use Basic Authentication for this API.

Most functions return a JSON workflow execution object. The workflow execution object has these attributes:

AttributesTypeDescription
workflowExecutionIdLongThis is the unique id of the workflow execution
dockerImageNameStringThis is the name of the docker image
environmentIdLongThis is the unique Id of the environment
executionStatusStringThis is the status of the execution i.e. Success, Failure, Running
instanceIdLongThis is the unique Id of the instance
parentWorkflowExecutionIdLongThis is the unique id of a parent execution, if one exists
predeployWorkflowExecutionIdLongThis is the unique id of a pre-deploy execution, if one was used
projectIdLongThis is the unique Id of the project
projectVersionIdLongThis is the unique Id of the project version
projectWorkflowIdLongThis is the unique Id of the project workflow
endTimeTimestampThis is the time the execution ended, if it has ended
startTimeTimestampThis is the time the execution started
workflowRequestIdLongThis is the unique id of the workflow request
workflowVersionIdLongThis is the unique id of the workflow version
workflowExecutionOutputsList<CodeValueInputPOJO>This returns the list of workflow outputs for the execution
createdOnTimestampThis is the time the execution was created
createdByStringThis is the user who created the execution
updatedOnTimestampThis is the time the execution was updated
updatedByStringThis is the user who updated the execution last
versionNumberIntegerThis the version number of the execution
workflowStateStringThis is the state of the workflow
workflowIdLongThis is the id of the workflow
workflowTypeStringThis is the type of the workflow
reviewStatusStringThis is the status of the review
abortedOnTimestampThis is when the execution was aborted if applicable
abortedByStringThis is who aborted the execution if applicable

Back to Top



GET

There are two implementations of GET. One will find a workflow execution with the given Id and return the JSON representation of the workflow execution. The other will find a list of workflow executions matching the parameters supplied to it.

GET by ID

This GET service will find an execution with the given Id and return the JSON representation of the object. 

Parameters

Parameter

Type

Required

Description

workflowExecutionIdURLYesThis is a URL parameter for the Id which is used to find and return an execution.

Response Codes

HTTP Code
Description
200

Workflow Execution was found and returned

400Bad request
401Authentication failure
403Authorization failure (no access to resource)
404Workflow Execution not found
500Unexpected internal server error

Example

If we had a workflow execution in our database with an Id of 1174966 and had the following attributes

Workflow Execution - 1174966
{
    "workflowVersionId": 228650,
    "workflowState": "<State Info>",
    "parentWorkflowExecutionId": null,
    "dockerImageName": null,
    "projectWorkflowId": 4113,
    "predeployWorkflowExecId": null,
    "createdOn": "2022-03-21T17:58:30.933+0000",
    "createdBy": "fdadmin",
    "updatedOn": "2022-03-21T17:58:40.085+0000",
    "updatedBy": "fdadmin",
    "versionNumber": 7,
    "reviewStatus": null,
    "endTime": "2022-03-21T17:58:40.071+0000",
    "abortedBy": null,
    "abortedOn": null,
    "workflowExecutionId": 1174966,
    "workflowExecutionOutputs": [],
    "executionStatus": "Success",
    "workflowType": "DEPLOY",
    "startTime": "2022-03-21T17:58:32.500+0000",
    "workflowRequestId": 268609,
    "projectId": 4107,
    "environmentId": 11595,
    "projectVersionId": 1966876,
    "workflowId": 4126,
    "instanceId": 4204
}

When we run a GET request at the following URL

http://host:port/flexdeploy/rest/v1/workflowexecution/1174966

The GET request would return the following JSON execution object

Execution GET Return JSON
{
    "workflowVersionId": 228650,
    "workflowState": "<State Info>",
    "parentWorkflowExecutionId": null,
    "dockerImageName": null,
    "projectWorkflowId": 4113,
    "predeployWorkflowExecId": null,
    "createdOn": "2022-03-21T17:58:30.933+0000",
    "createdBy": "fdadmin",
    "updatedOn": "2022-03-21T17:58:40.085+0000",
    "updatedBy": "fdadmin",
    "versionNumber": 7,
    "reviewStatus": null,
    "endTime": "2022-03-21T17:58:40.071+0000",
    "abortedBy": null,
    "abortedOn": null,
    "workflowExecutionId": 1174966,
    "workflowExecutionOutputs": [],
    "executionStatus": "Success",
    "workflowType": "DEPLOY",
    "startTime": "2022-03-21T17:58:32.500+0000",
    "workflowRequestId": 268609,
    "projectId": 4107,
    "environmentId": 11595,
    "projectVersionId": 1966876,
    "workflowId": 4126,
    "instanceId": 4204
}

Back to Top

GET (Using Query Parameters)

This GET service will return a list of executions in the form of JSON objects based on the query parameters code and name. Executions are only returned if they match all of the specified query parameters. If no query parameters are given this request will return the entire list of executions.

API URLs

http://host:port/flexdeploy/rest/v1/workflowExecution?

Append the following character sequences to the above URL to specify Query parameters.
Use '&' between successive query parameters: 

workflowExecutionId={workflowExecutionId}

workflowRequestId={workflowRequestId}

The query parameters are not case sensitive. Searching by name=NAME is the same as searching by name=name. Also workflowExecutionOutputs[] will always be null when search is made, must use the other GET operation which is get by ID, to see the outputs.

Parameters

Parameter

Type

Required

Description

workflowExecutionIdURLNoSearch by workflow execution id

workflowRequestId

URLNoSearch by workflow request id
parentWorkflwoRequestIdURLNoSearch by parent workflow execution id
projectIdURLNoSearch by project id
projectVersionIdURLNoSearch by project version id
projectWorkflowIdURLNoSearch by project workflow id
workflowVersionidURLNoSearch by project id
environmentIdURLNoSearch by environment id
instanceIdURLNoSearch by instance id
predeployWorkflowExecIdURLNoSearch by predeploy workflow execution Id
executionStatusURLNoSearch by execution status
dockerImageNameURLNoSearch by docker image name
workflowIdURLNoSearch by workflow Id
workflowTypeURLNoSearch by workflow type
reviewStatusURLNoSearch by review status
limitURLNoLimit the number of results. i.e. if set to 10, only 10 executions will be returned. if not included all will be returned.
offsetURLNoOffset of the results. This will offset the results. i.e. if you set the limit to 10, and now you want the next 10, set the offset to 10 and it will skip the first 10.

Response Codes

HTTP Code
Description
200

Matching Workflow Executions returned

400Bad request
401Authentication failure
403Authorization failure (no access to resource)
500Unexpected internal server error

Example

If we had a workflow execution in our database with an Id of 1174966 and had the following attributes

Execution - 1174966
{
    "workflowVersionId": 228650,
    "workflowState": "<State Info>",
    "parentWorkflowExecutionId": null,
    "dockerImageName": null,
    "projectWorkflowId": 4113,
    "predeployWorkflowExecId": null,
    "createdOn": "2022-03-21T17:58:30.933+0000",
    "createdBy": "fdadmin",
    "updatedOn": "2022-03-21T17:58:40.085+0000",
    "updatedBy": "fdadmin",
    "versionNumber": 7,
    "reviewStatus": null,
    "endTime": "2022-03-21T17:58:40.071+0000",
    "abortedBy": null,
    "abortedOn": null,
    "workflowExecutionOutputs": null,
    "workflowExecutionId": 1174966,
    "workflowExecutionOutputs": null,
    "executionStatus": "Success",
    "workflowType": "DEPLOY",
    "startTime": "2022-03-21T17:58:32.500+0000",
    "workflowRequestId": 268609,
    "projectId": 4107,
    "environmentId": 11595,
    "projectVersionId": 1966876,
    "workflowId": 4126,
    "instanceId": 4204
}

When we run a GET request at the following URL

http://host:port/flexdeploy/rest/v1/workflowexecution?workflowRequestId=268609

The GET request would return the  following JSON workflow execution object

Execution GET Return JSON
[
	{
    	"workflowVersionId": 228650,
    	"workflowState": "<State Info>",
    	"parentWorkflowExecutionId": null,
    	"dockerImageName": null,
    	"projectWorkflowId": 4113,
    	"predeployWorkflowExecId": null,
    	"createdOn": "2022-03-21T17:58:30.933+0000",
    	"createdBy": "fdadmin",
    	"updatedOn": "2022-03-21T17:58:40.085+0000",
    	"updatedBy": "fdadmin",
    	"versionNumber": 7,
    	"reviewStatus": null,
    	"endTime": "2022-03-21T17:58:40.071+0000",
    	"abortedBy": null,
    	"abortedOn": null,
        "workflowExecutionOutputs": null,
    	"workflowExecutionId": 1174966,
    	"executionStatus": "Success",
    	"workflowType": "DEPLOY",
    	"startTime": "2022-03-21T17:58:32.500+0000",
    	"workflowRequestId": 268609,
    	"projectId": 4107,
    	"environmentId": 11595,
    	"projectVersionId": 1966876,
    	"workflowId": 4126,
    	"instanceId": 4204
	}
]


Back to Top

GET Logs

This GET service will download all logs associated with this execution as a zip file.

Parameters

Parameter

Type

Required

Description

workflowExecutionIdURLYesThis is a URL parameter for the Id which is used to find and return an execution.

Result

logs.zip contains a folder named after the endpoint Id and then zero or more text files “PluginLogs_<Request_Id>_<Project_Id>.txt”



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