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
Parameter | Type | Required | Description |
---|---|---|---|
workflowId | URL | Yes | Path parameter for the workflow Id |
Response
Workflow JSON objects have the following attributes:
Attribute | Type | Description |
---|---|---|
workflowId | Long | This is the unique Id of the workflow |
workflowName | String | This is the name of the workflow. |
workflowType | String | This is the type of the workflow. Possible workflow types are:
|
isActive | Boolean | This is a Boolean that tracks whether or not the workflow is active. |
group | String | This is the group of the workflow. |
subgroup | String | This is the subgroup of the workflow. |
description | String | This is the description of the workflow. |
activeVersionId | Long | This is the id of the active version of the workflow. |
activeVersionName | String | This is version name for active version. For example, 1.1 |
properties | List<Property> | Workflow Properties, listed on the main tab of the workflow. More about the Property object is listed below. |
pluginOperations | List<PluginOperation> | List of plugin operations used in this workflow. Each plugin operation includes the operation name and plugin id. |
Property JSON objects have the following attributes:
Attribute | Type | Description |
---|---|---|
name | String | Code for the property. |
displayName | String | Display name of the property. |
listData | List<String> | List of possible values for the property. |
isActive | Boolean | Whether the property is active or not. |
dataType | String | Data type of the property. |
defaultValue | Depends | Default value for the property. |
isEncrypted | Boolean | Whether the property is encrypted or not. |
isRequired | Boolean | Whether the property is required or not. |
isMultiselect | Boolean | Whether multiple values can be inputted for this property. |
isDefaultValueExpression | Boolean | Whether the default value for this property is an expression. Otherwise, it's interpreted as plain text. |
subDataType | String | Sub data type of the property. |
description | String | Description of the property. |
scope | String | Scope of the property. Possible values are Environment Instance and Project. |
displayRows | Number | Number of display rows used in the UI input. @since 5.3.0.2 |
displayColumns | Number | Number of display columns used in the UI input. @since 5.3.0.2 |
PluginOperation JSON (represents plugin operations used by workflow) objects have following attributes:
Attribute | Type | Description |
---|---|---|
operation | String | Plugin operation name. For example, soaBuild |
pluginId | Long | Plugin Id |
Response Codes
HTTP Code | Description |
---|---|
200 | Workflow was found and returned |
400 | Bad request |
401 | Authentication failure |
403 | Authorization failure (no access to resource) |
404 | Workflow not found |
500 | Unexpected internal server error |
Example
If a workflow has an id of 12345 and a GET request was sent to http://host:port/flexdeploy/v1/rest/workflows/12345
A workflow JSON object will be returned with the following workflow information:
{ "workflowId": 12345, "workflowName": "Run SoapUI Test", "workflowType": "TEST_DEFINITION", "description": "SoapUI execute test workflow", "group": "FlexDeploy(read only)", "subgroup": "Testing", "activeVersionId": 21598, "isActive": true, "properties": [], "pluginOperations": [ { "operation": "runSoapUILoadTest", "pluginId": 155247 } ] }
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 |
---|---|---|---|
workflowName | No | Query - String | The name of the workflow to search for. Uses contains ignore case search. |
workflowType | No | Query - String | The type of the workflow to search for. Uses equals ignore case search. Possible workflow types are:
|
group | No | Query - String | The group name to search workflows for. Uses equals ignore case search. |
subgroup | No | Query - String | The subgroup name to search workflows for. Uses equals ignore case search. |
Response
Attribute | Type | Description |
---|---|---|
workflowId | Long | This is the unique Id of the workflow |
workflowName | String | This is the name of the workflow. |
workflowType | String | This is the type of the workflow. Possible workflow types are:
|
isActive | Boolean | This is a Boolean that tracks whether or not the workflow is active. |
group | String | This is the group of the workflow. |
subgroup | String | This is the subgroup of the workflow. |
description | String | This is the description of the workflow. |
activeVersionId | Long | This is the id of the active version of the workflow. |
activeVersionName | String | This is version name for active version. For example, 1.1 |
properties | List<Property> | Workflow Properties, listed on the main tab of the workflow. More about the Property object is listed below. |
pluginOperations | List<PluginOperation> | List of plugin operations used in this workflow. Each plugin operation includes the operation name and plugin id. |
Property JSON objects have the following attributes:
Attribute | Type | Description |
---|---|---|
name | String | Code for the property. |
displayName | String | Display name of the property. |
listData | List<String> | List of possible values for the property. |
isActive | Boolean | Whether the property is active or not. |
dataType | String | Data type of the property. |
defaultValue | Depends | Default value for the property. |
isEncrypted | Boolean | Whether the property is encrypted or not. |
isRequired | Boolean | Whether the property is required or not. |
isMultiselect | Boolean | Whether multiple values can be inputted for this property. |
isDefaultValueExpression | Boolean | Whether the default value for this property is an expression. Otherwise, it's interpreted as plain text. |
subDataType | String | Sub data type of the property. |
description | String | Description of the property. |
scope | String | Scope of the property. Possible values are Environment Instance and Project. |
displayRows | Number | Number of display rows used in the UI input. @since 5.3.0.2 |
displayColumns | Number | Number of display columns used in the UI input. @since 5.3.0.2 |
PluginOperation JSON (represents plugin operations used by workflow) objects have following attributes:
Attribute | Type | Description |
---|---|---|
operation | String | Plugin operation name. For example, soaBuild |
pluginId | Long | Plugin Id |
Response Codes
HTTP Code | Description |
---|---|
200 | Search successful and results returned |
400 | Bad request |
401 | Authentication failure |
403 | Authorization failure (no access to resource) |
500 | Unexpected internal server error |
Example
If a workflow has an id of 10111 and a GET request was sent to http://host:port/flexdeploy/rest/v1/workflows?name=JMeter-runTest&type=TEST_Definition
A workflow JSON object will be returned with the following workflow information:
{ "workflowId": 10111, "workflowName": "JMeter-runTest", "workflowType": "TEST_DEFINITION", "description": "JMeter execute test workflow", "group": "FlexDeploy(read only)", "subgroup": "Testing", "activeVersionId": 10862, "isActive": true, "properties": [], "pluginOperations": [ { "operation": "runTest", "pluginId": 68740 } ] }
- style