Projekt-Portfoliomanagement-API
Die Projekt-Portfoliomanagement Die API stellt Endpunkte zum Massenimport von Kostenplänen und Projektaufgaben bereit.
Das PPM Standard-Plugin (com.snc.Financial_Planning_pmo) ist für den Zugriff auf diese API erforderlich. Der aufrufende Anwender muss über die Rolle „IT_project_Manager“ verfügen.
Diese API wird in bereitgestellt Jetzt Namespace.
Projekt-Portfoliomanagement – POSTEN SIE /now/ppm/insert_Cost_Plans
Erstellt Kostenpläne in der Tabelle „Kostenplan“ [Cost_Plan].
URL-Format
Standard-URL: /api/now/ppm/insert_Cost_Plans
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| End_Fiskalperiode | Erforderlich. SYS_ID der Endgeschäftsperiode für den Kostenplan. Datentyp: Zeichenfolge Tabelle: Geschäftsperiode [fiscal_period] |
| name | Erforderlich. Name des Kostenplans. Datentyp: Zeichenfolge |
| resource_type | Erforderlich. SYS_ID des Ressourcentyps. Datentyp: Zeichenfolge Tabelle: Ressourcentypdefinition [resource_type_Definition] |
| Start_Fiskalperiode | Erforderlich. SYS_ID der ersten Geschäftsperiode für den Kostenplan. Datentyp: Zeichenfolge Tabelle: Geschäftsperiode [fiscal_period] |
| Aufgabe | Erforderlich. SYS_ID des Projekts oder Bedarfs für den Kostenplan. Datentyp: Zeichenfolge Tabelle: Projekt [pm_project] oder Bedarf [dmn_Demand] |
| Unit_Cost | Erforderlich. Stückkosten für den Kostenplan. Datentyp: Zeichenfolge |
Header
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST API verwendet werden, finden Sie unter Unterstützte REST-API-Header .
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützt nur application/json. |
| Content-Type | Datenformat des Anforderungstexts. Unterstützt nur application/json. |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST API verwendet werden, finden Sie unter REST API-HTTP-Antwortcodes .
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| 401 | Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben. |
Parameter des Antwort-Haupttexts (JSON)
| Name | Beschreibung |
|---|---|
| Ergebnis | Objekt mit Informationen zum Status der API-Anforderung. Datentyp: Objekt |
| Ergebnis.Status | Status der API-Anforderung. Datentyp: Zeichenfolge |
cURL-Anforderung
In diesem Beispiel werden zwei Kostenpläne importiert.
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'
Antworttext.
{
"result": {
"status": "success"
}
}
Projekt-Portfoliomanagement – POST /now/ppm/insert_project_Tasks
Erstellt ein Projekt und zugehörige Projektaufgaben.
Projekte werden in der Tabelle „Projekt“ [pm_project] erstellt, und Projektaufgaben werden in der Tabelle „Projektaufgabe“ [pm_project_Task] erstellt.
URL-Format
Standard-URL: /api/now/ppm/insert_project_Tasks
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Child_Tasks | Array von Aufgaben für das Projekt. Jede Aufgabe ist ein Objekt im Array. Datentyp: Array |
| child_tasks.child_tasks | Array von untergeordneten Aufgaben für die übergeordnete Aufgabe. Jede untergeordnete Aufgabe ist ein Objekt im Array. Jede untergeordnete Aufgabe kann ein eigenes Array von untergeordneten Aufgaben haben. Datentyp: Array |
| Child_Tasks.external_ID | Eindeutiger Bezeichner der Aufgabe aus dem externen System. Datentyp: Zeichenfolge |
| Child_Tasks.short_description | Kurze Beschreibung der Aufgabe. Datentyp: Zeichenfolge |
| end_date | Enddatum für das Projekt. Datentyp: Zeichenfolge |
| external_id | Eindeutiger Bezeichner des Projekts aus dem externen System. Datentyp: Zeichenfolge |
| short_description | Kurzbeschreibung des Projekts. Datentyp: Zeichenfolge |
| start_date | Startdatum für das Projekt. Datentyp: Zeichenfolge |
Header
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST API verwendet werden, finden Sie unter Unterstützte REST-API-Header .
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützt nur application/json. |
| Content-Type | Datenformat des Anforderungstexts. Unterstützt nur application/json. |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST API verwendet werden, finden Sie unter REST API-HTTP-Antwortcodes .
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| 401 | Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben. |
Parameter des Antwort-Haupttexts (JSON)
| Name | Beschreibung |
|---|---|
| Ergebnis | Objekt mit Informationen zum Status der API-Anforderung. Datentyp: Objekt |
| Ergebnis.Status | Status der API-Anforderung. Datentyp: Zeichenfolge |
cURL-Anforderung
In diesem Beispiel wird ein Projekt mit zwei Aufgaben (zpq_T1 und zpq_T2) importiert. Die erste Aufgabe enthält mehrere untergeordnete Aufgaben, und die zweite Aufgabe hat Abhängigkeiten von den untergeordneten Aufgaben aus der ersten Aufgabe.
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'
Antworttext.
{
"result": {
"status": "success"
}
}