RPAエンジニアの雑記

RPA(Blue Prism)について色々記載してます。

(BluePrism)ポケモン図鑑を作る ~Part3 Web API機能の紹介編~

こんばんは。おむおむです。

5月中にこのテーマを書き終わるのは
残念ながら無理そうだ、無念だ。。。

まあ、このブログの目的として
定期的にアウトプットしたいというだけだからな、うん。
6月上旬には完結すると思うぞ、たぶん。
f:id:newgraduate19:20200527210449p:plain

さて、前回はPoke APIを使ってやりたいことをまとめました。
newgraduate19-rpa.hatenablog.com
今回は、実際にPoke APIのデータを
Blue Prismで取得する方法について書いていきます。

・・・と思いましたが、
長くなりそうなので分けたいと思います!
今回はBlue PrismのWeb API機能の概要についてです!

Web API機能を使う

Blue PrismでWeb APIを操作する構成する場合、
実は「システム」タブのメニューから選択する必要があります。

「システム」->「オブジェクト」->「Web APIサービス」に移動します。
f:id:newgraduate19:20200527211845p:plain
ここから、Web APIの構成を行っていきます。

Web API画面の構成方法

まず、画面右上の「サービスを追加」をクリックします。
すると、別ウィンドウが立ち上がります。
ここに設定内容を書いていく感じですね。
f:id:newgraduate19:20200527211952p:plain
名前はまあいいとして、気になるのは「ベースURL」ですね。
こいつは、対象のWeb APIを叩くうえで
ベースとなる=変化しないURLの部分を指定します。

Poke APIの場合は、
https://pokeapi.co/api/v2/を指定します。

アクションを作る

次に、URLの可変部分を設定して
実際にAPIを叩く処理を追加していきます。
「共通○○」みたいなパラメータは一旦無視です。
興味がある方は製品ヘルプ見てね!
bpdocs.blueprism.com

余談ですが、Web APIの項目については
やたらと製品ヘルプが充実してるんですよね。。。
たぶん新機能としての後付けだからかな?
(古くからの機能のヘルプもアップデートしてほしいな...)

さて、閑話休題
アクションを新規作成するには、
画面左下の「アクション追加」ボタンをクリックします。
f:id:newgraduate19:20200528210217p:plain
ツリービューでは、1つのアクションにつき
アクション名」、「パラメーター」、「リクエス」、
ヘッダー」、「応答」の5つの要素がセットになっています。
詳しい説明は製品ヘルプに任せますが、
今回はヘッダー以外の要素をいじっていきます。

アクション名

その名の通り、アクションの名称を設定します。
通常のオブジェクトと同様に、説明を記入できます。
チェックボックスが何個かありますが、
今回はデフォのままでいじらないので割愛します。
f:id:newgraduate19:20200528212046p:plain

パラメーター

プロセス・オブジェクトでいうところの
入力パラメータのことです。
パラメータ名、説明、データ型、初期値を
それぞれ設定していきます。
一点異なるのは、一番右の「公開」のチェックボックス
チェックを入れないと反映されないという点です。
忘れずにチェックしておきましょう。
f:id:newgraduate19:20200528212322p:plain

リクエス

これが大事なところ。
実際に送信するリクエストをここで作成します。
一つずつ順番に見ていきましょう。

メソッド」では、その名の通り
HTTPメソッドを指定します。
使用できるメソッドは、CRUD以外にも対応しています。
CRUDってなんぞ?という方はこちら。
qiita.com
URLパス」の部分については、 最初の段階で変動しない部分のURLは設定済みなので、
ここではURLの可変部分を設定します。

ここで、URLの中に前項で指定した
パラメータを埋め込んでURLを動的に変更することができます。

パラメータを指定する場合は、
[パラメータ名]の形式で指定する必要があります。

例えば、Poke APIで「id」というパラメータを用意して使用したい場合は、
URLパスの入力欄にpokemon/[id]という風に指定するとよいでしょう。

「本文のコンテンツ」の部分は、POSTする際の
パラメータなどを設定する部分ですが、
今回はGETのみなので指定する必要はありません。
f:id:newgraduate19:20200528214044p:plain

応答

ここも超大事。 なんなら一番大事だし、一番ややこしい。

APIを叩き、JSON形式で戻ってきたレスポンスに対して
JSONPathを使用して
必要なデータを抽出します。


じぇいそん、、、ぱす、、、?


恥ずかしながら、この機能を触るまで
その存在を存じ上げませんでした...orz
JavaScriptの勉強やるやる詐欺してる弊害が・・・

まあでも、同じデータフォーマットの仲間の
XMLから一部を抽出するX-Pathがあるのだから
JSONを抽出する方法もあるよねえ。。。

書き方は、Web上にいくらでも情報が転がっていますが、
これまた意外とBlue Prismの製品ヘルプも丁寧に書いてくれています。
bpdocs.blueprism.com
外部サイトだとこことか。
kubernetes.io
そしてなんとブラウザ上でJSONPathを
お手軽に評価できるサイトもあるようです。
めっちゃ便利。
jsonpath.com

今回のポケモン図鑑で使用するJSONPathは
また次回書きたいと思います。
別に書くのが疲れたというわけではない

今回は機能の概要説明にとどめておいて、
次回Poke APIを題材として
具体的に内容を設定していきます。

ちなみ今回説明した内容は、
製品ヘルプでかなーり丁寧に書いてくれていますので
省略した部分が気になる方はそちらをcheck。
bpdocs.blueprism.com

まとめ

  • 製品ヘルプがめっちゃ充実してる
  • だから正直製品ヘルプ読んでおけば大体わかる
  • JSONPath記法を理解せねば

    テレワーク永遠に続いてくれ(切望)