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
370
OrchestratorにOAuthがやってきた
masatomix
0
500
UiPath Japan MVP になるまでの経緯と今後の活動計画について
masatomix
0
580
UiPath Studio単体からOrchestratorいろんな構成を速攻解説
masatomix
1
480
Attended Framework テンプレートを使ってみた
masatomix
1
290
Other Decks in Programming
See All in Programming
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
330
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
480
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
580
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
160
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
270
Team operations that are not burdened by SRE
kazatohiei
1
210
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.9k
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.4k
Select API from Kotlin Coroutine
jmatsu
1
190
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
120
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
340
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
46
31k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How to train your dragon (web standard)
notwaldorf
93
6.1k
Done Done
chrislema
184
16k
Agile that works and the tools we love
rasmusluckow
329
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
BBQ
matthewcrist
89
9.7k
RailsConf 2023
tenderlove
30
1.1k
Why Our Code Smells
bkeepers
PRO
337
57k
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 ご清聴ありが とうございま した