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
500
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
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
360
マッチングアプリにおけるフリックUIで苦労したこと
yuheiito
0
190
RailsGirls IZUMO スポンサーLT
16bitidol
0
200
Goで作る、開発・CI環境
sin392
0
260
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
280
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
260
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
240
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
870
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
15k
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
350
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
13k
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
2
21k
Featured
See All Featured
Building Applications with DynamoDB
mza
95
6.5k
Writing Fast Ruby
sferik
628
62k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
A better future with KSS
kneath
238
17k
Docker and Python
trallard
45
3.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Site-Speed That Sticks
csswizardry
10
700
Rails Girls Zürich Keynote
gr2m
95
14k
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 ご清聴ありが とうございま した