Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OCの API でこんなこともできるよ!Orchestrator みたいな Web アプリを作...
Search
Masatomi KINO
October 17, 2020
Programming
0
810
OCの API でこんなこともできるよ!Orchestrator みたいな Web アプリを作ってみた
きょうは UiPath Orchestrator と API と WEB アプリ、
その他についておはなしさせていただきます。
Masatomi KINO
October 17, 2020
Tweet
Share
More Decks by Masatomi KINO
See All by Masatomi KINO
OrchestratorにOAuthがやってきた2022年版
masatomix
0
380
OrchestratorにOAuthがやってきた
masatomix
0
510
UiPath Japan MVP になるまでの経緯と今後の活動計画について
masatomix
0
590
UiPath Studio単体からOrchestratorいろんな構成を速攻解説
masatomix
1
480
Attended Framework テンプレートを使ってみた
masatomix
1
290
Other Decks in Programming
See All in Programming
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
120
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
0
1.2k
Constant integer division faster than compiler-generated code
herumi
2
570
Understanding Kotlin Multiplatform
l2hyunwoo
0
250
新しいモバイルアプリ勉強会(仮)について
uetyo
1
250
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
970
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
330
Go製CLIツールをnpmで配布するには
syumai
2
1.1k
Jakarta EE Meets AI
ivargrimstad
0
650
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
130
あのころの iPod を どうにか再生させたい
orumin
2
2.4k
AIに安心して任せるためにTypeScriptで一意な型を作ろう
arfes0e2b3c
0
340
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Balancing Empowerment & Direction
lara
1
540
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Scaling GitHub
holman
461
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
4 Signs Your Business is Dying
shpigford
184
22k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Optimizing for Happiness
mojombo
379
70k
Transcript
OCのAPIでこんなこともできるよ! OrchestratorみたいなWebアプリ を作ってみた Masatomi KINO @masatomix
自己紹介
3 #UiPathFriends #UiFes @masatomix 自己紹介 名前 木野 雅富 (きの まさとみ)
会社名 株式会社 プライム・ブレインズ ロール システムアーキテクト Twitter https://twitter.com/masatomix Qiita https://qiita.com/masatomix UiPathとの関わり /属性 • 2017/04 くらいに UiPath Studioより先に Orchestrator にであう。 • UiPath Orchestratorの構築、ユーザへのヒアリングに基づくユーザのリリース 統制にあわせたOrchestratorの運用設計、設定、導入。 • UiPath Japan MVP 2019- 趣味 • ボルダリング • ホットヨガ
4 #UiPathFriends #UiFes @masatomix きょうは、UiPath Orchestrator と API とWEBアプリ、 その他についておはなしさせていただきます。
Orchestrator と API とWEBアプリのはなし
5 #UiPathFriends #UiFes @masatomix 公式より Orchestratorを使用すれば、組織内のすべての ロボットのプロビジョニングから、展開、実行、 監視、測定、追跡、セキュリティの確保まで、 あらゆることをブラウザから管理できます。 まとめると
• リリース(配布)する「ワークフロー (xaml/nupkg)」の管理 • 「ワークフロー」を実行するPCの管理 • 「ワークフロー」のリモート実行、スケ ジュール実行 • 他システム連携 • StudioとRobotのライセンスの管理 • カスタムアクティビティの管理 なことができるWEBアプリケーションです。 UiPath Orchestrator (以下OC)って
6 #UiPathFriends #UiFes @masatomix こんなことできたらいいのに、とか、こんな情報が見られたらもっと便利なのに、 ってコトもあります。 でも Orchestrator って 画面で確認できる
アラート、メール だけでなくSlack にほしいなぁ ライセンスの空き状 況が分からないな お客様の環境に設 定した情報、エビ デンスとしてExcel にダンプしたいな Webhookにない イベントも検知し ないとダメだな ロボットの稼働ログ、 ロボットごとにダウン ロードするのめんどく さいなー ロボット一覧、マ シン一覧のExcelを 一括反映できたら イイのに。
そこで Orchestratorの APIのはなし
8 #UiPathFriends #UiFes @masatomix HTTP(s)でリクエストをなげて、レスポンスと して、Orchestrator 画面に表示されている ような情報をJSONというデータ形式で受け取 る仕組み プログラムが扱いやすいJSON形式でデータが
取得できるので、他のプログラムから Orchestratorの情報を利用することができる APIとは Orchestratorの APIのはなし API呼び出し例: cURL
9 #UiPathFriends #UiFes @masatomix GUIで呼び出すツールもあります API呼び出し例 :Postman Orchestratorの APIのはなし
10 #UiPathFriends #UiFes @masatomix • PowerShellからAPIを定期的に呼び出して、ライセンス情報を確認する • UiPath RobotからAPIを呼び出して、アクティビティには存在しない機能を呼び出す •
例:タスクをユーザ名でアサインする(APIでOCのユーザを検索 → 登録したタスクのIDを取得、 検索できたユーザに対して、APIでタスクの割り当てをおこなう、など) • OrchestratorのようなWeb画面をつくってみる → やってみました APIを使うとこんなことができます
APIの便利さが伝わるように WEBアプリケーションをつくってみた
12 #UiPathFriends #UiFes @masatomix OCのAPIでできることを確認するために、 WEB開発の技術をつかって、OCのAPIを呼び 出すWEBアプリを作ってみました。 WEBアプリケーションをつくってみた
13 #UiPathFriends #UiFes @masatomix WEBアプリケーションをつくってみた(デモ)
14 #UiPathFriends #UiFes @masatomix • シンプルなWEBサーバ上に配置した、HTML5の WEBアプリケーション(バックエンド不要)。 • Vue.jsというJavaScriptのフレームワークを使 用している。
• JavaScriptからAPIを利用してJSONデータを取 得し、画面表示をおこなっている。 • WEBサーバは、Firebase HostingというWEB サーバを使用しているが、EC2でももちろんOK。 (イントラネット上のIISサーバでもOKなハズ) しくみ
15 #UiPathFriends #UiFes @masatomix • APIをつかえば、OC画面からだけでなく、PowerShellとか自分の好きなプログラムで、OCの情 報を利用できることが分かりました。 • WEBアプリからも、OCの情報を利用できるので、作ろうと思えばOrchestratorのようなWEB アプリケーションも作成可能。
• ただOCと同じモノを作っても意味ないけど、自分が作りたい画面・機能を作り込めるところが APIを使いこなす利点です。 • 例: Studio/Attendedで利用時間が多いロボット一覧を作る、ロボット削除&追加をワンタッチ でやる(できるかな)、ロボ・マシンをExcelの一覧から一括登録する、、プロセス一覧からすぐ ジョブを実行する、 etc. WEBアプリケーションをつくってみた
APIは他にもこんな使い 方できるよ 使い方例
17 #UiPathFriends #UiFes @masatomix APIは他にもこんな使い方できるよ 画面で確認できるア ラート、メールだけ でなくSlackにほし いなぁ ライセンスの空き
状況が分からない な Webhookにない イベントも検知し ないとダメだな • なにかスケジューラを使って (図中は、Google Cloud Scheduler) • 定期的に「APIを呼び出す」関数を起動してJSONデータを取得する • 結果をメールやSlackなどに通知する こんなときAPI
18 #UiPathFriends #UiFes @masatomix APIは他にもこんな使い方できるよ • さきほどのWEBアプリみたいなモノを作り • 「ログ取得API」を呼び出す •
取得結果をExcelファイルにしてダウンロード こんなときAPI ロボットの稼働ログ、 ロボットごとにダウ ンロードするのめん どくさいなー ロボット一覧、マ シン一覧のExcelを 一括反映できたら イイのに。 • さきほどのWEBアプリみたいなモノを作り • Excelファイルを読み込む • その情報を「ロボット登録API」などでOCへ 登録する
19 #UiPathFriends #UiFes @masatomix APIは他にもこんな使い方できるよ • コマンドプロンプトで、JavaScript(Node.js) のプログラムを実行 • 様々なAPIを呼び出して、情報をダウンロード
• その情報をExcelに書き出す • Excelが使えないサーバ機での作業を想定して、 テキストファイルにも出力する こんなときAPI お客様の環境に設 定した情報、エビ デンスとしてExcel にダンプしたいな
まとめ
21 #UiPathFriends #UiFes @masatomix まとめ かけあしですが、Orchestrator APIを使ったWEBアプリケーションや、APIの活用方法をご 紹介しました。 最近ようやくOrchestrator 2020
FTを個人的に構築してみたのですが、認証がIdentity Serverに統合されたよう で、OCの認証の処理シーケンスがOAuth/OpenID Connect 対応されていることが確認できました。 APIは認証のためアクセストークンを取得する必要があるのですが、外部システムがユーザからID/Passをもらうこ となくトークンのやりとりができるコトが確認できました。 なので、これからもっとAPI利用が加速すると思います! みんなでAPIを活用して、おもしろい機能や、OCに足 りない機能、便利な機能を開発してみましょう!
ちなみに
23 #UiPathFriends #UiFes @masatomix お客様の環境で、APIで設定を全部Excelファイルに出力するJavaScriptを実行 しようとしたら 「あ、黒い画面を起動してなんかツール起動するのダメね」 ということで、お客様の環境でつかえませんでした┐(‘〜`;)┌ おしまい じゃあ手で
やるしかないね
24 #UiPathFriends #UiFes @masatomix 参考: • Vue.js https://jp.vuejs.org/index.html • Vuetify
— A Material Design Framework for Vue.js https://vuetifyjs.com/en/ • Firebase - Google Firebase https://firebase.google.com • Node.js is a JavaScript runtime https://nodejs.org/ja/ • さきほどのWEBアプリ(まだ開発中ですが) https://uipath-oc.web.app • uipath-orchestrator-api-node (上記のWEBアプリでも使用している、APIをJS上で使いやすくするライブラリ) https://www.npmjs.com/package/uipath-orchestrator-api-node ご清聴ありが とうございま した