Workflow API

Workflows can be retrieved using this API using the GET service.

Authentication - Use Basic Authentication for this API.

GET (By Id)

This GET service will return the JSON representation of a workflow given a workflow Id.

API URL

http://host:port/flexdeploy/rest/v1/workflows/{workflowId}

Request

ParameterTypeRequiredDescription
workflowIdURLYesPath parameter for the workflow Id

Response

Workflow JSON objects have the following attributes:

AttributeTypeDescription
workflowIdLongThis is the unique Id of the workflow
workflowNameStringThis is the name of the workflow.
workflowTypeStringThis is the type of the workflow.  Possible workflow types are:
  • BUILD
  • DEPLOY
  • OTHER
  • TEST
  • TEST_DEFINITION
  • UTILITY
isActiveBooleanThis is a Boolean that tracks whether or not the workflow is active.
groupStringThis is the group of the workflow.
subgroupStringThis is the subgroup of the workflow.
descriptionStringThis is the description of the workflow.
activeVersionIdLongThis is the id of the active version of the workflow.

Response Codes

HTTP CodeDescription
200Workflow was found and returned
400Bad request
401Authentication failure
403Authorization failure (no access to resource)
404Workflow not found
500Unexpected internal server error

Example

If a workflow has an id of 12345 and a GET request was sent to http://host:port/flexdeploy/rest/v1/workflows/12345

A workflow JSON object will be returned with the following workflow information:

Workflow GET Return JSON
{
"workflowId": 12345,
"workflowName": "Run SoapUI Test",
"workflowType": "TEST_DEFINITION",
"description": "SoapUI execute test workflow",
"group": "FlexDeploy(read only)",
"subgroup": "Testing",
"activeVersionId": 21598,
"isActive": true
}

GET (Using Query Parameters)

This GET service will find a workflow by querying based on a name, type, group, and/or subgroup and will return the JSON representations of the objects. If no query parameters are given this request will return the entire list of workflows.

API URLs

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

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

workflowName={name}

workflowType={type}

group={group}

subgroup={subgroup}

Examples:
To search by name only:

http://host:port/flexdeploy/rest/v1/workflows?workflowName={name}

To search by group only:

http://host:port/flexdeploy/rest/v1/workflows?group={group}

To search by subgroup and name:

http://host:port/flexdeploy/rest/v1/workflows?subgroup={subgroup}&workflowName={name}

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

Request

Parameter
Required
Type
Description
workflowNameNoQuery - StringThe name of the workflow to search for.  Uses contains ignore case search.
workflowTypeNoQuery - StringThe type of the workflow to search for.  Uses equals ignore case search.  Possible workflow types are:
  • BUILD
  • DEPLOY
  • OTHER
  • TEST
  • TEST_DEFINITION
  • UTILITY
groupNoQuery - StringThe group name to search workflows for.  Uses equals ignore case search.
subgroupNoQuery - StringThe subgroup name to search workflows for.  Uses equals ignore case search.

Response

AttributesTypeDescription
workflowIdLongThis is the unique Id of the workflow
workflowNameStringThis is the name of the workflow.
workflowTypeString

This is the type of the workflow.  Possible workflow types are:

  • BUILD
  • DEPLOY
  • OTHER
  • TEST
  • TEST_DEFINITION
  • UTILITY
isActiveBooleanThis is a Boolean that tracks whether or not the workflow is active.
GroupStringThis is the group of the workflow.
SubgroupStringThis is the subgroup of the workflow.
DescriptionStringThis is the description of the workflow.
activeVersionIdLongThis is the id of the active version of the workflow.

Response Codes

HTTP Code
Description
200Search successful and results returned
400Bad request
401Authentication failure
403Authorization failure (no access to resource)
500Unexpected internal server error

Example

If we had a workflow in our database with a name 'JMeter-runTest' and had the following attributes

Workflow - JMeter-runTest
{
"workflowId": 10111,
"workflowName": "JMeter-runTest",
"workflowType": "TEST_DEFINITION",
"description": "JMeter execute test workflow",
"group": "FlexDeploy(read only)",
"subgroup": "Testing",
"activeVersionId": 10862,
"isActive": true
}

When we run a GET request at the following URL

http://host:port/flexdeploy/rest/v1/workflows?name=JMeter-runTest&type=TEST_Definition

The GET request would return the  following JSON workflow object

Workflow GET Return JSON
{
"workflowId": 10111,
"workflowName": "JMeter-runTest",
"workflowType": "TEST_DEFINITION",
"description": "JMeter execute test workflow",
"group": "FlexDeploy(read only)",
"subgroup": "Testing",
"activeVersionId": 10862,
"isActive": true
}