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 ユーザーロールがある。

手順

  1. 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 エンドポイントは、同じです。

  2. Swagger ページで、要求の送信先となる関連 API エンドポイントを選択します。たとえば、Controller :: KIE Server templates and KIE containers [GET] /controller/management/servers で KIE Server テンプレートを Process Automation Manager コントローラーから取得します。
  3. 該当する場合は Try it out をクリックして、結果のフィルタリングに使用する任意のパラメーターを提供します。
  4. Response content type ドロップダウンメニューで、サーバー応答のフォーマットを選択します (例: JSON フォーマットでは application/json)。
  5. 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"
          ]
        }
      ]
    }
  6. Swagger ページで Controller :: KIE Server templates and KIE containers [GET] /controller/management/servers/{serverTemplateId} エンドポイントに移動し、新たな KIE Server テンプレートを作成するための別の要求を送信します。ご自分のユースケースに合わせて、要求詳細を調整します。
  7. 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"
      ]
    }
  8. Response content type ドロップダウンメニューで、サーバー応答のフォーマットを選択します (例: JSON フォーマットでは application/json)。
  9. Execute をクリックし、Process Automation Manager コントローラーの応答が正常であることを確認します。

    要求エラーが発生した場合は、返されたエラーコードメッセージを確認して、それに応じて要求を調整します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.