7.2.2. プロジェクト
ナレッジストア REST API は Decision Central のプロジェクトを管理、ビルド、デプロイメントするための以下のエンドポイントをサポートします。ナレッジストア REST API のベース URL は http://SERVER:PORT/decision-central/rest/
です。ユーザーロール rest-all
では、すべての要求で HTTP の Basic 認証またはトークンベースの認証が必要です。
- [GET] /spaces/{spaceName}/projects
指定したスペースにあるプロジェクトを返します。
表7.4 要求パラメーター Name 説明 タイプ 要件 spaceName
取得するプロジェクトのスペース名
文字列
必須
サーバーの応答例 (JSON)
[ { "name": "Mortgage_Process", "spaceName": "MySpace", "groupId": "mortgage-process", "version": "1.0.0-SNAPSHOT", "description": "Getting started loan approval process in BPMN2, decision table, business rules, and forms.", "publicURIs": [ { "protocol": "git", "uri": "git://localhost:9418/MySpace/example-Mortgage_Process" }, { "protocol": "ssh", "uri": "ssh://localhost:8001/MySpace/example-Mortgage_Process" } ] }, { "name": "Employee_Rostering", "spaceName": "MySpace", "groupId": "employeerostering", "version": "1.0.0-SNAPSHOT", "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.", "publicURIs": [ { "protocol": "git", "uri": "git://localhost:9418/MySpace/example-Employee_Rostering" }, { "protocol": "ssh", "uri": "ssh://localhost:8001/MySpace/example-Employee_Rostering" } ] }, { "name": "Evaluation_Process", "spaceName": "MySpace", "groupId": "evaluation", "version": "1.0.0-SNAPSHOT", "description": "Getting started Business Process for evaluating employees", "publicURIs": [ { "protocol": "git", "uri": "git://localhost:9418/MySpace/example-Evaluation_Process" }, { "protocol": "ssh", "uri": "ssh://localhost:8001/MySpace/example-Evaluation_Process" } ] }, { "name": "IT_Orders", "spaceName": "MySpace", "groupId": "itorders", "version": "1.0.0-SNAPSHOT", "description": "Case Management IT Orders project", "publicURIs": [ { "protocol": "git", "uri": "git://localhost:9418/MySpace/example-IT_Orders" }, { "protocol": "ssh", "uri": "ssh://localhost:8001/MySpace/example-IT_Orders" } ] } ]
- [GET] /spaces/{spaceName}/projects/{projectName}
指定したスペースにある指定したプロジェクト関する情報を返します。
表7.5 要求パラメーター Name 説明 タイプ 要件 spaceName
プロジェクトのあるスペースの名前
文字列
必須
projectName
取得するプロジェクトの名前
文字列
必須
サーバーの応答例 (JSON)
{ "name": "Employee_Rostering", "spaceName": "MySpace", "groupId": "employeerostering", "version": "1.0.0-SNAPSHOT", "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.", "publicURIs": [ { "protocol": "git", "uri": "git://localhost:9418/MySpace/example-Employee_Rostering" }, { "protocol": "ssh", "uri": "ssh://localhost:8001/MySpace/example-Employee_Rostering" } ] }
- [POST] /spaces/{spaceName}/projects
指定したスペースにプロジェクトを作成します。
表7.6 要求パラメーター Name 説明 タイプ 要件 spaceName
新規プロジェクトが作成されるスペースの名前
文字列
必須
ボディ
新規プロジェクトの
name
、groupId
、version
、description
、およびその他のコンポーネント要求ボディ
必須
要求ボディ (JSON) 例
{ "name": "Employee_Rostering", "groupId": "employeerostering", "version": "1.0.0-SNAPSHOT", "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill." }
サーバーの応答例 (JSON)
{ "jobId": "1541017411591-6", "status": "APPROVED", "spaceName": "MySpace", "projectName": "Employee_Rostering", "projectGroupId": "employeerostering", "projectVersion": "1.0.0-SNAPSHOT", "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill." }
- [DELETE] /spaces/{spaceName}/projects/{projectName}
指定したスペースから指定したプロジェクトを削除します。
表7.7 要求パラメーター Name 説明 タイプ 要件 spaceName
プロジェクトのあるスペースの名前
文字列
必須
projectName
削除するプロジェクトの名前
文字列
必須
サーバーの応答例 (JSON)
{ "jobId": "1541128617727-10", "status": "APPROVED", "projectName": "Employee_Rostering", "spaceName": "MySpace" }
- [POST] /spaces/{spaceName}/git/clone
指定した Git アドレスから指定したスペースにプロジェクトのクローンを作成します。
表7.8 要求パラメーター Name 説明 タイプ 要件 spaceName
プロジェクトのクローンを作成するスペース名
文字列
必須
ボディ
クローンするプロジェクトの
name
、description
、Git リポジトリーのuserName
、password
、およびgitURL
要求ボディ
必須
要求ボディ (JSON) 例
{ "name": "Employee_Rostering", "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.", "userName": "baAdmin", "password": "password@1", "gitURL": "git://localhost:9418/MySpace/example-Employee_Rostering" }
サーバーの応答例 (JSON)
{ "jobId": "1541129488547-13", "status": "APPROVED", "cloneProjectRequest": { "name": "Employee_Rostering", "description": "Employee rostering problem optimisation using Planner. Assigns employees to shifts based on their skill.", "userName": "baAdmin", "password": "password@1", "gitURL": "git://localhost:9418/MySpace/example-Employee_Rostering" }, "spaceName": "MySpace2" }
- [POST] /spaces/{spaceName}/projects/{projectName}/maven/compile
指定したスペースで指定したプロジェクトをコンパイルします (
mvn compile
と同等)。表7.9 要求パラメーター Name 説明 タイプ 要件 spaceName
プロジェクトのあるスペースの名前
文字列
必須
projectName
コンパイルするプロジェクトの名前
文字列
必須
サーバーの応答例 (JSON)
{ "jobId": "1541128617727-10", "status": "APPROVED", "projectName": "Employee_Rostering", "spaceName": "MySpace" }
- [POST] /spaces/{spaceName}/projects/{projectName}/maven/test
指定したスペースで指定したプロジェクトをテストします (
mvn test
と同等)。表7.10 要求パラメーター Name 説明 タイプ 要件 spaceName
プロジェクトのあるスペースの名前
文字列
必須
projectName
テストするプロジェクトの名前
文字列
必須
サーバーの応答例 (JSON)
{ "jobId": "1541132591595-19", "status": "APPROVED", "projectName": "Employee_Rostering", "spaceName": "MySpace" }
- [POST] /spaces/{spaceName}/projects/{projectName}/maven/install
指定したスペースで指定したプロジェクトをインストールします (
mvn install
と同等)。表7.11 要求パラメーター Name 説明 タイプ 要件 spaceName
プロジェクトのあるスペースの名前
文字列
必須
projectName
インストールするプロジェクトの名前
文字列
必須
サーバーの応答例 (JSON)
{ "jobId": "1541132668987-20", "status": "APPROVED", "projectName": "Employee_Rostering", "spaceName": "MySpace" }
- [POST] /spaces/{spaceName}/projects/{projectName}/maven/deploy
指定したスペースで指定したプロジェクトをデプロイします (
mvn deploy
と同等)。表7.12 要求パラメーター Name 説明 タイプ 要件 spaceName
プロジェクトのあるスペースの名前
文字列
必須
projectName
デプロイするプロジェクトの名前
文字列
必須
サーバーの応答例 (JSON)
{ "jobId": "1541132816435-21", "status": "APPROVED", "projectName": "Employee_Rostering", "spaceName": "MySpace" }