25.2. Swagger インターフェイスを使用した Process Automation Manager コントローラー REST API による要求送信
Process Automation Manager コントローラー REST API は Swagger web インターフェイスをサポートしています。スタンドアロンの REST クライアントや curl ユーティリティーの代わりにこれを使用すると、Business Central ユーザーインターフェイスを使用せずに KIE Server のテンプレートおよびインスタンス、ならびに関連する KIE コンテナーを Red Hat Decision Manager で操作できます。
デフォルトでは、org.kie.workbench.swagger.disabled=false
のシステムプロパティーが指定されており、Process Automation Manager の Swagger Web インターフェイスが有効になっています。Process Automation Manager で Swagger Web インターフェイスを無効にするには、このシステムプロパティーを true
に設定してください。
前提条件
- Process Automation Manager コントローラーがインストールされ、実行中である。
-
Business Central をインストールしている場合は Process Automation Manager コントローラーにアクセスする
rest-all
ユーザーロールがある。もしくは、Business Central とは別にインストールされたヘッドレス Process Automation Manager コントローラーにアクセスするkie-server
ユーザーロールがある。
手順
Web ブラウザーで
http://SERVER:PORT/CONTROLLER/docs
に移動します。たとえば、http://localhost:8080/business-central/docs
などです。rest-all
ロールのある Process Automation Manager コントローラーユーザー、またはkie-server
ロールを持つヘッドレス Process Automation Manager コントローラーユーザーのユーザー名とパスワードでログインします。注記Business Central に組み込まれている Process Automation Manager コントローラーを使用している場合、Process Automation Manager コントローラーに関連付けられている Swagger ページは、Business Central REST サービスでは "Business Central API" として特定されます。Business Central なしでヘッドレス Process Automation Manager コントローラーを使用している場合は、ヘッドレス Process Automation Manager コントローラーに関連付けられている Swagger ページは、"Controller API" と特定されます。いずれの場合も、Process Automation Manager コントローラー REST API エンドポイントは、同じです。
-
Swagger ページで、要求の送信先となる関連 API エンドポイントを選択します。たとえば、Controller :: KIE Server templates and KIE containers
[GET] /controller/management/servers で KIE Server テンプレートを Process Automation Manager コントローラーから取得します。 - 該当する場合は Try it out をクリックして、結果のフィルタリングに使用する任意のパラメーターを提供します。
- Response content type ドロップダウンメニューで、サーバー応答のフォーマットを選択します (例: JSON フォーマットでは application/json)。
Execute をクリックし、KIE Server の応答を確認します。
サーバー応答の例 (JSON):
{ "server-template": [ { "server-id": "default-kieserver", "server-name": "default-kieserver", "container-specs": [ { "container-id": "employeerostering_1.0.0-SNAPSHOT", "container-name": "employeerostering", "server-template-key": { "server-id": "default-kieserver", "server-name": "default-kieserver" }, "release-id": { "group-id": "employeerostering", "artifact-id": "employeerostering", "version": "1.0.0-SNAPSHOT" }, "configuration": { "RULE": { "org.kie.server.controller.api.model.spec.RuleConfig": { "pollInterval": null, "scannerStatus": "STOPPED" } }, "PROCESS": { "org.kie.server.controller.api.model.spec.ProcessConfig": { "runtimeStrategy": "SINGLETON", "kbase": "", "ksession": "", "mergeMode": "MERGE_COLLECTIONS" } } }, "status": "STARTED" }, { "container-id": "mortgage-process_1.0.0-SNAPSHOT", "container-name": "mortgage-process", "server-template-key": { "server-id": "default-kieserver", "server-name": "default-kieserver" }, "release-id": { "group-id": "mortgage-process", "artifact-id": "mortgage-process", "version": "1.0.0-SNAPSHOT" }, "configuration": { "RULE": { "org.kie.server.controller.api.model.spec.RuleConfig": { "pollInterval": null, "scannerStatus": "STOPPED" } }, "PROCESS": { "org.kie.server.controller.api.model.spec.ProcessConfig": { "runtimeStrategy": "PER_PROCESS_INSTANCE", "kbase": "", "ksession": "", "mergeMode": "MERGE_COLLECTIONS" } } }, "status": "STARTED" } ], "server-config": {}, "server-instances": [ { "server-instance-id": "default-kieserver-instance@localhost:8080", "server-name": "default-kieserver-instance@localhost:8080", "server-template-id": "default-kieserver", "server-url": "http://localhost:8080/kie-server/services/rest/server" } ], "capabilities": [ "RULE", "PROCESS", "PLANNING" ] } ] }
-
Swagger ページで Controller :: KIE Server templates and KIE containers
[GET] /controller/management/servers/{serverTemplateId} エンドポイントに移動し、新たな KIE Server テンプレートを作成するための別の要求を送信します。ご自分のユースケースに合わせて、要求詳細を調整します。 Try it out をクリックして、以下の要求のコンポーネントを入力します。
-
serverTemplateId: 新規 KIE Server テンプレートの ID を入力します (例:
new-kieserver
)。 - body: Parameter content type を任意の要求のボディ形式 (JSON の場合は application/json など) に設定し、要求のボディに新規 KIE Server テンプレートの設定を追加します。
{ "server-id": "new-kieserver", "server-name": "new-kieserver", "container-specs": [], "server-config": {}, "capabilities": [ "RULE", "PROCESS", "PLANNING" ] }
-
serverTemplateId: 新規 KIE Server テンプレートの ID を入力します (例:
- Response content type ドロップダウンメニューで、サーバー応答のフォーマットを選択します (例: JSON フォーマットでは application/json)。
Execute をクリックし、Process Automation Manager コントローラーの応答が正常であることを確認します。
要求エラーが発生した場合は、返されたエラーコードメッセージを確認して、それに応じて要求を調整します。