Status der ServiceNow DevOps-Change-Anforderung in Jenkins-Pipeline-Protokollen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • Mit dem Dienstprogramm „Jenkins Snippet Generator“ können Sie konfigurieren, wie und wann der Change-Status und die entsprechenden Richtlinienbedingungen in den Protokollen der Jenkins-Pipeline-Aufträge angezeigt werden müssen. Dadurch können Entwickler den Status des Change in den Konsolenprotokollen der Pipeline selbst anzeigen.

    Um einen Schrittausschnitt zu generieren, navigieren Sie aus einer konfigurierten Pipeline zur Pipeline-Syntax, wählen Sie den Schritt SnDevOpsChange aus der Liste Beispielschritt aus, und aktualisieren Sie die Werte für die Change-Statusvariablen im Schritt. Wählen Sie die Option Fehler ignorieren aus, um zu verhindern, dass der Auftrag fehlschlägt, wenn ein Fehler auftritt. Wählen Sie Pipeline-Skript generieren aus, um ein Snippet zu erstellen. Sie können den Ausschnitt kopieren und in die Pipeline einfügen, um die Benachrichtigungen über den Change-Status zu erhalten. Aktualisieren Sie die folgenden Variablen im Schritt „SnDevOpsChange“, um Benachrichtigungen über den Change-Status zu erhalten:
    • Abfrageintervall: Gibt die Häufigkeit (in Sekunden) an, mit der Jenkins den Change-Status von ServiceNow abfragt und die Konsolenprotokolle mit dem Status aktualisiert. Der Change-Status wird in den Konsolenprotokollen nur aktualisiert, wenn die Felder Change-Statusübergänge, Zuweisungsgruppenaktualisierungen, Genehmigungsaktualisierungen, Geplantes Start-/Enddatumoder Change-Details (falls vorhanden) aktualisiert werden.
      Hinweis:
      Wenn in das Feld kein Wert eingegeben wird, wird keine Abfrageintervallprüfung ausgeführt, um den Change-Status in den Konsolenprotokollen zu aktualisieren.
    • Zeitüberschreitung bei Change-Erstellung: Gibt den Zeitüberschreitungswert für die Change-Erstellung in Sekunden an. Bei Zeitüberschreitung prüft Jenkins den Status der Change-Erstellung in ServiceNow. Wenn der Change nicht erstellt wurde, wird die Pipeline basierend auf der Kennzeichnung Bei Fehler bei Change-Erstellung abbrechen fortgesetzt oder abgebrochen. Standardmäßig wird die Pipeline abgebrochen, wenn eine Zeitüberschreitung angegeben und die Kennzeichnung Bei Fehler bei der Change-Erstellung abbrechen ausgewählt ist.
      Hinweis:
      Wenn in das Feld kein Wert eingegeben wird, wird die Zeitüberschreitungsprüfung für die Change-Erstellung nicht ausgeführt, um die Pipeline zu aktualisieren.
    • Abbrechen bei Fehler bei der Change-Erstellung: Pipeline abbrechen oder fortsetzen, wenn der Change erst nach Ablauf der Zeitüberschreitung für die Change-Erstellung erstellt wird.
      • Ausgewählt: Abbrechen
      • Deaktiviert: Fortsetzen
    • Change-Schritt-Zeitüberschreitung: Gibt den Wert für die Zeitüberschreitung des Change-Schritts in Sekunden an. Bei Zeitüberschreitung prüft Jenkins den Status des Change-Schritts in ServiceNow. Wenn der Change-Schritt noch ausgeführt wird, wird die Pipeline basierend auf der Kennzeichnung Bei Timeout des Change-Schritts abbrechen fortgesetzt oder abgebrochen. Standardmäßig wird die Pipeline abgebrochen, wenn eine Zeitüberschreitung angegeben ist und die Kennzeichnung Abbrechen bei Zeitüberschreitung des Change-Schritts ausgewählt ist.
      Hinweis:
      Wenn in das Feld kein Wert eingegeben wird, wird keine Zeitüberschreitungsprüfung für Change-Schritte ausgeführt, um die Pipeline zu aktualisieren.
    • Bei Zeitüberschreitung des Change-Schritts abbrechen: Pipeline abbrechen oder fortsetzen, wenn der Change-Schritt bei Zeitüberschreitung des Change-Schritts noch ausgeführt wird.
      • Ausgewählt: Abbrechen
      • Deaktiviert: Fortsetzen

    Sie können zu den Konsolenprotokollen in Ihrer Pipeline navigieren, um den Status eines Change Request anzuzeigen, wenn ein Change Request erstellt oder der Status des Change Request aktualisiert wird. Die mit dem Status der Change-Anforderung verknüpften Richtlinienbedingungen werden ebenfalls ausgewertet und in den Protokollen angezeigt. Wenn beispielsweise die Richtlinie „Erweiterte Automatisierung – DevOps-Change-Anforderung“ aktiviert ist, werden die Richtlinienbedingungen ausgewertet und die entsprechende getroffene Entscheidung (automatische Genehmigung/automatische Ablehnung/manuelle Genehmigung) in den Protokollen angezeigt.

    Die folgenden Details zur Change-Anforderung werden angezeigt:
    • Nummer
    • details
    • status
    • sys_id
    • Typ
    • Risiko
    • Priorität
    • changeStatus
    • planmäßigesStartDate
    • geplantesEnddatum
    • changeRequestURL

    Change-Statusprotokolle in der Jenkins-Pipeline-Konsole

    Die Protokolle für Richtlinienbedingungen werden für die Change-Flows des Basissystems wie folgt angezeigt:
    • DevOps-Modell-Change-Richtlinie: Bei der Change-Erstellung und wenn der Change-Status aktualisiert wird, werden nur Protokolle angezeigt.
    • DevOps-Change-Anforderung Minimale Automatisierungsrichtlinie: Protokolle werden zusammen mit der Change-Entscheidung und den Richtlinienbedingungen angezeigt, die der Change-Entscheidung entsprechen.
    • DevOps-Change-Anforderung für erweiterte Automatisierungsrichtlinie: Es werden Protokolle zusammen mit der Change-Entscheidung und den Richtlinienbedingungen angezeigt, die der Change-Entscheidung entsprechen.
    Die Eingaben für die Change-Richtlinie und die Entscheidungsbedingungen werden in der Tabelle „Entscheidungen“ [sys_decision_question] gespeichert. Protokolle werden angezeigt, wenn die folgenden Felder und Operatoren als Eingabe für Richtlinienbedingungen verwendet werden:
    Felder
    • code_coverage
    • commits_without_work_item
    • integration_tests_failed
    • load_tests_failed
    • regression_tests_failed
    • num_of_outages_in_last_7_days
    • num_of_current_outages
    • num_of_open_incidents
    • total_num_of_commits
    • tests_passing_percent
    • Risiko
    • code_security
    • Commits
    Operatoren
    • <=
    • >=
    • !=
    • =
    • <
    • >
    • ISNOTEMPTY
    • IST leer
    • BETWEEN
    • ALLES
    • NSAMEAS
    • SAMEAS
    • GT_FIELD
    • LT_FIELD
    Hinweis:
    Wenn ein anderes Feld als die Basissystemfelder in einer Change-Richtlinie geändert wird, müssen diese Felder manuell zum Flow hinzugefügt werden, damit Richtlinienbedingungen ausgewertet werden können.

    Wenn eine Change-Anforderung aufgrund eines Problems nicht erstellt wird, werden der Grund für den Fehler und der Status ebenfalls in der Konsole protokolliert.