Chilkat Online Tools

VB6 / Orchestrator API Documentation / Start Process

Back to Collection Items

' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim http As New ChilkatHttp
Dim success As Long

' 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": "{{releaseKey}}",
'     "JobsCount": 1,
'     "JobPriority": "Normal",
'     "Strategy": "ModernJobsCount",
'     "RuntimeType": "Unattended",
'     "InputArguments": "{\"status\":\"Sold\"}"
'   }
' }

Dim json As New ChilkatJsonObject
success = json.UpdateString("startInfo.ReleaseKey","{{releaseKey}}")
success = json.UpdateInt("startInfo.JobsCount",1)
success = json.UpdateString("startInfo.JobPriority","Normal")
success = json.UpdateString("startInfo.Strategy","ModernJobsCount")
success = json.UpdateString("startInfo.RuntimeType","Unattended")
success = json.UpdateString("startInfo.InputArguments","{""status"":""Sold""}")

http.SetRequestHeader "Content-Type","application/json"
' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"
http.SetRequestHeader "X-UIPATH-OrganizationUnitId","{{folderId}}"

Dim resp As ChilkatHttpResponse
Set resp = http.PostJson3("https://domain.com/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs","application/json",json)
If (http.LastMethodSuccess = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)

Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0

Debug.Print "Response Body:"
Debug.Print jResp.Emit()

Dim respStatusCode As Long
respStatusCode = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Header:"
    Debug.Print resp.Header
    Debug.Print "Failed."

    Exit Sub
End If

' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)

' {
'   "@odata.context": "https://cloud.uipath.com/org/tenant/orchestrator_/odata/$metadata#Jobs",
'   "value": [
'     {
'       "Key": "4d7ea00a-996b-4a7d-961b-9068d9a519b3",
'       "StartTime": null,
'       "EndTime": null,
'       "State": "Pending",
'       "JobPriority": "Normal",
'       "Source": "Manual",
'       "SourceType": "Manual",
'       "BatchExecutionKey": "1e089817-98da-4dd0-b527-7aea211c4ef9",
'       "Info": null,
'       "CreationTime": "2021-04-20T09:06:13.78Z",
'       "StartingScheduleId": null,
'       "ReleaseName": "Update existsing pet by ID",
'       "Type": "Unattended",
'       "InputArguments": "{\"status\":\"Sold\"}",
'       "OutputArguments": null,
'       "HostMachineName": null,
'       "HasMediaRecorded": false,
'       "PersistenceId": null,
'       "ResumeVersion": null,
'       "StopStrategy": null,
'       "RuntimeType": "Unattended",
'       "RequiresUserInteraction": true,
'       "ReleaseVersionId": null,
'       "EntryPointPath": null,
'       "OrganizationUnitId": 515128,
'       "OrganizationUnitFullyQualifiedName": null,
'       "Reference": "",
'       "ProcessType": "Process",
'       "Id": 14435785
'     }
'   ]
' }

' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

Dim Key As String
Dim StartTime As String
Dim EndTime As String
Dim State As String
Dim JobPriority As String
Dim Source As String
Dim SourceType As String
Dim BatchExecutionKey As String
Dim Info As String
Dim CreationTime As String
Dim StartingScheduleId As String
Dim ReleaseName As String
Dim v_Type As String
Dim InputArguments As String
Dim OutputArguments As String
Dim HostMachineName As String
Dim HasMediaRecorded As Long
Dim PersistenceId As String
Dim ResumeVersion As String
Dim StopStrategy As String
Dim RuntimeType As String
Dim RequiresUserInteraction As Long
Dim ReleaseVersionId As String
Dim EntryPointPath As String
Dim OrganizationUnitId As Long
Dim OrganizationUnitFullyQualifiedName As String
Dim Reference As String
Dim ProcessType As String
Dim Id As Long

Dim odata_context As String
odata_context = jResp.StringOf("""@odata.context""")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("value")
Do While i < count_i
    jResp.I = i
    Key = jResp.StringOf("value[i].Key")
    StartTime = jResp.StringOf("value[i].StartTime")
    EndTime = jResp.StringOf("value[i].EndTime")
    State = jResp.StringOf("value[i].State")
    JobPriority = jResp.StringOf("value[i].JobPriority")
    Source = jResp.StringOf("value[i].Source")
    SourceType = jResp.StringOf("value[i].SourceType")
    BatchExecutionKey = jResp.StringOf("value[i].BatchExecutionKey")
    Info = jResp.StringOf("value[i].Info")
    CreationTime = jResp.StringOf("value[i].CreationTime")
    StartingScheduleId = jResp.StringOf("value[i].StartingScheduleId")
    ReleaseName = jResp.StringOf("value[i].ReleaseName")
    v_Type = jResp.StringOf("value[i].Type")
    InputArguments = jResp.StringOf("value[i].InputArguments")
    OutputArguments = jResp.StringOf("value[i].OutputArguments")
    HostMachineName = jResp.StringOf("value[i].HostMachineName")
    HasMediaRecorded = jResp.BoolOf("value[i].HasMediaRecorded")
    PersistenceId = jResp.StringOf("value[i].PersistenceId")
    ResumeVersion = jResp.StringOf("value[i].ResumeVersion")
    StopStrategy = jResp.StringOf("value[i].StopStrategy")
    RuntimeType = jResp.StringOf("value[i].RuntimeType")
    RequiresUserInteraction = jResp.BoolOf("value[i].RequiresUserInteraction")
    ReleaseVersionId = jResp.StringOf("value[i].ReleaseVersionId")
    EntryPointPath = jResp.StringOf("value[i].EntryPointPath")
    OrganizationUnitId = jResp.IntOf("value[i].OrganizationUnitId")
    OrganizationUnitFullyQualifiedName = jResp.StringOf("value[i].OrganizationUnitFullyQualifiedName")
    Reference = jResp.StringOf("value[i].Reference")
    ProcessType = jResp.StringOf("value[i].ProcessType")
    Id = jResp.IntOf("value[i].Id")
    i = i + 1
Loop

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-H "Content-Type: application/json"
	-H "X-UIPATH-OrganizationUnitId: {{folderId}}"
	-d '{
    "startInfo": {
        "ReleaseKey": "{{releaseKey}}",
        "JobsCount": 1,
        "JobPriority": "Normal",
        "Strategy": "ModernJobsCount",
        "RuntimeType": "Unattended",
        "InputArguments": "{\"status\":\"Sold\"}"
    }
}'
https://domain.com/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs

Postman Collection Item JSON

{
  "name": "Start Process",
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "exec": [
          ""
        ],
        "type": "text/javascript"
      }
    },
    {
      "listen": "test",
      "script": {
        "exec": [
          "pm.test(\"Status code is 201\", function () {\r",
          "    pm.response.to.have.status(201);\r",
          "});\r",
          "\r",
          "//set JobId key\r",
          "var myResponse = pm.response.json();\r",
          "pm.collectionVariables.set(\"jobId\", myResponse.value[0].Id);\r",
          "console.log(pm.collectionVariables.get(\"jobId\"));"
        ],
        "type": "text/javascript"
      }
    }
  ],
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json",
        "type": "text"
      },
      {
        "key": "X-UIPATH-OrganizationUnitId",
        "value": "{{folderId}}",
        "type": "text"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\r\n    \"startInfo\": {\r\n        \"ReleaseKey\": \"{{releaseKey}}\",\r\n        \"JobsCount\": 1,\r\n        \"JobPriority\": \"Normal\",\r\n        \"Strategy\": \"ModernJobsCount\",\r\n        \"RuntimeType\": \"Unattended\",\r\n        \"InputArguments\": \"{\\\"status\\\":\\\"Sold\\\"}\"\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** you need to hand over at least the following request body input parameters:\n\n1. `ReleaseKey`: The ID you get in the previous step _GET Releases by name_. The Orchestator needs this key to run a specific version of a process.\n2. `Strategy`: For modern folders we recommend to make use of _ModernJobsCount_.\n3. `JobsCount`: How often the job will be executed.\n4. `InputArguments`: If your job has input parameters, they can be sent as a JSON string in the _InputArguments_ field. If it does not, this field will be ignored. See how input arguments are handed over in this example.\n\nFind more details on how to start of job [here](https://docs.uipath.com/orchestrator/docs/managing-jobs)."
  },
  "response": [
    {
      "name": "Start Process",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json",
            "type": "text"
          },
          {
            "key": "X-UIPATH-OrganizationUnitId",
            "value": "{{folderId}}",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\r\n    \"startInfo\": {\r\n        \"ReleaseKey\": \"{{releaseKey}}\",\r\n        \"JobsCount\": 1,\r\n        \"JobPriority\": \"Normal\",\r\n        \"Strategy\": \"ModernJobsCount\",\r\n        \"RuntimeType\": \"Unattended\",\r\n        \"InputArguments\": \"{\\\"status\\\":\\\"Sold\\\"}\"\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": "Date",
          "value": "Tue, 20 Apr 2021 09:06:13 GMT"
        },
        {
          "key": "Content-Type",
          "value": "application/json; odata.metadata=minimal; odata.streaming=true"
        },
        {
          "key": "Transfer-Encoding",
          "value": "chunked"
        },
        {
          "key": "Connection",
          "value": "keep-alive"
        },
        {
          "key": "Cache-Control",
          "value": "no-cache, no-store, must-revalidate"
        },
        {
          "key": "Pragma",
          "value": "no-cache"
        },
        {
          "key": "Expires",
          "value": "-1"
        },
        {
          "key": "Request-Context",
          "value": "appId=cid-v1:04884d99-0742-441b-a23c-847133cb0130"
        },
        {
          "key": "X-Robots-Tag",
          "value": "noindex,nofollow"
        },
        {
          "key": "X-Download-Options",
          "value": "noopen"
        },
        {
          "key": "X-XSS-Protection",
          "value": "1"
        },
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        },
        {
          "key": "X-Frame-Options",
          "value": "Deny"
        },
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=31536000; includeSubDomains"
        },
        {
          "key": "Content-Security-Policy",
          "value": "default-src 'self';script-src 'self';style-src 'self' 'unsafe-inline';img-src 'self' data: https://*.blob.core.windows.net https://*.amazonaws.com blob:;font-src 'self' data:;connect-src 'self' wss: https://sentry.io https://studio-feedback.azure-api.net https://storage.googleapis.com https://*.service.signalr.net https://*.blob.core.windows.net https://*.amazonaws.com dc.services.visualstudio.com;worker-src 'self' blob:"
        },
        {
          "key": "X-Correlation-ID",
          "value": "9dca99ab-1885-4420-830c-e3490ae41aad"
        },
        {
          "key": "OData-Version",
          "value": "4.0"
        },
        {
          "key": "api-supported-versions",
          "value": "12.0"
        },
        {
          "key": "CF-Cache-Status",
          "value": "DYNAMIC"
        },
        {
          "key": "cf-request-id",
          "value": "099020c99a00000fae930af000000001"
        },
        {
          "key": "Expect-CT",
          "value": "max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\""
        },
        {
          "key": "Server",
          "value": "cloudflare"
        },
        {
          "key": "CF-RAY",
          "value": "642d37228be00fae-VIE"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"@odata.context\": \"https://cloud.uipath.com/org/tenant/orchestrator_/odata/$metadata#Jobs\",\n    \"value\": [\n        {\n            \"Key\": \"4d7ea00a-996b-4a7d-961b-9068d9a519b3\",\n            \"StartTime\": null,\n            \"EndTime\": null,\n            \"State\": \"Pending\",\n            \"JobPriority\": \"Normal\",\n            \"Source\": \"Manual\",\n            \"SourceType\": \"Manual\",\n            \"BatchExecutionKey\": \"1e089817-98da-4dd0-b527-7aea211c4ef9\",\n            \"Info\": null,\n            \"CreationTime\": \"2021-04-20T09:06:13.78Z\",\n            \"StartingScheduleId\": null,\n            \"ReleaseName\": \"Update existsing pet by ID\",\n            \"Type\": \"Unattended\",\n            \"InputArguments\": \"{\\\"status\\\":\\\"Sold\\\"}\",\n            \"OutputArguments\": null,\n            \"HostMachineName\": null,\n            \"HasMediaRecorded\": false,\n            \"PersistenceId\": null,\n            \"ResumeVersion\": null,\n            \"StopStrategy\": null,\n            \"RuntimeType\": \"Unattended\",\n            \"RequiresUserInteraction\": true,\n            \"ReleaseVersionId\": null,\n            \"EntryPointPath\": null,\n            \"OrganizationUnitId\": 515128,\n            \"OrganizationUnitFullyQualifiedName\": null,\n            \"Reference\": \"\",\n            \"ProcessType\": \"Process\",\n            \"Id\": 14435785\n        }\n    ]\n}"
    }
  ]
}