ディシジョン・モデルのスナップショットをインポート
/ic/api/process/v1/dmn/spaces/{spaceId}/decision-models/{decisionModelName}/versions/{decisionModelVersion}
前提条件:
- ターゲット空間は、DMNおよびコンポーザにすでに存在している必要があります。 コンポーザを使用してターゲット領域を作成し、ターゲット領域に少なくとも1つのデシジョン・モデルを作成してください。
- スナップショットをインポートする前に、デシジョン・モデル・リソースでPUTリクエストを実行して空のターゲット・デシジョン・モデルを作成します。 詳細は「空のデシジョン・モデルを作成」を参照してください。
デシジョン・モデル・スナップショットを正常にインポートするには、次の条件を満たしている必要があります:
- リクエスト本文には、インポートするスナップショットのJSON表現が含まれている必要があります。
- パス・パラメータdecisionModelVersionは、インポート時に作成されたスナップショットの名前に設定する必要があります。 これが空のデシジョン・モデルへの最初のインポートである場合、スナップショット名をLATESTに設定する必要があります。
- リクエスト本文内のデシジョン・モデル・バージョンの名前属性は、パス・パラメータdecisionModelVersionと同じ値である必要があります。 たとえば、次の例のようにLATESTに設定します。
- 認可ヘッダーをbearerタイプに設定し、アクセス・トークンを指定する必要があります。
例:
{
"@class": ".DecisionModelVersion",
"name": "LATEST",
"description": "Initial version"
...
}リクエスト
- application/json
- decisionModelName(required): string
デシジョン・モデルの名前
- decisionModelVersion(required): string
ディシジョン・モデル・バージョンID、これは通常スナップショット名ですデフォルト値:
LATEST - spaceId(required): string
ディシジョン・モデルが作成されたプロセス空間を識別します。
- Authorization(required): string
許可ヘッダーはベアラーに入力するように設定しなければならず、アクセス・トークンを提供する必要があります。つまり、'Bearer
' デフォルト値:Bearer XXXXX.XXXXX.XXXXX
object- class: string
デフォルト値:
.DecisonModelVersion - 定義: 定義
- 権限: RestCollection
- testCases: RestCollection
object- class: string
デフォルト値:
.Definition - ディシジョン: RestCollection
- decisionServices: RestCollection
- inputData: RestCollection
- itemDefinitions: RestCollection
- requirementsModel: string
許容値:
[ "list", "graph" ]
レスポンス
- text/plain
204レスポンス
400レスポンス
401レスポンス
403レスポンス
500レスポンス
例
次の例は、デシジョン・モデルを別の環境にインポートし、バージョンを使用してそれをアクティブ化するための一連のステップを示します。
ステップ1: スナップショットのない空のデシジョン・モデルの作成
スナップショットを持たないmydecisionmodelという空のデシジョン・モデルを作成するには、API 「空のデシジョン・モデルを作成」を使用します。
リクエストの送信:
PUT /ic/api/process/v1/dmn/spaces/{spaceId}/decision-models/mydecisionmodelリクエスト本文:
{
"@class": ".DecisionModel",
"name": "mydecisionmodel",
"description": "Any text description",
"versions": {
"@class": ".RestCollection",
"name": "versions",
"items": []
},
"tags": {
"@class": ".RestCollection",
"name": "tags",
"items": []
},
"permissions": {
"@class": ".RestCollection",
"name": "permissions",
"items": []
}
}
ステップ2: mydecisionmodel用のLATESTデシジョン・モデル・スナップショットのインポート
空のデシジョン・モデルへの最初のインポートでは、スナップショット名が常にLATESTである必要があります。 デシジョン・モデル・スナップショットを変更して名前をLATESTに付け、最新のスナップショットを作成するために変更したJSONをインポートします。
リクエストの送信:
PUT /ic/api/process/v1/dmn/spaces/{spaceId}/decision-models/mydecisionmodel/versions/LATEST リクエスト本文:
たとえば、mysnapshot.dmnの場合は次のようになります:
{
@class": ".DecisionModelVersion",
"name": "LATEST",
"description": "Initial version"
...
}
ステップ3: mydecisionmodelに対して1.0デシジョン・モデル・スナップショットをインポート
インポートしたLATESTデシジョン・モデルJSONを変更し、1.0という名前を付けて、1.0のスナップショットを作成するように変更したJSONをインポートします。
リクエストの送信:
PUT /ic/api/process/v1/dmn/spaces/{spaceId}/decision-models/mydecisionmodel/versions/1.0 リクエスト本文:
たとえば、mysnapshot.dmnの場合は次のようになります:
{
"@class": ".DecisionModelVersion",
"name": "1.0",
"description": "First snapshot version"
...
}
ステップ4: 1.0デシジョン・モデル・スナップショットのデプロイ
1.0デシジョン・モデル・スナップショットをデプロイするにはAPI 「デシジョン・モデルのスナップショットをデプロイ」を使用します。
リクエスト本文には、インポートしたスナップショット・バージョンをtagIdバージョンに関連付けるためのJSON表現が含まれる必要があります。
書式:
{
"@class":".DecisionModelTag",
"name":"<tagId>",
"ref":
{ "@class":".DecisionModelTag$VersionReference", "name":"<snapshotId>" }
}
リクエストの送信:
認可ヘッダーをBearerタイプに設定し、アクセス・トークンを指定する必要があります。
PUT /ic/api/process/v1/dmn/spaces/{spaceId}/decisionmodels/mydecisionmodel/tags/1.0 リクエスト本文:
{
"@class":".DecisionModelTag",
"name":"1.0",
"ref":
{ "@class":".DecisionModelTag$VersionReference", "name":"1.0" }
}
例: スナップショット1.0をtagId 2.0で再デプロイ
次のPUTリクエストは、スナップショット・バージョン2.0をランタイム・バージョン1.0としてデプロイします。 これにより、ランタイム・バージョン1.0を起動しているDMNクライアントは、起動を変更することなく、スナップショット2.0の変更を取り込むことができます。
リクエストの送信:
PUT /ic/api/process/v1/dmn/spaces/{spaceId}/decision-models/mydecisionmodel/tags/1.0
{
"@class":".DecisionModelTag",
"name":"2.0",
"ref":
{ "@class":".DecisionModelTag$VersionReference", "name":"1.0" }
}
例: 新しい2.0スナップショットをインポートしてtagId 2.0でデプロイ
新しい2.0スナップショットをインポート
リクエストの送信:
PUT /ic/api/process/v1/dmn/spaces/{spaceId}/decision-models/mydecisionmodel/versions/2.0 リクエスト本文:
たとえば、mysnapshot2.0.dmnの場合は次のようになります:
{
@class": ".DecisionModelVersion",
"name": "2.0",
"description": "First snapshot version"
...
}
新しい2.0スナップショットをデプロイ
リクエストの送信:
PUT /ic/api/process/v1/dmn/spaces/{spaceId}/decisionmodels/mydecisionmodel/tags/2.0 リクエスト本文:
{
"@class":".DecisionModelTag",
"name":"2.0",
"ref":
{ "@class":".DecisionModelTag$VersionReference", "name":"2.0" }
}