Wird Erstellt DevOps Subflows

  • Freigeben Version: Australia
  • Aktualisiert 12. März 2026
  • 4 Minuten Lesedauer
  • Erstellen Sie für vom Anwender erstellte Integrationen ein DevOps Workflow-Studio subflow zum Erfassen und Transformieren von Daten aus dem Tool, das Sie integrieren.

    ServiceNow Flow Designer Ist ein ServiceNow AI Platform Funktion, die Ihr Integrationsentwickler verwenden kann, um Prozesse mithilfe einer Reihe von Aktionen zu automatisieren. Auslöserbedingungen starten den Flow, und Variablen übergeben Informationen zwischen Aktionen.

    Siehe Flow Designer Subflows Für Informationen zum Erstellen eines Subflows.

    Subflow der Benachrichtigungsfähigkeit

    Element Erwarteter Wert
    Eingaben

    Bezeichnung: Aktuell

    Typ: Referenz.Eingehendes Ereignis

    Ausgaben

    N/V

    Transformieren Sie die ursprüngliche Nutzlast, und speichern Sie die endgültige Nutzlast in Transformiert_Payload Feld.

    Erwartete Standard-Nutzlast der JSON-Benachrichtigungsfähigkeit – Planungstool
    Hinweis:
    Das Versionsattribut in der JSON-Nutzlast ist optional. Auch wenn Sie das Versionsattribut nicht angeben, wird die Nutzlast erfolgreich verarbeitet.
    {
      "id": "STR1234",
      "type": "Story",
      "shortDescription": "Planning API Spec",
      "state": "In-progress",
      "createdDateTime": "1970-01-01T08:15:30-05:00",
      "assignedTo": {
        "name": "Leo Neo",
        "userName": "lenn",
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "email": "lenn@smithworksinc.com"
      },
    // The Version attribute is optional
      "version": {
          "id": "REL1234",
          "shortDescription": "APIs Release",
          "createdDateTime": "1970-01-01T08:15:30-05:00",
          "app": {
              "id": "PRODUCT1234",
              "shortDescription": "Mobile UI",
              "createdDateTime": "1970-01-01T08:15:30-05:00",
              "url": "https://jira.com/mycompany/browse/PRODUCT-125"
            },
          "url": "https://jira.com/mycompany/browse/REL-125"
        },
      "app": {
          "id": "PRODUCT1234",
          "shortDescription": "Mobile UI",
          "createdDateTime": "1970-01-01T08:15:30-05:00",
          "url": "https://jira.com/mycompany/browse/PRODUCT-125"
        },
      "url": "https://jira.com/mycompany/browse/HALOKEY-25"
    }
    Erwartete Nutzlast der Standard-JSON-Benachrichtigungsfähigkeit – Codierungstool
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "url": "https://github.com/mycompany/mobileplatform/commit/3fa85f6457174562b3fc2c963f66afa6",
      "committedDate": "1970-01-01T08:15:30-05:00",
      "repository": {
        "name": "Platform-Mobile",
        "url": "https://github.com/mycompany/mobileplatform"
      },
     "branch": {
        "name": "master",
        "path": "refs/heads/master"
      },
      "committer": {
        "email": "lenn@smithworksinc.com"
      },
      "details": [
        {
          "additions": 0,
          "deletions": 0,
          "totalChanges": 0,
          "file": "src/test/java/com/mycompany/app/App.java",
          "action": "modified",
          "changes": "%40%40%20-30%2C6%20%2B30%2C18%20%40%40%20public%20void%20testAppConstructor%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%7D%0A%20%0A%2B%20%20%20%20%40Test%0A%2B%20%20%20%20public%20void%20testDatabase%28%29%0A%2B%20%20%20%20%7B%0A%2B%09%2F%2FThis%20is%20a%20test%20function%0A%2B%20%20%20%20%20%20%20%20App.main%28null%29%3B%0A%2B%20%20%20%20%20%20%20%20try%20%7B%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20assertEquals%28%22Hello%20World%21%22%20%2B%20System.getProperty%28%22line.separator%22%29%2C%20outContent.toString%28%29%29%3B%0A%2B%20%20%20%20%20%20%20%20%7D%20catch%20%28AssertionError%20e%29%20%7B%0A%2B%20%20%20%20%20%20%20%20%20%20%20%20fail%28%22%22message%22%20is%20not%20%22Hello%20World%21%22%22%29%3B%0A%2B%20%20%20%20%20%20%20%20%7D%0A%2B%20%20%20%20%7D%0A%2B%0A%20%20%20%20%20%40Test%0A%20%20%20%20%20public%20void%20testAppMain%28%29%0A%20%20%20%20%20%7B"
        }
      ]
    }
     
    Erwartete Nutzlast der Standard-JSON-Benachrichtigungsfähigkeit – Orchestration-Tool
    {
      "toolId": "bc1d9454dbdb0810ae77f3c61d9619d1",
      "buildNumber": "100",
      "nativeId": "HILR/Prod #100",
      "name": "HILR/Prod",
      "id": "HILR/Prod #100",
      "url": "https://dev.azure.com/lenn/CorpSite-ADO/_build/results?buildId=100#Prod/",
      "isMultiBranch": "false",
      "orchestrationTaskUrl": "https://dev.azure.com/lenn/CorpSite-ADO/_build?name=HILR#Prod",
      "orchestrationTaskName": "CorpSite-ADO/HILR#Prod",
      "upstreamTaskUrl": "https://dev.azure.com/lenn/CorpSite-ADO/_build/results?buildId=100#UAT/",
      "upstreamId": "CorpSite-ADO/HILR#UAT",
      "result": "building",
      "startDateTime": "2020-03-20 22:59:27"
    }
    
    Erwartete Nutzlast der Standard-JSON-Benachrichtigungsfähigkeit – Testtool
    Funktionell:
    { 
    "name": "CorpSite-selenium#55", 
    "duration": 78.802, 
    "passedTests": 4, 
    "failedTests": 0, 
    "skippedTests": 0, 
    "blockedTests": 0, 
    "totalTests": 4, 
    "startTime": "2020-06-30T18:12:31Z", 
    "finishTime": "2020-06-30T18:12:31Z", 
    "passingPercent": 100, 
     
     
    // Use Artifact OR Package OR Build + Stage + PipelineName Attributes 
    "packages": [{"name": "CorpSite-pkg1"}], 
    "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], 
    "buildNumber": "55", 
    "stageName": "test", 
    "pipelineName": "CorpSite-selenium", 
    } 
    
    Leistung:
    { 
    "name": "Performance Tests", 
    "url": "http://abc.com", 
    "startTime": "2020-06-30T18:12:31Z", 
    "finishTime": "2020-06-30T18:12:31Z", 
    "duration": 78.802, 
    "maximumVirtualUsers": "", 
    "throughput": "", 
    "maximumTime": "", 
    "minimumTime": "", 
    "averageTime": "", 
    "ninetyPercent": "", 
    "standardDeviation": "", 
     
    // Use Artifact OR Package OR Build + Stage + PipelineName Attributes 
    "packages": [{"name": "CorpSite-pkg1"}], 
    "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], 
    "buildNumber": "55", 
    "stageName": "test", 
    "pipelineName": "CorpSite-Performance", 
    } 
    
    Erwartete Standard-Nutzlast der JSON-Benachrichtigungsfähigkeit – Artefakt-Tool
    Pipelines:
    {
      "artifacts": [
        {
          "name": "acm.jar",
          "version": "1.82",
          "semanticVersion": "1.82.0",
          "repositoryName": "acm-repo"
        }
      ],
      "pipelineName": "testMultiBranch/master",
      "taskExecutionNumber": "82",
      "stageName": "buildmbmaster",
      "branchName": "master"
    }
    
    Jenkins Freestyle-/Maven-Projekt:
    {
      "artifacts": [
        {
          "name": "mav1.jar",
          "version": "1.11",
          "semanticVersion": "1.11.0",
          "repositoryName": "mav-repo"
        }
      ],
      "projectName": "maven-test-proj",
      "taskExecutionNumber": "11"
    }
    
    Abbildung : 1. DevOps Beispiel für Flow-Diagramm der Benachrichtigungsfähigkeit: Codierungstool
    Flow des DevOps-Benachrichtigungs-Codierungstool

    Subflow der Verbindungsfähigkeit

    Die Connect-Fähigkeit wird unterstützt.

    Element Erwarteter Wert
    Eingaben

    Bezeichnung: Aktuell

    Typ: Reference.DevOps-Tool

    Tooldatensatz, für den Verbinden Schaltflächenaktion wird angeklickt.

    Ausgaben

    Siehe subflow-Ausgaben .

    • Bezeichnung: Verbunden

      Kennzeichnung, die den Erfolg oder Fehler der Verbindung zum Zieltool angibt (wahr/falsch).

    • Bezeichnung: fehlermeldung

      Zeichenfolgennachricht, die im Formular für Verbindungsfehler angezeigt wird. Die Variable ist eine leere Zeichenfolge, wenn die Verbindung erfolgreich ist.

    Verbindungsfehler, die auf angezeigt werden DevOps Toolformular:
    Verbindung fehlgeschlagen
    Subflow wurde erfolgreich ausgeführt, die Verbindung konnte jedoch nicht hergestellt werden.
    Fehler: Fehler beim Abrufen der Fehlerdetails aus dem tool-spezifischen Connect-Flow
    Die Ausführung des Subflows ist aus einem unbekannten Grund fehlgeschlagen.
    Fehler beim Aktualisieren des Tool-Verbindungsstatus
    Das Attribut connection_State konnte aus unbekanntem Grund nicht aktualisiert werden.
    Abbildung : 2. DevOps Beispiel für Flow-Diagramm der Connect-Fähigkeit: Orchestration-Tool
    DevOps Connect-Orchestration-Tool

    Erkennen Sie den Fähigkeits-Subflow

    Die Erkennungsfunktion wird unterstützt.

    Element Erwarteter Wert
    Eingaben

    Bezeichnung: Aktuell

    Typ: Reference.DevOps-Tool

    Ausgaben

    Siehe subflow-Ausgaben .

    Ohne Paginierung:

    Bezeichnung: DiscoverPayload

    Typ: Array von Objekten als JSON-Zeichenfolge.

    (JSON.stringify([{},{}]))

    Planungstool ohne Paginierung:

    [
    {
       "id":"REL1234567",
       "name": "REL NUMBERS",
       "url":"https://jira.com/vult/browse/REL1234567",
       "nativeId": "1790e6cc-085b-4529-9cb8-47f393182226"
    },
    {
       "id":"TOR67",
       "name": "TOR 67",
       "url":"https://jira.com/welp/browse/TOR67",
       "nativeId": "482ce864-085b-4529-9cb8-47f393767eb2"
    }
    ]
    Codierungstool ohne Paginierung:
    [
      {
          "name": "nvm_repo",
          "url": "https://github.com/nvm_repo/"
      },
      {
          "name": "golang_util",
          "url": "https://github.com/golang_util/"
      }
    ];
    Orchestration-Tool ohne Paginierung:
    {
      "orchestrationTasks": [
        {
          "name": "Build_APC_1",
          "url": "https://jenkins.wsf.xyz/job/Build_APC_1",
          "projectName": "Build_APC_1"
        },
        {
          "name": "CI_CD_Jenkins",
          "url": "https://pt1.jenkins.com/job/CI_CD_Jenkins",
          "projectName": "CI_CD_Jenkins"
        },
        {
          "name": "CI_deploy",
          "url": "https://pt2.jenkins.com/job/CI_deploy",
          "projectName": "CI_deploy"
        }
      ],
      "pipelines": [
        {
          "name": "Build_APC_1",
          "url": "https://jenkins.wsf.xyz/job/Build_APC_1",
          "projectName": "Build_APC_1"
        },
        {
          "name": "CI_CD_Jenkins",
          "url": "https://pt1.jenkins.com/job/CI_CD_Jenkins",
          "projectName": "CI_CD_Jenkins"
        },
        {
          "name": "CI_deploy",
          "url": "https://pt2.jenkins.com/job/CI_deploy",
          "projectName": "CI_deploy"
        }
      ]
    }

    Mit Paginierung:

    Bezeichnung: DiscoverPayload

    Typ: Array von Objekten als JSON-Zeichenfolge.

    (JSON.stringify([{},{}]))

    Beispiel-JSON-Format:

    "pageInfo" : {
        "isLastPage" : true, 
        "discoverPayload" : {},
        “pageDetails” : {}
    }
    Planungstool mit Paginierung:
    {               
        "pageInfo": {
            "isLastPage": false,
            "discoverPayload": [
                {
                   "id":"REL1234567",
                   "name": "REL NUMBERS",
            "url":"https://jira.com/vult/browse/REL1234567",
                   "nativeId": "1790e6cc-085b-4529-9cb8-47f393182226"
                },
                {
                   "id":"TOR67",
                   "name": "TOR 67",
                   "url":"https://jira.com/welp/browse/TOR67",
                   "nativeId": "482ce864-085b-4529-9cb8-47f393767eb2"
                }
                ],
            "pageDetails": {
                "curPage" : 1,
                "nextPage": 2
            }
        }
    }
    Codierungstool mit Paginierung:
    {
        "pageInfo": {
            "isLastPage": false,
            "discoverPayload": [
                {
                    "name": "nvm_repo",
                    "url": "https://github.com/nvm_repo/"
                },
                {
                    "name": "golang_util",
                    "url": "https://github.com/golang_util/"
                }
            ],
            "pageDetails": {
                "curPage" : 1,
                "nextPage": 2
            }
        }
    }
    Orchestration-Tool mit Paginierung:
    { 
        "pageInfo": { 
            "isLastPage": false, 
            "discoverPayload": { 
                "orchestrationTasks": [ 
                  { 
                    "name": "Build_APC_1", 
                    "url": "https://jenkins.wsf.xyz/job/Build_APC_1", 
                    "projectName": "Build_APC_1" 
                  }, 
                  { 
                    "name": "CI_CD_Jenkins", 
                    "url": "https://pt1.jenkins.com/job/CI_CD_Jenkins", 
                    "projectName": "CI_CD_Jenkins" 
                  } 
                ], 
                "pipelines": [ 
                  { 
                    "name": "Build_APC_1", 
                    "url": "https://jenkins.wsf.xyz/job/Build_APC_1", 
                    "projectName": "Build_APC_1" 
                  } 
                ] 
              }, 
            "pageDetails": { 
                "curPage" : 1, 
                "nextPage": 2 
            } 
        } 
    } 
    Der Haupt-Flow „Erkennen“ wird während der Erstellung des Datensatzes für die Importanforderung ausgelöst. Eine Importanforderung hat diese status und Nachrichten.
    Status Nachricht
    Angefordert --
    In Verarbeitung --
    Abgeschlossen

    Aktualisierte <number>-Objekte

    <number>-Objekte mit ungültiger toolId gefunden

    <number>-Objekte gefunden – Validierung fehlgeschlagen

    Fehler
    • Nutzlastzeichenfolge aus Subflow kann nicht analysiert werden
    • Es wird erwartet, dass die DiscoverPayload ein Array von Objekten ist
    • ImportRequest-Datensatz enthält keinen Verweis auf Tooltabelle.
    Angehalten --
    Abgebrochen --
    Nicht abgeglichen --
    Abbildung : 3. DevOps Beispiel für Fähigkeits-Flow-Diagramm erkennen – Planungstool
    DevOps – Plantool-Flow erkennen
    Abbildung : 4. DevOps Erkennen Sie die Fähigkeit mit dem Flow-Diagramm zur Paginierungsunterstützung
    Flow-Diagramm eines typischen Discovery-Flows mit Paginierungsunterstützung

    Importanforderung Aktualisieren Workflow-Studio Aktion

    Sie können die Aktion Importanforderung aktualisieren in Ihrem Subflow „Erkennen“ verwenden, um den Status des Importanforderungsdatensatzes bei Bedarf zu ändern.

    Eingabebezeichnung Typ
    aktuell

    Referenz.Importanforderung

    Status (Zeichenfolge)
    • Angefordert
    • Verarbeitung
      Hinweis:
      Die Flow-Ausführung wird angehalten (sobald die Rückgabe vom Subflow empfangen wurde), wenn der Status auf „Verarbeitung“ festgelegt ist.
    • Abgeschlossen
    • Fehler
    • paused
    • Abgebrochen
    • nicht abgeglichen
    details (Zeichenfolge)