Project Portfolio Management-API

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Die Project Portfolio Management- API bietet Endpunkte für den Massenimport von Kostenplänen und Projektaufgaben.

    Für den Zugriff auf diese API ist das Plugin „PPM Standard“ (com.snc.financial_planning_pmo) erforderlich. Der aufrufende Benutzer muss die Rolle it_project_manager haben.

    Diese API wird im Now -Namespace bereitgestellt.

    Project Portfolio Management – POST /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

    Tabelle : 1. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 2. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 3. Anforderungstextparameter (JSON)
    Name Beschreibung
    end_fiscal_period Erforderlich. Sys_id der endenden Geschäftsperiode für den Kostenplan. Befindet sich in der Tabelle „Geschäftsperiode“ [fiscal_period].

    Datentyp: Zeichenfolge

    Name Erforderlich. Name des Kostenplans.

    Datentyp: Zeichenfolge

    resource_type Erforderlich. Sys_id des Ressourcentyps. Befindet sich in der Tabelle „Ressourcentypdefinition“ [resource_type_definition].

    Datentyp: Zeichenfolge

    start_fiscal_period Erforderlich. Sys_id der ersten Geschäftsperiode für den Kostenplan. Befindet sich in der Tabelle „Geschäftsperiode“ [fiscal_period].

    Datentyp: Zeichenfolge

    Aufgabe Erforderlich. Sys_id des Projekts oder Bedarfs für den Kostenplan. Befindet sich in der Tabelle „Projekt“ [pm_project] oder „Bedarf“ [dmn_demand].

    Datentyp: Zeichenfolge

    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.

    Tabelle : 4. Anforderungskopfzeilen
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützt nur application/json.
    Content-Type Datenformat des Anforderungstexts. Unterstützt nur application/json.
    Tabelle : 5. Antwortkopfzeilen
    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 HTTP-Antwortcodesder REST-API.

    Tabelle : 6. Statuscodes
    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, das Informationen zum Status der API-Anforderung enthält.

    Datentyp: Objekt

    "result": {
       "status": "String"
    }
    result.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"
       }
    }

    Project Portfolio Management – POST /now/ppm/insert_project_tasks

    Erstellt ein Projekt und zugehörige Projektaufgaben.

    Projekte werden in der Projekttabelle [pm_project] und Projektaufgaben in der Projektaufgabentabelle [pm_project_task] erstellt.

    URL-Format

    Standard-URL: /api/now/ppm/insert_project_tasks

    Unterstützte Anforderungsparameter

    Tabelle : 7. Pfadparameter
    Name Beschreibung
    Keine
    Tabelle : 8. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 9. Anforderungstextparameter (JSON)
    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],
          "external_id": "String",
          "short_description": "String" 
       }
    ]
    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": [
       {
          "child_tasks": [Array],
          "external_id": "String",
          "short_description": "String" 
       }
    ]
    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.

    Tabelle : 10. Anforderungskopfzeilen
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützt nur application/json.
    Content-Type Datenformat des Anforderungstexts. Unterstützt nur application/json.
    Tabelle : 11. Antwortkopfzeilen
    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 HTTP-Antwortcodesder REST-API.

    Tabelle : 12. Statuscodes
    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, das Informationen zum Status der API-Anforderung enthält.

    Datentyp: Objekt

    "result": {
       "status": "String"
    }
    result.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 weist Abhängigkeiten zu den untergeordneten Aufgaben der ersten Aufgabe auf.

    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"
       }
    }