DataFlex / Orchestrator / 4. Jobs - Start job with inputs
Back to Collection Items
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoHttp
Boolean iSuccess
Variant vJson
Handle hoJson
Variant vResp
Handle hoResp
Variant vSbResponseBody
Handle hoSbResponseBody
Handle hoJResp
Integer iRespStatusCode
String sKey
String sStartTime
String sEndTime
String sState
String sSource
String sSourceType
String sBatchExecutionKey
String sInfo
String sCreationTime
String sStartingScheduleId
String sReleaseName
String sV_Type
String sInputArguments
String sOutputArguments
Integer iId
String sOdata_context
Integer i
Integer iCount_i
String sTemp1
Boolean bTemp1
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "startInfo": {
// "ReleaseKey": "5b754c63-5d1a-4c37-bb9b-74b69e4934bf",
// "Strategy": "Specific",
// "RobotIds": [
// 1553
// ],
// "JobsCount": 0,
// "Source": "Manual",
// "InputArguments": "{\"message\":\"Aloha\"}"
// }
// }
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get ComUpdateString Of hoJson "startInfo.ReleaseKey" "5b754c63-5d1a-4c37-bb9b-74b69e4934bf" To iSuccess
Get ComUpdateString Of hoJson "startInfo.Strategy" "Specific" To iSuccess
Get ComUpdateInt Of hoJson "startInfo.RobotIds[0]" 1553 To iSuccess
Get ComUpdateInt Of hoJson "startInfo.JobsCount" 0 To iSuccess
Get ComUpdateString Of hoJson "startInfo.Source" "Manual" To iSuccess
Get ComUpdateString Of hoJson "startInfo.InputArguments" '{"message":"Aloha"}' To iSuccess
Send ComSetRequestHeader To hoHttp "Content-Type" "application/json"
// Adds the "Authorization: Bearer <access_token>" header.
Set ComAuthToken Of hoHttp To "<access_token>"
Send ComSetRequestHeader To hoHttp "X-UIPATH-OrganizationUnitId" "{{folderId}}"
Send ComSetRequestHeader To hoHttp "X-UIPATH-TenantName" "{{tenantName}}"
Get pvComObject of hoJson to vJson
Get ComPostJson3 Of hoHttp "https://domain.com/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs" "application/json" vJson To vResp
If (IsComObject(vResp)) Begin
Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
Set pvComObject Of hoResp To vResp
End
Get ComLastMethodSuccess Of hoHttp To bTemp1
If (bTemp1 = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
Send CreateComObject of hoSbResponseBody
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComGetBodySb Of hoResp vSbResponseBody To iSuccess
Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
If (Not(IsComObjectCreated(hoJResp))) Begin
Send CreateComObject of hoJResp
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess
Set ComEmitCompact Of hoJResp To False
Showln "Response Body:"
Get ComEmit Of hoJResp To sTemp1
Showln sTemp1
Get ComStatusCode Of hoResp To iRespStatusCode
Showln "Response Status Code = " iRespStatusCode
If (iRespStatusCode >= 400) Begin
Showln "Response Header:"
Get ComHeader Of hoResp To sTemp1
Showln sTemp1
Showln "Failed."
Send Destroy of hoResp
Procedure_Return
End
Send Destroy of hoResp
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "@odata.context": "https://beta.uipath.com/odata/$metadata#Jobs",
// "value": [
// {
// "Key": "b618cdfd-8714-4dbf-9a00-0586a8953c90",
// "StartTime": null,
// "EndTime": null,
// "State": "Pending",
// "Source": "Manual",
// "SourceType": "Manual",
// "BatchExecutionKey": "abbbb5de-d46a-4b9b-8f73-8a3247be0a0e",
// "Info": null,
// "CreationTime": "2018-09-21T13:28:31.1449691Z",
// "StartingScheduleId": null,
// "ReleaseName": "Heyyo_playground",
// "Type": "Unattended",
// "InputArguments": "{\"greeting\":\"Aloha\"}",
// "OutputArguments": null,
// "Id": 160856
// }
// ]
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Get ComStringOf Of hoJResp '"@odata.context"' To sOdata_context
Move 0 To i
Get ComSizeOfArray Of hoJResp "value" To iCount_i
While (i < iCount_i)
Set ComI Of hoJResp To i
Get ComStringOf Of hoJResp "value[i].Key" To sKey
Get ComStringOf Of hoJResp "value[i].StartTime" To sStartTime
Get ComStringOf Of hoJResp "value[i].EndTime" To sEndTime
Get ComStringOf Of hoJResp "value[i].State" To sState
Get ComStringOf Of hoJResp "value[i].Source" To sSource
Get ComStringOf Of hoJResp "value[i].SourceType" To sSourceType
Get ComStringOf Of hoJResp "value[i].BatchExecutionKey" To sBatchExecutionKey
Get ComStringOf Of hoJResp "value[i].Info" To sInfo
Get ComStringOf Of hoJResp "value[i].CreationTime" To sCreationTime
Get ComStringOf Of hoJResp "value[i].StartingScheduleId" To sStartingScheduleId
Get ComStringOf Of hoJResp "value[i].ReleaseName" To sReleaseName
Get ComStringOf Of hoJResp "value[i].Type" To sV_Type
Get ComStringOf Of hoJResp "value[i].InputArguments" To sInputArguments
Get ComStringOf Of hoJResp "value[i].OutputArguments" To sOutputArguments
Get ComIntOf Of hoJResp "value[i].Id" To iId
Move (i + 1) To i
Loop
End_Procedure
Curl Command
curl -X POST
-H "Authorization: Bearer <access_token>"
-H "Content-Type: application/json"
-H "X-UIPATH-TenantName: {{tenantName}}"
-H "X-UIPATH-OrganizationUnitId: {{folderId}}"
-d '{ "startInfo":
{ "ReleaseKey": "5b754c63-5d1a-4c37-bb9b-74b69e4934bf",
"Strategy": "Specific",
"RobotIds": [ 1553 ],
"JobsCount": 0,
"Source": "Manual",
"InputArguments": "{\"message\":\"Aloha\"}"
}
}'
https://domain.com/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs
Postman Collection Item JSON
{
"name": "4. Jobs - Start job with inputs",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
},
{
"key": "X-UIPATH-TenantName",
"value": "{{tenantName}}",
"type": "text"
},
{
"key": "X-UIPATH-OrganizationUnitId",
"value": "{{folderId}}",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{ \"startInfo\":\r\n { \"ReleaseKey\": \"5b754c63-5d1a-4c37-bb9b-74b69e4934bf\",\r\n \"Strategy\": \"Specific\",\r\n \"RobotIds\": [ 1553 ],\r\n \"JobsCount\": 0,\r\n \"Source\": \"Manual\",\r\n \"InputArguments\": \"{\\\"message\\\":\\\"Aloha\\\"}\"\r\n } \r\n}"
},
"url": {
"raw": "{{url}}/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs",
"host": [
"{{url}}"
],
"path": [
"odata",
"Jobs",
"UiPath.Server.Configuration.OData.StartJobs"
]
},
"description": "Within Orchestrator, a **Process** that is running or has been run is called a **Job**. To start a **Job**, navigate to the body of this call and add the release key obtained in step 2 to the first field.\n\nNow look at the `Strategy` field. This dictates how the process should be run and has 3 options:\n\n 1. _Specific_ - The process will run on a specific set of robots, whose IDs are indicated in the `RobotIds` field.\n 2. _JobsCount_ - The process will run x times where x is the value of the `JobsCount` field. Use this strategy if you don't care on which robots the job runs. Orchestrator will automatically allocate the work to any available robots.\n 3. _All_ - The process will run once on all robots.\n \nLastly, if your job has any input parameters, they can be sent as a JSON string in the `InputArguments` field. If it does not, this field will be ignored."
},
"response": [
{
"name": "Jobs - Start job with inputs",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{ \"startInfo\":\r\n { \"ReleaseKey\": \"0764f4a-2ce0-41b9-r738-4575566f3756\",\r\n \"Strategy\": \"Specific\",\r\n \"RobotIds\": [ 12345 ],\r\n \"NoOfRobots\": 0,\r\n \"Source\": \"Manual\",\r\n \"InputArguments\": \"{\\\"greeting\\\":\\\"Aloha\\\"}\"\r\n } \r\n}"
},
"url": {
"raw": "{{url}}/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs",
"host": [
"{{url}}"
],
"path": [
"odata",
"Jobs",
"UiPath.Server.Configuration.OData.StartJobs"
]
}
},
"status": "Created",
"code": 201,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Access-Control-Expose-Headers",
"value": "Request-Context",
"name": "Access-Control-Expose-Headers",
"description": "Lets a server whitelist headers that browsers are allowed to access."
},
{
"key": "CF-RAY",
"value": "45dce00e5ae5714f-ORD",
"name": "CF-RAY",
"description": "Custom header"
},
{
"key": "Cache-Control",
"value": "no-store, must-revalidate, no-cache, max-age=0",
"name": "Cache-Control",
"description": "Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds"
},
{
"key": "Connection",
"value": "keep-alive",
"name": "Connection",
"description": "Options that are desired for the connection"
},
{
"key": "Content-Length",
"value": "486",
"name": "Content-Length",
"description": "The length of the response body in octets (8-bit bytes)"
},
{
"key": "Content-Type",
"value": "application/json; odata.metadata=minimal",
"name": "Content-Type",
"description": "The mime type of this content"
},
{
"key": "Date",
"value": "Fri, 21 Sep 2018 13:28:31 GMT",
"name": "Date",
"description": "The date and time that the message was sent"
},
{
"key": "Expect-CT",
"value": "max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"",
"name": "Expect-CT",
"description": "Custom header"
},
{
"key": "OData-Version",
"value": "4.0",
"name": "OData-Version",
"description": "Custom header"
},
{
"key": "Request-Context",
"value": "appId=cid-v1:7ebf97e7-ed13-4640-bfa8-136a94cd5294",
"name": "Request-Context",
"description": "Custom header"
},
{
"key": "Server",
"value": "cloudflare",
"name": "Server",
"description": "A name for the server"
},
{
"key": "Set-Cookie",
"value": "; SameSite=lax",
"name": "Set-Cookie",
"description": "an HTTP cookie"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=31536000; includeSubDomains",
"name": "Strict-Transport-Security",
"description": "A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."
},
{
"key": "X-Content-Type-Options",
"value": "nosniff",
"name": "X-Content-Type-Options",
"description": "The only defined value, \"nosniff\", prevents Internet Explorer from MIME-sniffing a response away from the declared content-type"
},
{
"key": "X-Frame-Options",
"value": "DENY",
"name": "X-Frame-Options",
"description": "Clickjacking protection: \"deny\" - no rendering within a frame, \"sameorigin\" - no rendering if origin mismatch"
},
{
"key": "api-supported-versions",
"value": "6.0",
"name": "api-supported-versions",
"description": "Custom header"
}
],
"cookie": [
{
"expires": "Invalid Date",
"httpOnly": true,
"domain": "uipath.com",
"path": "/",
"secure": true,
"value": "d3b89a558feb68050f4b847c971f595771513704902",
"key": "__cfduid"
},
{
"expires": "Invalid Date",
"httpOnly": false,
"domain": "beta.uipath.com",
"path": "/api/Account",
"secure": false,
"value": ""
},
{
"expires": "Invalid Date",
"httpOnly": false,
"domain": "beta.uipath.com",
"path": "/odata/Jobs",
"secure": false,
"value": ""
},
{
"expires": "Invalid Date",
"httpOnly": false,
"domain": "beta.uipath.com",
"path": "/odata",
"secure": false,
"value": ""
},
{
"expires": "Invalid Date",
"httpOnly": true,
"domain": "beta.uipath.com",
"path": "/",
"secure": false,
"value": "7257e4e124a8dda60e5509939bf9c2e4e6e40cd21b3b6ea3baa3c44843eef5ff",
"key": "ARRAffinity"
}
],
"body": "{\n \"@odata.context\": \"https://beta.uipath.com/odata/$metadata#Jobs\",\n \"value\": [\n {\n \"Key\": \"b618cdfd-8714-4dbf-9a00-0586a8953c90\",\n \"StartTime\": null,\n \"EndTime\": null,\n \"State\": \"Pending\",\n \"Source\": \"Manual\",\n \"SourceType\": \"Manual\",\n \"BatchExecutionKey\": \"abbbb5de-d46a-4b9b-8f73-8a3247be0a0e\",\n \"Info\": null,\n \"CreationTime\": \"2018-09-21T13:28:31.1449691Z\",\n \"StartingScheduleId\": null,\n \"ReleaseName\": \"Heyyo_playground\",\n \"Type\": \"Unattended\",\n \"InputArguments\": \"{\\\"greeting\\\":\\\"Aloha\\\"}\",\n \"OutputArguments\": null,\n \"Id\": 160856\n }\n ]\n}"
}
]
}