Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

 

Introduction to UiPath

Thai

รู้เบื้องต้นเกี่ยวกับ UiPath


UiPath Overview

Thai

ภาพรวม UiPath

English
UiPath is one of the leading Robotic Process Automation (RPA) vendorsUiPath consists of 3 main components:
Thai

UiPath เป็นหนึ่งในผู้จำหน่าย Robotic Process Automation (RPA) ชั้นนำ UiPath ประกอบด้วย 3 องค์ประกอบหลัก:

 

UiPath Component Architecture

Thai

สถาปัตยกรรมคอมโพเนนต์ UiPath

 

  1. UiPath Studio: UI tool to visually design the process to automate

    Thai

    UiPath Studio: เครื่องมือ UI เพื่อออกแบบกระบวนการให้เป็นแบบอัตโนมัติ

  2. UiPath Orchestrator: Web application that manages the creation, monitoring, and deployment of all robots and processes

    Thai

    UiPath Orchestrator: เว็บแอปพลิเคชันที่จัดการการสร้างการตรวจสอบและการปรับใช้หุ่นยนต์และกระบวนการทั้งหมด

  3. UiPath Robot: Runs processes that were built in UiPath Studio. Execution agent that is installed and executed in the actual machine.

    Thai

    UiPath Robot: รันกระบวนการที่สร้างขึ้นใน UiPath Studio ตัวแทนการดำเนินการที่ติดตั้งและดำเนินการในเครื่องจริง

UiPath Concepts and Terms

Thai

แนวคิดและข้อกำหนดของ UiPath

Here Here are some of the basic concepts and terms in UiPath that you should get familiar with for the tutorial later:

Thai

นี่คือแนวคิดและคำศัพท์พื้นฐานบางอย่างใน UiPath ที่คุณควรทำความคุ้นเคยกับบทช่วยสอนในภายหลัง:

  • Machine: Represents the actual machine the robot executes in

    Thai

    Machine: แสดงถึงเครื่องจริงที่หุ่นยนต์ทำงาน

  • Environment: An environment is a grouping of Robots, that is used to deploy processes

    Thai

    Environment: สภาพแวดล้อมคือการจัดกลุ่มของ Robots ที่ใช้ในการปรับใช้กระบวนการ

  • Package: A UiPath Studio project that is published

    Thai

    Package: โครงการ UiPath Studio ที่เผยแพร่

  • Process: A process represents the association between a package and an environment. Each time a package is deployed to an environment, it is automatically distributed to all machines that belong to that environment.

    Thai

    Process: กระบวนการแสดงถึงการเชื่อมโยงระหว่างแพ็คเกจและสภาพแวดล้อม แต่ละครั้งที่มีการนำแพคเกจไปใช้กับสภาพแวดล้อมแพคเกจจะถูกแจกจ่ายโดยอัตโนมัติไปยังเครื่องทั้งหมดที่เป็นของสภาพแวดล้อมนั้น

  • Job: A job is the execution of a process on one or multiple Robots.

    Thai

    Job: งานคือการประมวลผลของหนึ่งหรือหลายหุ่นยนต์

There are other concepts for more advanced usage that will not be used in the tutorial, such as:

Thai

มีแนวคิดอื่นสำหรับการใช้งานขั้นสูงเพิ่มเติมที่จะไม่ใช้ในบทช่วยสอนเช่น:

  • Library: A process library describes a system of activities that are reusable for sharing

    Thai

    Library: ไลบรารีกระบวนการอธิบายถึงระบบของกิจกรรมที่นำมาใช้ซ้ำเพื่อการแบ่งปัน

  • Schedule: Enables jobs to be executed in a preplanned manner

    Thai

    Schedule: ช่วยให้งานที่จะดำเนินการในลักษณะที่วางแผนไว้ล่วงหน้า

  • Asset: Usually represent shared variables or credentials that can be used in different projects.

    Thai

    Asset: โดยปกติจะแสดงถึงตัวแปรที่ใช้ร่วมกันหรือข้อมูลรับรองที่สามารถใช้ในโครงการต่างๆ

  • Queue: A place to store multiple types of data, such as invoice information or customer details.

    Thai

    Queue: สถานที่สำหรับเก็บข้อมูลหลายประเภทเช่นข้อมูลใบแจ้งหนี้หรือรายละเอียดลูกค้า

Get Started with UiPath

Thai

เริ่มต้นกับ UiPath

Info
Note: This tutorial is for the latest UiPath Studio 20.10 Stable Release, which provides a much simplified sign in and first run experience compared to previous releases.

Step 1: Sign Up for UiPath Cloud Platform

Thai

ขั้นตอนที่ 1: สมัครใช้งานแพลตฟอร์ม UiPath Cloud

Let’s sign up for an account at https://www.uipath.com/platform-trial. There is a Community plan to get started for free, so we’ll Choose Community to register. 


Thai

ลงทะเบียนบัญชีที่ https://www.uipath.com/platform-trial มีแผนชุมชนในการเริ่มต้นฟรีเราจึงเลือกชุมชนเพื่อลงทะเบียน

Image AddedImage Removed


Sign up using a social account or an email, and upon registration you will be taken to a dashboard at https://platform.uipath.com.

Thai

ลงทะเบียนโดยใช้บัญชีโซเชียลหรืออีเมลและเมื่อลงทะเบียนคุณจะถูกนำไปที่แดชบอร์ดที่ https://platform.uipath.com


Image AddedImage Removed


A service represents a deployment in the company. A default service is already created e.g. DemoDefault.Image Removed


Thai

บริการแสดงถึงการปรับใช้ใน บริษัท บริการเริ่มต้นถูกสร้างขึ้นแล้วเช่น DemoDefault


Select the service name to open the UiPath Orchestrator web application.

Thai

เลือกชื่อบริการเพื่อเปิดเว็บแอปพลิเคชัน UiPath Orchestrator


Image Added

 Image Removed

Step 2: Install UiPath Studio

...

Thai

ขั้นตอนที่ 2: ติดตั้ง UiPath Studio

Download the UiPath Studio installer (UiPathStudioSetup.exe) from the Resource Center, and install it on the target computer. More information on UiPath Studio is available at the UiPath Studio Guide.

Image Removed

...

Thai

ดาวน์โหลดตัวติดตั้ง UiPath Studio (UiPathStudioSetup.exe) จาก Resource Center และติดตั้งบนคอมพิวเตอร์เป้าหมาย ข้อมูลเพิ่มเติมเกี่ยวกับ UiPath Studio สามารถดูได้ที่ UiPath Studio Guide


Image Added


After installing UiPathStudioSetup.exe, start UiPath Studio from the Windows Start menu and activate it. You can start free by activating the Community Edition.

Image Removed

...

login using the UiPath account created previously. Choose a profile to use, e.g. UiPath Studio.

Thai

หลังจากติดตั้ง UiPathStudioSetup.exe ให้เริ่ม UiPath Studio จากเมนู Windows Start และเปิดใช้งาน คุณสามารถเริ่มต้นได้ฟรีโดยเปิดใช้งาน Community Edition


Image Added

Image Added

Step 3: Launch UiPath Assistant

Thai

ขั้นตอนที่ 3: เรียกใช้ UiPath Assistant

In the Windows Start menu, search for UiPath RobotAssistant and start it

Image Removed

Click on the Gear icon to open the Orchestrator Settings window, and copy the Machine Name.

Image Removed

Step 4: Obtain Machine Key

Back in the UiPath Orchestrator, create a new Machine under the Machines menu.

Info
IMPORTANT: Make sure that the name matches the Machine Name shown in the UiPath Orchestrator Settings earlier.

...

.

Thai

ในเมนู Windows Start ให้ค้นหา UiPath Robot และเริ่มต้น


Image Added

Choose an image, give the robot a name e.g. DemoRobot and click on Get Started to create the robot.

Image Added

Once the robot is created, it will automatically connect and register itself to the UiPath Orchestrator

In the UiPath Orchestrator, browse to Tenant > Robots and you should see the robot created in the listing.

Image Added

Next, we will create an Unattended Robot that does not require human supervision to execute jobs. In the UiPath Orchestrator, browse to Tenant > Users and select Edit in the menu for your user account.

Image Added

Click on Unattended Robot, enable the “Automatically create an unattended robot for this user” switch, fill in the Windows user credentials and Update.

Image Added


Step 4: Create and Publish a Process

Next, let’s create an automation process and publish it. Follow the Creating Your First Automation Project tutorial in the UiPath documentation. In that page, there is also a ZIP file containing the completed sample project that you can download.

Image Added

Once you have completed the project, click on the Publish button in the top toolbar.

Image Added

Fill in the package properties (you can leave the default values) and click on Publish.

Image Added

Once the project has been published, you will see it in the UiPath Assistant.

Image Added

In the UiPath Orchestrator, browse to My Workspace > Automations and you will see the process under listed under Processes.

Image Added

Step 5: Start a Job

Now that the robot is published, it’s time to start a job to test it. In the UiPath Orchestrator click on the Play icon on the right of the process in the Processes list. Click on the Start button.

Image Added

In the UiPath Assistant, the robot will be installed and executed.

Image Added

In the UiPath Orchestrator, you can monitor the jobs in the Jobs tab under My Workspace > Automations.

Image Added

Step 6: Prepare for UiPath Integration

There are a number of steps required to retrieve some required information for integration to start a job using the UiPath Orchestrator API. You can use any API testing tool (e.g. Postman), and the example below uses the linux command line using the curl tool.

6.1 Obtain Client ID, User Key, Account Logical Name and Tenant Logical Name:

Browse to https://cloud.uipath.com, select Admin, select the Tenant, and click on the API Access icon.

Image Added

Copy the Client ID, Account Logical Name, Tenant Logical Name and User Key values to be used in API calls later.

Image Added

6.2 Authenticate to Obtain Access Token

Execute the following curl POST request:


Code Block
export ACCOUNT_NAME=yourAccountName # the Account Logical Name obtained above 
export SERVICE_NAME=yourServiceName # the Tenant Logical Name obtained above
export USER_KEY=yourUserKey # the User Key obtained above
export CLIENT_ID=yourClientID # the Client ID obtained above

# get access token
curl -X POST "https://account.uipath.com/oauth/token" \
-H "Content-Type: application/json" \
--data-raw "{
    \"grant_type\": \"refresh_token\",
    \"client_id\": \"$CLIENT_ID\",
    \"refresh_token\": \"$USER_KEY\"
}"


Copy the values for access_token from the response.


Code Block
{
    "access_token": "eyJ0eX...",
    "id_token": "eyJ0eX...",
    "scope": "openid profile email offline_access",
    "expires_in": 86400,
    "token_type": "Bearer"
}


6.3 Get Process Release Key and Organization Unit ID

Execute the following curl GET request:


Code Block
export ACCESS_TOKEN=yourAccessToken # set the access token obtained above
export ACCOUNT_NAME=yourAccountName # the Account Logical Name
export SERVICE_NAME=yourServiceName # the Tenant Logical Name
export PROCESS_NAME=First.automation.project # name of your desired process

# get process release key
curl -X GET "https://cloud.uipath.com/$ACCOUNT_NAME/$SERVICE_NAME/orchestrator_/odata/Releases?$filter=ProcessKey%20eq%20%27$PROCESS_NAME%27" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"


Copy the value for Key from the response as the Process Release Key, and the OrganizationUnitId as the Organization Unit ID (Folder ID):


Code Block
{
   "@odata.context": "https://cloud.uipath.com/jogetgdunlhs/DemoDefault/orchestrator_/odata/$metadata#Releases",
   "@odata.count": 1,
   "value": [
       {
           "Key": "66945223-98b3-4a0a-8b48-0f60dd7d1c2e",
           "ProcessKey": "First.automation.project",
           "ProcessVersion": "1.0.1",
           "IsLatestVersion": false,
           "IsProcessDeleted": false,
           "Description": "Start with a blank project to design a new task automation",
           "Name": "First.automation.project",
           "EnvironmentId": null,
           "EnvironmentName": "",
           "InputArguments": null,
           "ProcessType": "Process",
           "SupportsMultipleEntryPoints": false,
           "RequiresUserInteraction": true,
           "AutoUpdate": false,
           "FeedId": "1c57a87b-91c4-4310-97b7-986e1d228a26",
           "JobPriority": "Normal",
           "CreationTime": "2020-10-15T04:28:49.7Z",
           "OrganizationUnitId": 123456,
           "OrganizationUnitFullyQualifiedName": "user’s workspace",
           "Id": 173235,
           "Arguments": {
               "Input": null,
               "Output": null
           },
           "ProcessSettings": null
       }
   ]
}



6.4 Test Orchestrator API Call to Start a Job

Let’s try making an API call to start a job for the process.


Code Block
export ACCESS_TOKEN=yourAccessToken # set the access token obtained above
export ACCOUNT_NAME=yourAccountName # the Account Logical Name
export SERVICE_NAME=yourServiceName # the Tenant Logical Name
export PROCESS_RELEASE_KEY=yourProcessReleaseKey # copy from the process release key above
export ORGANIZATION_UNIT_ID=yourOrganizationUnitId # copy from the Organization Unit ID above

# start job
curl -X POST "https://cloud.uipath.com/$ACCOUNT_NAME/$SERVICE_NAME/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs" \
-H "accept: application/json" \
-H "Content-Type: application/json;odata.metadata=minimal;odata.streaming=true" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "X-UIPATH-OrganizationUnitId: $ORGANIZATION_UNIT_ID" \
-d "{ \"startInfo\": { \"ReleaseKey\": \"$PROCESS_RELEASE_KEY\", \"Strategy\": \"ModernJobsCount\", \"JobsCount\": \"1\", \"RuntimeType\": \"Studio\" }}"


If successful, the response will be as follows, with the status of the Job shown in the State attribute:


Code Block
{
   "@odata.context": "https://cloud.uipath.com/jogetgdunlhs/DemoDefault/orchestrator_/odata/$metadata#Jobs",
   "value": [
       {
           "Key": "4c8ba95c-fb66-43fa-81bf-8996b4326c09",
           "StartTime": null,
           "EndTime": null,
           "State": "Pending",
           "JobPriority": "Normal",
           "Source": "Manual",
           "SourceType": "Manual",
           "BatchExecutionKey": "141042d1-20b7-4271-91bb-07aa08087431",
           "Info": null,
           "CreationTime": "2020-10-15T13:36:34.497Z",
           "StartingScheduleId": null,
           "ReleaseName": "First.automation.project",
           "Type": "Unattended",
           "InputArguments": null,
           "OutputArguments": null,
           "HostMachineName": null,
           "HasMediaRecorded": false,
           "PersistenceId": null,
           "ResumeVersion": null,
           "StopStrategy": null,
           "RuntimeType": "Unattended",
           "RequiresUserInteraction": true,
           "ReleaseVersionId": null,
           "EntryPointPath": null,
           "OrganizationUnitId": 611841,
           "OrganizationUnitFullyQualifiedName": null,
           "Reference": "",
           "Id": 18614259
       }
   ]
}



Integrate UiPath with Joget

Thai

รวม UiPath เข้ากับ Joget

How to Integrate with UiPath

Thai

วิธีผสานรวมกับ

...

View the selected Machine and copy the Machine Key.

Image Removed

Image Removed

Step 5: Connect UiPath Robot to the Machine

In the UiPath Robot, click on the Gear icon to open the Orchestrator Settings window.

Fill in the Orchestrator URL (https://platform.uipath.com for the UiPath Cloud Platform) and the Machine Key copied in the previous step, then click on Connect.

 

Info

Once connected, you should see “Status: Robot unavailable” at the bottom of the window.

Hover over that message, and you should see the reason “Robot is not available.” This message means that the machine connection is valid, so now it’s time to create a robot. If you see a different reason then there might be an error in your configuration so you will want to double check your settings.

 

Image Removed

Step 6: Create a Robot

In the UiPath Orchestrator under the Robots menu, click on the Plus icon on the top right.

Choose “standard robot that works on a single standard machine”.

Assign the robot to the machine created previously.

Set a “Name”, and fill in the actual Windows login for the target machine (where the UiPath Robot is installed) under Domain\Username and Password.

Image Removed

Step 7: Add Robot to Environment

Next, we’ll need to add the created Robot to the Environment. Select the Environments tab at the top of the Robots menu and select the Manage option.

Image Removed

Select the previously created robot and click UPDATE.

Image Removed

At this point, the robot should be successfully connected to the machine. Check the UiPath Robot Orchestrator Settings and the status should show “Connected, licensed

Image Removed

Step 8: Start a Job

Now that the robot is deployed, it’s time to start a job to test it.

Under Jobs, click on the Play icon on the top right.

Select the pre-existing Demo Process and the previously robot, then click on Start.

Image Removed

Image Removed

In the UiPath Robot, it will show “Installing package…”. Once the package has been installed, it will show “Job started processing” which means the process has started. In this demo process, a Hello popup dialog will appear.

Image Removed

The robot has successfully started the job. You can monitor the robots and jobs in the Monitoring menu in the UiPath Orchestrator.

Image Removed

Step 9: Prepare for UiPath Integration

In June 2019, UiPath introduced a new mechanism for consuming its Cloud APIs. There are a number of steps required to retrieve some required information for integration:

1. Get Access and ID Tokens

1.1 Generate Code Challenge and Code Verifier

In a web browser, visit https://repl.it/languages/nodejs and run the following code:

Code Block
function base64URLEncode(str) {
  return str.toString('base64')
    .replace(/\+/g, '-')
    .replace(/\//g, '_')
    .replace(/=/g, '');
}
 
function sha256(buffer) {
  return crypto.createHash('sha256').update(buffer).digest();
}
 
console.log("Generating challenge and Verifier");
var cryptoResult = crypto.randomBytes(32);
var verifier = base64URLEncode(cryptoResult);
var challenge = base64URLEncode(sha256(verifier));
console.log("Code challenge: " + challenge)
console.log("Code verifier: " + verifier);

Take note of the code challenge and code verifier values in the output e.g.

 

Code Block
Generating challenge and Verifier
Code challenge: RzYlHiiGzPGgOLaRQJYftZ1mmc3sCbeicZVRftTmC-A
Code verifier: YVMnLczXQgJ9dwzV7MlMWEjGyAia4nXvTZzU4UVrAPE

 

1.2 Get Authorization Code

Replace the code challenge into the URL below, and visit the updated URL in a browser.

https://account.uipath.com/authorize?response_type=code&nonce=b0f368cbc59c6b99ccc8e9b66a30b4a6&state=47441df4d0f0a89da08d43b6dfdc4be2&code_challenge=[code_challenge]&code_challenge_method=S256&scope=openid+profile+offline_access+email &audience=https%3A%2F%2Forchestrator.cloud.uipath.com&client_id=5v7PmPJL6FOGu6RB8I1Y4adLBhIwovQN&redirect_uri=https%3A%2F%2Faccount.uipath.com%2Fmobile 

The browser should redirect to:

https://account.uipath.com/mobile?code=[authorization_code]&state=47441df4d0f0a89da08d43b6dfdc4be2

Copy the authorization_code in the URL.

1.3 Get Refresh Token

Using any API testing tool (e.g. Postman), submit a POST request to

https://account.uipath.com/oauth/token with the body below, replacing the values for [authorization_code] and [code_verifier] accordingly.

 

Code Block
{
   "grant_type": "authorization_code",
   "code": "[authorization_code]",
   "redirect_uri": "https://account.uipath.com/mobile",
   "code_verifier": "[code verifier]",
   "client_id": "5v7PmPJL6FOGu6RB8I1Y4adLBhIwovQN"
}

Copy the value of the refresh_token from the response:

 

Code Block
{
   "access_token": "eyJ0eX...",
   "refresh_token": "CBZcOD6vrP2FQ9qa8fuqDdfoEwnVPuR2Kpz-hitbTAIzG",
   "id_token": "eyJ0eX...",
   "scope": "openid profile email offline_access",
   "expires_in": 86400,
   "token_type": "Bearer"
}

 

1.4 Get Access Token and ID using the Refresh Token

Using any API testing tool, submit a POST request to

https://account.uipath.com/oauth/token with the body below, replacing the values for [refresh_token] accordingly.

 

Code Block
{
   "grant_type": "refresh_token",
   "client_id": "5v7PmPJL6FOGu6RB8I1Y4adLBhIwovQN",
   "refresh_token": "[refresh_token]"
}

Copy the values for access_token and id_token from the response. 

 

Code Block
{
   "access_token": "eyJ0eX...",
   "id_token": "eyJ0eX...",
   "scope": "openid profile email offline_access",
   "expires_in": 86400,
   "token_type": "Bearer"
}

 

2. Get UiPath Account, Service and Process Identifiers

2.1 Get the Account Logical Name

Using any API testing tool, submit a GET request to

https://platform.uipath.com/cloudrpa/api/getAccountsForUser with a request header

Code Block
Authorization: Bearer [id_token]

Copy the value for accountLogicalName from the response:

 

Code Block
{
   "userEmail": "demo@domain.com",
   "accounts": [
       {
           "accountName": "Demo",
           "accountLogicalName": "Demo"
       }
   ]
}

 

2.2 Get Service Instance Logical Name

Using any API testing tool, submit a GET request to

https://platform.uipath.com/cloudrpa/api/account/[accountLogicalName]/getAllServiceInstances with a request header

Code Block
Authorization: Bearer [id_token]

Copy the value for serviceInstanceLogicalName from the response:

 

Code Block
[
   {
       "serviceInstanceName": "DemoDefault",
       "serviceInstanceLogicalName": "DemoDefaultzous50676",
       "serviceType": "ORCHESTRATOR",
       "serviceUrl": "https://platform-community.azurewebsites.net"
   }
]

 

2.3 Get Release Key for the Desired Process

We will now need to retrieve the Release Key, a unique identifier for a desired process. Using any API testing tool, submit a GET request to

https://platform.uipath.com/odata/Releases with request headers

Code Block
Authorization: Bearer [access_token]
X-UIPATH-TenantName: [serviceInstanceLogicalName]

Copy the value for Key from the response:

 

Code Block
{
   "@odata.context": "https://platform.uipath.com/odata/$metadata#Releases",
   "@odata.count": 1,
   "value": [
       {
           "Key": "b27c7363-459c-4520-bae5-660d4a1d3813",
           "ProcessKey": "Demo_Process",
           "ProcessVersion": "1.0.21",
           "IsLatestVersion": false,
           "IsProcessDeleted": false,
           "Description": "Demo Process",
           "Name": "Demo Process",
           "EnvironmentId": 98069,
           "EnvironmentName": "Demo Environment",
           "InputArguments": null,
           "QueueDefinitionId": null,
           "QueueDefinitionName": null,
           "Id": 120897,
           "Arguments": {
               "Input": null,
               "Output": null
           },
           "ProcessSettings": null
       }
   ]
}

 

2.4 Test Orchestrator API Call to Start a Job

At this point, make sure you have the following critical information at hand:

  • refresh_token (Refresh Token)

  • access_token (Access Token)

  • serviceInstanceLogicalName (Service Instance Logical Name)

  • Key (Release Key)

Let’s try making an API call to start a job for the process.

Using any API testing tool, submit a POST request to

https://platform.uipath.com/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs with 2 request headers

 

Code Block
Authorization: Bearer [access_token]
X-UIPATH-TenantName: [serviceInstanceLogicalName]

and the body:

 

Code Block
{ "startInfo":
  { "ReleaseKey": "[Key]",
    "Strategy": "All",
    "RobotIds": [ ],
    "JobsCount": 0,
    "Source": "Manual"
  }
}

If successful, the response will be as follows, with the status of the Job shown in the State attribute:

 

Code Block
{
   "@odata.context": "https://platform.uipath.com/odata/$metadata#Jobs",
   "value": [
       {
           "Key": "e811bd29-26fb-4cc3-af91-7fd6308ca643",
           "StartTime": null,
           "EndTime": null,
           "State": "Pending",
           "Source": "Manual",
           "SourceType": "Manual",
           "BatchExecutionKey": "382e7a96-a5b9-4343-b258-26a80cf87f80",
           "Info": null,
           "CreationTime": "2019-06-12T08:02:03.2595408Z",
           "StartingScheduleId": null,
           "ReleaseName": "Demo Process",
           "Type": "Unattended",
           "InputArguments": null,
           "OutputArguments": null,
           "HostMachineName": null,
           "HasMediaRecorded": false,
           "Id": 10169582
       }
   ]
}

 

Integrate UiPath with Joget

...

UiPath

UiPath provides the Orchestrator API for integration.

The most commonly used function is Starting a Job, which should satisfy a majority of use cases. We will use this function in the following integration tutorial.

Thai

UiPath จัดเตรียม Orchestrator API สำหรับการรวมเข้าด้วยกัน

ฟังก์ชั่นที่ใช้กันมากที่สุดคือ Starting a Job ซึ่งควรเป็นไปตามกรณีการใช้งานส่วนใหญ่ เราจะใช้ฟังก์ชั่นนี้ในการสอนการรวมต่อไปนี้

 

Design a Process to Start a UiPath Job

Thai

ออกแบบกระบวนการเพื่อเริ่มงาน UiPath

Since the UiPath Orchestrator API is a REST API with data in JSON format, we can use the Joget JSON Tool to invoke the API.

Before we start, ensure that you have the following critical UiPath information at hand (obtained from the previous Prepare for UiPath Integration tutorial):):

Thai

เนื่องจาก UiPath Orchestrator API เป็น REST API ที่มีข้อมูลในรูปแบบJSONเราจึงสามารถใช้ JogetJSON Toolเพื่อเรียกใช้ API

ก่อนที่เราจะเริ่มตรวจสอบให้แน่ใจว่าคุณมีข้อมูล UiPath ที่สำคัญต่อไปนี้อยู่ในมือ (ได้รับจากบทเรียนการเตรียมการสำหรับการรวม UiPath ก่อนหน้านี้):

  • clientId (Client ID)
  • userKey (Refresh Token / User Key)
  • accountName (Account Logical Name)
  • serviceName (Service Name / Tenant Logical Name)
  • organizationUnitId (Folder ID or Organization Unit ID)
  • processReleaseKey (Process
  • refresh_token (Refresh Token)

  • serviceInstanceLogicalName (Service Instance Logical Name)

  • Key ( Release Key)

Step 1. Design New App

Thai

ขั้นตอนที่ 1 ออกแบบแอพใหม่

First, let’s design a new app by clicking on Design New App in the Joget App Center.

Thai

ขั้นแรกให้ออกแบบแอปใหม่โดยคลิกที่ออกแบบแอปใหม่ใน Joget App Center


Image AddedImage Removed


Fill in desired values for the App ID and App Name, and click Save.

Thai

กรอกค่าที่ต้องการสำหรับ ID แอปและชื่อแอพแล้วคลิกบันทึก

 

Step 2. Design New Process

Thai

ขั้นตอนที่ 2 ออกแบบกระบวนการใหม่

Click on the Processes menu, then on the Design Process button to launch the Process Builder.

Design a simple process containing 2 tools, as shown below..

Thai

คลิกที่เมนูกระบวนการจากนั้นคลิกที่ปุ่มออกแบบกระบวนการเพื่อเปิดตัว Process Builder

ออกแบบกระบวนการง่าย ๆ ที่ประกอบด้วย 2 เครื่องมือดังแสดงด้านล่าง



Click on the edit pencil icon after hovering over the process name along the top. Enter a suitable process name and create 3 workflow variables to store the response values from UiPath API call:

Thai

คลิกที่ไอคอนแก้ไขดินสอหลังจากโฮเวอร์เหนือชื่อกระบวนการด้านบน ป้อนชื่อกระบวนการที่เหมาะสมและสร้าง 3 ตัวแปรเวิร์กโฟลว์เพื่อเก็บค่าการตอบสนองจากการเรียก UiPath API:

  • status

  • Id_token

  • access_token 



Click on Deploy.

Thai

คลิกที่ปรับใช้

 

Step 3. Configure First Tool to Get UiPath Access Token

Thai

ขั้นตอนที่ 3 กำหนดค่าเครื่องมือแรกเพื่อรับโทเค็นการเข้าถึง UiPath

Once the process has been deployed, close the Process Builder. In the process view page, select the Map Tools to Plugins tab.

Thai

เมื่อกระบวนการได้รับการปรับใช้ให้ปิดตัวสร้างกระบวนการ ในหน้ามุมมองกระบวนการให้เลือกแท็บเครื่องมือแผนที่เป็นปลั๊กอิน


Image AddedImage Removed


Click on Configure Plugin for the first tool and select JSON Tool, then key in the following configuration:

...

Thai

คลิกที่กำหนดค่าปลั๊กอินสำหรับเครื่องมือแรกและเลือกเครื่องมือ JSON จากนั้นป้อนการกำหนดค่าต่อไปนี้:

JSON URL

https://account.uipath.com/oauth/token

Call Type

POST

POST Method

Custom JSON Payload

Custom JSON Payload

{

   "grant_type": "refresh_token",

   "client_id": "

5v7PmPJL6FOGu6RB8I1Y4adLBhIwovQN

[clientId]",

   "refresh_token": "[

refresh_token

userKey]"

}

 


Image Added

Image Removed


Under Store to Workflow Variable, map the variables to store the tokens in the matching workflow variables i.e.

...

Thai

ใต้ Store to Workflow Variable ให้จับคู่ตัวแปรเพื่อเก็บโทเค็นในตัวแปรเวิร์กโฟลว์ที่ตรงกันเช่น

access_token

access_token

id_token

id_token

 


Image Added

Image Removed


Click on Submit to save.

Thai

คลิกที่ส่งเพื่อบันทึก

 

Step 4. Configure Second Tool to Start Job Using the Access Token

Thai

ขั้นตอนที่ 4 กำหนดค่าเครื่องมือที่สองเพื่อเริ่มงานโดยใช้โทเค็นการเข้าถึง

Click on Configure Plugin for the second tool and select JSON Tool, then key in the following configuration:

...

Thai

คลิกที่ Configure Plugin สำหรับเครื่องมือที่สองและเลือกเครื่องมือ JSON จากนั้นป้อนการกำหนดค่าต่อไปนี้:

JSON URL
(Replace [accountName] and [serviceName] with the actual values)

https://

platform

cloud.uipath.com/[accountlogicalName]/[tenantLogicalName]/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs

 

Call Type

POST

POST Method

Custom JSON Payload

Custom JSON

Payload  

Payload  (Replace [

Key

processReleaseKey] with the actual Release Key)

{ "startInfo":

  

   { "ReleaseKey": "[

Key

processReleaseKey]",

    

     "Strategy": "

All

ModernJobsCount",

    "RobotIds": [ ],

    "

     "JobsCount":

0

1,

    

     "

Source

RuntimeType": "

Manual

Studio" 

  

   } 

}

Request Headers (Replace [

serviceInstanceLogicalName

organizationUnitId] with the actual

Service Instance Logical Name

Folder ID or Organization Unit ID 

Authorization: Bearer #variable.access_token#

X-UIPATH-

TenantName

OrganizationUnitId: [

serviceInstanceLogicalName

organizationUnitId]

 


Image RemovedImage Added


Under Store to Workflow Variable, map the status variable to the State attribute in the response JSON  i.e.

...

Thai

ใต้ Store to Workflow Variable ให้จับคู่ตัวแปรสถานะกับแอตทริบิวต์ State ในการตอบสนอง JSON เช่น

status

value[0].State

 


Image Added

Image Removed


That’s it. The Joget process has been configured to invoke the UiPath Orchestrator API to start a job.

Thai

แค่นั้นแหละ. กระบวนการ Joget ได้รับการกำหนดค่าให้เรียกใช้ UiPath Orchestrator API เพื่อเริ่มงาน

 

Step 5. Run the Processthe Process

Thai

ขั้นตอน 5. เรียกใช้กระบวนการ

Now, let’s test the process. Click on the Run Process button at the top, then Run Process again in the confirmation dialog.

Thai

ตอนนี้มาทดสอบกระบวนการกัน คลิกที่ปุ่ม Run Process ที่ด้านบนจากนั้น Run Process อีกครั้งในกล่องโต้ตอบการยืนยัน


Image AddedImage Removed


Once the process has started, the 2 tools will execute as configured. To view the results of the process, navigate to Monitor -> Completed Processes.

Select the process instance and you will see the 2 tools executed.

Thai

เมื่อกระบวนการเริ่มต้นเครื่องมือ 2 ตัวจะทำงานตามที่กำหนดไว้ หากต้องการดูผลลัพธ์ของกระบวนการให้ไปที่การตรวจสอบ -> กระบวนการที่เสร็จสมบูรณ์

เลือกตัวอย่างกระบวนการและคุณจะเห็นเครื่องมือ 2 ตัวดำเนินการ


Image AddedImage Removed


Click on each activity to view the values of the workflow variables which obtained the results of the Orchestrator API calls.  

Image Removed

Thai

คลิกที่แต่ละกิจกรรมเพื่อดูค่าของตัวแปรเวิร์กโฟลว์ที่ได้รับผลลัพธ์ของการเรียกใช้ Orchestrator API


Image Added


You If you are running Joget on-premise and have access to the system logs, you will be able to see the tool requests and responses in the logs if the debugging option is enabled.

Sample log output:

Thai

หากคุณใช้งาน Joget ในสถานที่และสามารถเข้าถึงบันทึกของระบบคุณจะสามารถเห็นคำขอเครื่องมือและการตอบสนองหากเปิดใช้งานตัวเลือกการแก้ไขข้อบกพร่อง

เอาต์พุตบันทึกตัวอย่าง:

Code Block
INFO 1216 JunOct 20192020 0900:2807:3842 org.joget.apps.app.lib.JsonTool - POST : https://account.uipath.com/oauth/token
INFO 1216 JunOct 20192020 0900:2807:3842 org.joget.apps.app.lib.JsonTool - Custom JSON Payload : {_ "grant_type": "refresh_token",_ "client_id": "5v7PmPJL6FOGu6RB8I1Y4adLBhIwovQNclient_id",_ "refresh_token": "CBZcOD6vrP2FQ9qa8fuqDdfoEwnVPuR2Kpz-hitbTAIzGrefresh_token"_}_
INFO 1216 JunOct 20192020 0900:2807:3943 org.joget.apps.app.lib.JsonTool - https://account.uipath.com/oauth/token returned with status : 200
INFO 1216 JunOct 20192020 0900:2807:3943 org.joget.apps.app.lib.JsonTool - {"access_token":"access_token","id_token":"eyJ0eX...id_token","scope":"openid profile email offline_access","expires_in":86400,"token_type":"Bearer"}
INFO 1216 JunOct 20192020 0900:2807:3943 org.joget.apps.app.lib.JsonTool - POST : https://platformcloud.uipath.com/yourAccountName/DemoDefault/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs
INFO 1216 JunOct 20192020 0900:2807:3943 org.joget.apps.app.lib.JsonTool - Custom JSON Payload : { "startInfo":_ { "ReleaseKey": "b27c7363-459c-4520-bae5-660d4a1d3813processReleaseKey",_ "Strategy": "AllModernJobsCount",_ "RobotIds": [ ],_ "JobsCount": 01,_ "SourceRuntimeType": "ManualStudio" _ } _}_
INFO 1216 JunOct 20192020 0900:2807:3943 org.joget.apps.app.lib.JsonTool - Adding request header Authorization : Bearer eyJ0eX...access_token
INFO 1216 JunOct 20192020 0900:2807:3943 org.joget.apps.app.lib.JsonTool - Adding request header X-UIPATH-TenantNameOrganizationUnitId : DemoDefaultzous50676organizationUnitId
INFO 1216 JunOct 20192020 0900:2807:4044 org.joget.apps.app.lib.JsonTool - https://platformcloud.uipath.com/yourAccountName/DemoDefault/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs returned with status : 201
INFO 1216 JunOct 20192020 0900:2807:4044 org.joget.apps.app.lib.JsonTool - {"@odata.context":"https://platform.uipath.com/odata/$metadata#Jobs","value":[{"Key":"aa667a3e-04f9-4013-a8eb-ce701dac8799","StartTime":null,"EndTime":null,"State":"Pending","Source":"Manual","SourceType":"Manual","BatchExecutionKey":"68fa4d0a-0fcc-4d49-ae0d-b6631a7dfc78","Info":null,"CreationTime":"2019-06-12T09:28:12.9207318Z","StartingScheduleId":null,"ReleaseName":"Demo Process","Type":"Unattended","InputArguments":null,"OutputArguments":null,"HostMachineName":null,"HasMediaRecorded":false,"Id":10173064}]}

If you are using Joget DX, you can stream the logs directly in the web browser.

...

.apps.app.lib.JsonTool - {"@odata.context":"https://cloud.uipath.com/yourAccountName/DemoDefault/orchestrator_/odata/$metadata#Jobs","value":[{"Key":"0a53aca6-ad56-40de-bd72-dd757e817a5b","StartTime":null,"EndTime":null,"State":"Pending","JobPriority":"Normal","Source":"Manual","SourceType":"Manual","BatchExecutionKey":"2e1adac4-c4f6-4bb8-b697-c87e33744de9","Info":null,"CreationTime":"2020-10-16T00:07:44.43Z","StartingScheduleId":null,"ReleaseName":"First.automation.project","Type":"Unattended","InputArguments":null,"OutputArguments":null,"HostMachineName":null,"HasMediaRecorded":false,"PersistenceId":null,"ResumeVersion":null,"StopStrategy":null,"RuntimeType":"Development","RequiresUserInteraction":true,"ReleaseVersionId":null,"EntryPointPath":null,"OrganizationUnitId":organizationUnitId,"OrganizationUnitFullyQualifiedName":null,"Reference":"","Id":18675957}]}


Back at the UiPath Orchestrator and UiPath RobotAssistant, you would also be able to monitor the execution of the job.

Thai

กลับไปที่ UiPath Orchestrator และ UiPath Robot คุณจะสามารถตรวจสอบการทำงานของงานได้

Sample Joget App


Thai

ตัวอย่างแอพ Joget

The sample app containing this process can be downloaded below:

Thai

แอปตัวอย่างที่มีกระบวนการนี้สามารถดาวน์โหลดได้ด้านล่าง:


Download the sample app

View file
nameAPP_rpa_uipath-13-2019061214144020201016023843.jwa
height250