Wird Erstellt DevOps Subflows

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • Erstellen Sie für vom Anwender erstellte Integrationen eine DevOps Workflow-Studio subflow zum Sammeln 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 Informationen zum Erstellen eines Subflows.

    Subflow der Benachrichtigungsfähigkeit

    Element Erwarteter Wert
    Eingaben

    Bezeichnung: Aktuell

    Typ: Reference.Inbound Event

    Ausgaben

    N/V

    Transformieren Sie die ursprüngliche Nutzlast, und speichern Sie die endgültige Nutzlast in Transform_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 Standard-Nutzlast der 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 Standard-Nutzlast der 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
    Funktionsfähig:
    { 
    "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: errormessage

      Zeichenfolgennachricht, die im Formular für einen 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

    Fähigkeits-Subflow erkennen

    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 Datensatzerstellung der 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 ein Fähigkeits-Flow-Diagramm erkennen – Planungstool
    DevOps – Plantool-Flow erkennen
    Abbildung : 4. DevOps Erkennen Sie die Fähigkeit mit dem Flow-Diagramm zur Unterstützung der Paginierung
    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)