プロジェクトポートフォリオ管理 API
プロジェクトポートフォリオ管理 API は、コスト計画とプロジェクトタスクを一括インポートするためのエンドポイントを提供します。
この API にアクセスするには、PPM Standard プラグイン (com.snc.financial_planning_pmo) が必要です。呼び出し元ユーザーには、it_project_manager ロールが必要です。
この API は now 名前空間内で提供されます。
プロジェクトポートフォリオ管理:POST /now/ppm/insert_cost_plans
コスト計画 [cost_plan] テーブルにコスト計画を作成します。
URL 形式
デフォルト URL: /api/now/ppm/insert_cost_plans
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| end_fiscal_period | 必須。コスト計画の終了会計期間のSys_id。 データタイプ:文字列 テーブル:会計期間 [fiscal_period] |
| 名前 | 必須。コスト計画の名前。 データタイプ:文字列 |
| resource_type | 必須。リソースタイプのSys_id。 データタイプ:文字列 テーブル:リソースタイプ定義 [resource_type_definition] |
| start_fiscal_period | 必須。コスト計画の開始会計期間のSys_id。 データタイプ:文字列 テーブル:会計期間 [fiscal_period] |
| タスク | 必須。コスト計画のプロジェクトまたはデマンドのSys_id。 データタイプ:文字列 テーブル:プロジェクト [pm_project] またはデマンド [dmn_demand] |
| unit_cost | 必須。コスト計画の単位コスト。 データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 401 | 権限がありません。ユーザー資格情報が間違っているか、渡されていません。 |
応答本文のパラメーター (JSON)
| 名前 | 説明 |
|---|---|
| 結果 | API 要求のステータスに関する情報を含むオブジェクト。 データタイプ: オブジェクト |
| result.status | API 要求のステータス。 データタイプ:文字列 |
cURL 要求
この例では、2 つのコスト計画をインポートします。
curl "https://instance.servicenow.com/api/now/ppm/insert_cost_plans" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "[
{
"name": "Cost plan 1",
"resource_type": "3d16eaf79330120064f572edb67ffb04",
"start_fiscal_period": "ed47e5d90b3010108d9ac74363673a98",
"end_fiscal_period": "0a47e5d90b3010108d9ac74363673afd",
"task": "0fc9f992db601810852ca6dc13961951",
"unit_cost": 1200
},
{
"name": "Cost plan 2",
"resource_type": "3d16eaf79330120064f572edb67ffb04",
"start_fiscal_period": "ed47e5d90b3010108d9ac74363673a98",
"end_fiscal_period": "7947e5d90b3010108d9ac74363673ac9",
"task": "0fc9f992db601810852ca6dc13961951",
"unit_cost": 3600
}
]" \
--user 'username':'password'
応答本文。
{
"result": {
"status": "success"
}
}
プロジェクトポートフォリオ管理:POST /now/ppm/insert_project_tasks
プロジェクトおよび関連するプロジェクトタスクを作成します。
プロジェクトはプロジェクト [pm_project] テーブルに作成され、プロジェクトタスクはプロジェクトタスク [pm_project_task] テーブルに作成されます。
URL 形式
デフォルト URL: /api/now/ppm/insert_project_tasks
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| child_tasks | プロジェクトのタスクのアレイ。各タスクは、アレイ内のオブジェクトです。 データタイプ:アレイ |
| child_tasks.child_tasks | 親タスクの子タスクのアレイ。各子タスクは、アレイ内のオブジェクトです。各子タスクは、子タスクの独自のアレイを持つことができます。 データタイプ:アレイ |
| child_tasks.external_id | 外部システムからのタスクの一意の識別子。 データタイプ:文字列 |
| child_tasks.short_description | タスクの簡単な説明。 データタイプ:文字列 |
| end_date | プロジェクトの終了日。 データタイプ:文字列 |
| external_id | 外部システムからのプロジェクトの一意の識別子。 データタイプ:文字列 |
| short_description | プロジェクトの簡単な説明。 データタイプ:文字列 |
| start_date | プロジェクトの開始日。 データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 401 | 権限がありません。ユーザー資格情報が間違っているか、渡されていません。 |
応答本文のパラメーター (JSON)
| 名前 | 説明 |
|---|---|
| 結果 | API 要求のステータスに関する情報を含むオブジェクト。 データタイプ: オブジェクト |
| result.status | API 要求のステータス。 データタイプ:文字列 |
cURL 要求
この例では、2 つのタスク (zpq_T1 と zpq_T2) を含むプロジェクトをインポートします。最初のタスクには複数の子タスクが含まれ、2 番目のタスクは最初のタスクの子タスクに依存しています。
curl "https://instance.servicenow.com/api/now/ppm/insert_project_tasks" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
"start_date": "2022-05-18 08:00:00",
"end_date": "2022-05-18 17:00:00",
"short_description": "zpq_Project",
"external_id": "0",
"child_tasks": [
{
"short_description": "zpq_T1",
"external_id": "1",
"child_tasks": [
{
"external_id": "1.1",
"short_description": "zpq_T11",
"child_tasks": [
{
"external_id": "1.1.1",
"short_description": "zpq_T111"
}
]
},
{
"external_id": "1.2",
"short_description": "zpq_T12"
}
]
},
{
"short_description": "zpq_T2",
"external_id": "2",
"dependencies": [
{
"external_id": "1.1",
"lag": -1,
"type": "fs"
},
{
"external_id": "1.2",
"lag": 2,
"type": "fs"
}
]
}
]
}" \
--user 'username':'password'
応答本文。
{
"result": {
"status": "success"
}
}