Workflow API

Workflow API

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

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

Parameter

Type

Required

Description

workflowId

URL

Yes

Path parameter for the workflow Id

Response

Workflow JSON objects have the following attributes:

Attribute

Type

Description

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:

  • BUILD

  • DEPLOY

  • OTHER

  • TEST

  • TEST_DEFINITION

  • UTILITY

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

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.

displayColumns

Number

Number of display columns used in the UI input.

PluginOperation JSON (represents plugin operations used by workflow) objects have following attributes:

Attribute

Type

Description

Attribute

Type

Description

operation

String

Plugin operation name. For example, soaBuild

pluginId

Long

Plugin Id

Response Codes

HTTP Code

Description

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:

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

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:

  • BUILD

  • DEPLOY

  • OTHER

  • TEST

  • TEST_DEFINITION

  • UTILITY

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

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:

  • BUILD

  • DEPLOY

  • OTHER

  • TEST

  • TEST_DEFINITION

  • UTILITY

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

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.

displayColumns

Number

Number of display columns used in the UI input.

PluginOperation JSON (represents plugin operations used by workflow) objects have following attributes:

Attribute

Type

Description

Attribute

Type

Description

operation

String

Plugin operation name. For example, soaBuild

pluginId

Long

Plugin Id

Response Codes

HTTP Code

Description

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:

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, "properties": [], "pluginOperations": [ { "operation": "runTest", "pluginId": 68740 } ] }
The following macros are not currently supported in the footer:
  • style