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}/tasks
Try it out をクリックしてから、以下のパラメーターを入力します。
表38.2 パラメーター 名前 説明 id
itorders
caseId
IT-0000000001
要求のボディー
{ "name" : "InvokeService", "data" : { "Parameter" : "Fixed hardware spec", "Interface" : "org.jbpm.demo.itorders.services.ITOrderService", "Operation" : "printMessage", "ParameterType" : "java.lang.String" }, "nodeType" : "Service Task" }
- 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 でのプロセスサービスの開発 を参照してください。