Loading...

Executing a Workflow as a Job (REST API: POST)

Description

This operation executes a workflow as a job. To execute a workflow as an API, see Executing a Workflow as an API.

For information on the Workflow Job mode, see Setting General Properties.

Request

Syntax

XML

POST <webservice>/Workflow/{workflowName}/Action/Execute?outputOnly={outputOnly} HTTP/1.1
Host: <host name>
Accept: application/xml
Authtoken: <authentication token>
Content-type: application/xml

<execute_workflow_template.xml>

JSON

POST <webservice>/Workflow/{workflowName}/Action/Execute?outputOnly={outputOnly} HTTP/1.1
Host: <host name>
Accept: application/json
Authtoken: <authentication token>
Content-type: application/json

<execute_workflow_template.json>

where <webservice> is the root path used to route the API requests to the Web Server.

For more information, see Available Web Services for REST API.

Request Parameters

Name Description Required
workflowName The name of the workflow. If the workflow name is not known, use the GET Workflow API to retrieve it. Yes
outputOnly The option to return the workflow output. In the CommCell console, this is the output in the Outputs tab in the Workflow Properties pane. The workflow output is returned in the response in either XML or JSON format. Use the outputFormat parameter in the request body to define the format of the workflow output.

Note: Before using the outputOnly parameter, go to the CommCell console and set the Start interactive session property to true. For instructions, see Setting General Properties.

Valid values are True/False.

No

Request Headers

Name Description
Host The host name of the web server.
Accept The format of the response. Valid values are: application/xml or application/json.
Authtoken The authentication token received after successfully logging on. For details on receiving an authentication token, see Authentication.
Content-type The media type contained in the request body.

Request Body

Download the XML or JSON file required for this request: execute_workflow_template.xml or execute_workflow_template.json. The following table displays the parameters for the request body.

Parameter Description Element Parent Element
outputFormat The format of the workflow output if the outputOnly request parameter is true.

Valid values are:

  • 0, to format the workflow output as XML
  • 1, to format the workflow output as JSON
Workflow_StartWorkflow  
workflow_level_input_variable The value of the workflow level input needed to execute the workflow. Add an element for each input, for example:

<inputs>
 <INPUT1>input_value</INPUT1>
 <INPUT2>input_value</INPUT2>
 <INPUT3>input_value</INPUT3>
 <INPUTN>input_value</INPUTN>
</inputs>

where:

  • INPUT1 to INPUTN are the workflow level input variables
  • input_value is the value for the workflow level input variables defined as the element
inputs options
clientName The client name of the workflow engine. If the client name is not entered, the workflow executes using the default workflow engine.

To use the workflow engine with the latest deployed version of the workflow, use the clientId parameter.

client Workflow_StartWorkflow
clientId The option to use the workflow engine with the latest deployed version of the workflow.

Valid value is 0.

client Workflow_StartWorkflow

Response

Response Parameters

Parameter Description Element
jobId The system-generated ID assigned to the job. Workflow_StartWorkflowResponse
processId The system-generated ID assigned to the process. Workflow_StartWorkflowResponse
output_str The workflow output. outputs

Examples

Sample Request

XML

This request executes a workflow named "Registration." The workflow uses four workflow level inputs.

POST <webservice>/Workflow/Registration/Action/Execute HTTP/1.1
Host: client.mydomain.com
Accept: application/xml
Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
Content-type: application/xml

<Workflow_StartWorkflow>
  <options>
    <inputs>
      <F_NAME>J</F_NAME>
      <L_NAME>Doe</L_NAME>
      <COMPANY>My Company</COMPANY>
      <EMAIL_ADDR>jdoe@mycompany.com</EMAIL_ADDR>
    </inputs>
  </options>
  <client>
    <clientName>client0001</clientName>
  </client>
</Workflow_StartWorkflow>

This request executes a workflow named "Approval" and returns the workflow output in JSON format in the response. The workflow uses one workflow level input.

POST <webservice>/Workflow/Approval/Action/Execute?outputOnly=true HTTP/1.1
Host: client.mydomain.com
Accept: application/xml
Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
Content-type: application/xml

<Workflow_StartWorkflow>
  <outputFormat>1</outputFormat>
  <options>
    <inputs>
      <EMAIL_ADDR>jdoe@mycompany.com</EMAIL_ADDR>
    </inputs>
  </options>
  <client>
    <clientName>client0001</clientName>
  </client>
</Workflow_StartWorkflow>

JSON

This request executes a workflow named "Registration." The workflow uses four workflow level inputs.

POST <webservice>/Workflow/Registration/Action/Execute HTTP/1.1
Host: client.mydomain.com
Accept: application/json
Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
Content-type: application/json

{
    "options":{
      "inputs":{
        "F_NAME":"J",
        "L_NAME":"Doe",
        "COMPANY":"My Company",
        "EMAIL_ADDR":"jdoe@mycompany.com"
      }
    },
    "client":{
      "clientName":"client0001"
    }
}

This request executes a workflow named "Approval" and returns the workflow output in JSON format in the response. The workflow uses one workflow level input.

POST <webservice>/Workflow/Approval/Action/Execute?outputOnly=true HTTP/1.1
Host: client.mydomain.com
Accept: application/json
Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
Content-type: application/json

{
  "outputFormat":"1",
  "options":{
      "inputs":{
        "EMAIL_ADDR":"jdoe@mycompany.com"
      }
    },
    "client":{
      "clientName":"client0001"
    }
}

Sample Response

XML

This is the response when the workflow is executed.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Workflow_StartWorkflowResponse jobId="163017" processId="163017"/>

This is the response when the workflow is executed and the workflow output in XML format was requested.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<outputs><output_str class="java.lang.String">Your machine request was approved.</output_str></outputs>

JSON

This is the response when the workflow is executed.

{"jobId":"4548","processId":"4548"}

This is the response when the workflow is executed and the workflow output in JSON format was requested.

{"output_str":"Your machine request was approved."}