38.2. KIE Server REST API を使用した動的サービスタスクの作成
サービスタスクは通常、ユーザータスクより複雑ではありませんが、正常に実行するにはさらにデータが必要となる可能性があります。サービスタスクには以下の情報が必要です。
-
name: アクティビティー名 -
nodeType: ワークアイテムハンドラーの検索に使用するノードタイプ -
data: 正しく実行を処理するためのデータのマッピング
ケースの実行時に、ユーザータスクと同じエンドポイントを使用して動的サービスタスクを作成できますが、ボディーペイロードは異なります。
以下の手順に沿って、Swagger REST API ツールを使用して、Business Central で利用可能な IT_Orders サンプルプロジェクトの動的サービスタスクを作成します。Swagger のない REST API でも、同じエンドポイントを利用できます。
前提条件
- Business Central にログインしており、Showcase アプリケーションを使用して IT Orders ケースインスタンスを起動している。Showcase の使用方法の詳細は、ケース管理のための Showcase アプリケーションの使用 を参照してください。
手順
Web ブラウザーで、以下の URL を開きます。
- Case instances :: Case Management で利用可能なエンドポイントのリストを開きます。
以下の
POSTメソッドのエンドポイントをクリックし、詳細を開きます。/server/containers/{id}/cases/instances/{caseId}/stages/{caseStageId}/tasksTry it out をクリックしてから、以下のパラメーターを入力します。
Expand 表38.2 パラメーター 名前 説明 iditorderscaseIdIT-0000000001要求の body
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Swagger アプリケーションで、Execute をクリックして動的タスクを作成します。
この例では、Java ベースのサービスが実行されます。この例には、org.jbpm.demo.itorders.services.ITOrderService のパブリッククラスと、String 引数が 1 つ指定された printMessage パブリックメソッドとインターフェイスで構成されます。このサービスを実行すると、パラメーターの値がメソッドに渡されて実行されます。
サービスタスク作成に指定する数字、名前、他のタイプのデータは、サービスタスクのハンドラーの実装により異なります。提供されている例では、org.jbpm.process.workitem.bpmn2.ServiceTaskHandler ハンドラーが使用されています。
カスタムサービスタスクの場合は、Work Item Handlers セクションのデプロイメント記述子にハンドラーが登録されていることを確認します。名前は、動的サービスタスクの作成に使用される nodeType と同じです。デプロイメント記述子に関する詳細は、Red Hat Process Automation Manager でのプロセスサービスの開発 を参照してください。