Integration mit der ServiceNow-Änderungsverwaltung

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Azure Pipelines unterstützt die Integration mit ServiceNow, um die Zusammenarbeit zwischen Entwicklungs- und IT-Teams zu verbessern. Durch die Einbindung der Änderungsverwaltung in Releasepipelines können Teams die mit Änderungen verbundenen Risiken verringern und Dienstverwaltungsmethoden wie ITIL befolgen und gleichzeitig Azure Pipelines in vollem Umfang nutzen.

In diesem Artikel lernen Sie Folgendes:

  • Konfigurieren sie ServiceNow-Instanzen.
  • Schließen Sie den ServiceNow-Änderungsverwaltungsprozess als Releasegate ein.
  • Überwachen des Änderungsverwaltungsprozesses über Releasepipelines
  • Halten Sie ServiceNow-Änderungsanforderungen mit Bereitstellungsergebnissen auf dem neuesten Stand.

Voraussetzungen

Konfigurieren des ServiceNow-instance

  1. Installieren Sie die Azure Pipelines-Erweiterung auf Ihrem ServiceNow-instance. Sie benötigen Hi-Anmeldeinformationen , um die Installation abzuschließen. Weitere Informationen zum Installieren von Apps aus dem ServiceNow Store finden Sie unter Übersicht über den Kauf.

  2. Erstellen Sie einen neuen Benutzer in ServiceNow, und weisen Sie ihm die folgende Rolle zu: x_mioms_azpipeline.pipelinesExecution.

    Screenshot zum Einrichten eines neuen Benutzers in ServiceNow.

Einrichten einer Azure DevOps-Organisation

  1. Installieren Sie die ServiceNow Change Management-Erweiterung auf Ihrem Azure DevOps-organization.

    Screenshot mit der Erweiterung ServiceNow Change Management.

  2. Erstellen Sie wie folgt eine neue ServiceNow-Dienstverbindung in Ihrem Azure DevOps-Projekt. Alternativ können Sie auch die OAuth2-Authentifizierung verwenden.

    Ein Bildschirmfoto, das zeigt, wie Sie die ServiceNow-Dienstverbindung konfigurieren.

Konfigurieren der Releasepipeline.

  1. Navigieren Sie zu Ihrer Releasepipeline, und wählen Sie dann das Symbol Bedingungen vor der Bereitstellung aus. Wählen Sie Gates und das ServiceNow Change Management Pre-Deployment Gate aus.

    Screenshot, der zeigt, wie Sie ein Gate vor der Bereitstellung hinzufügen.

  2. Wählen Sie die Dienstverbindung aus, die Sie zuvor erstellt haben, und füllen Sie die erforderlichen Felder wie folgt aus:

    Ein Screenshot, der zeigt, wie Sie das ServiceNow Change Management-Tor konfigurieren.

    • ServiceNow-Verbindung: Verbindung mit der ServiceNow-instance, die für die Änderungsverwaltung verwendet wird.
    • Kurzbeschreibung: Eine Zusammenfassung der Änderung.
    • Beschreibung: Eine ausführliche Beschreibung der Änderung.
    • Kategorie: Die Kategorie der Änderung. Beispiel: Hardware, Netzwerk, Software.
    • Priorität: Priorität der Änderung.
    • Risiko: Die Risikostufe für die Änderung.
    • Auswirkung: Die Auswirkung, die die Änderung auf das Unternehmen hat.
    • Konfigurationselement: Konfigurationselement (CI), für das die Änderung gilt.
    • Zuweisungsgruppe: Die Gruppe, der die Änderung zugewiesen ist.
    • Zeitplan der Änderungsanforderung: Zeitplan der Änderung, wie vom ServiceNow-Workflow berücksichtigt. Datum und Uhrzeit sollten in UTC vorliegen, und das Format sollte yyyy-MM-ddTHH:mm:ssZ sein. Beispiel: 2018-01-31T07:56:59Z.
    • Zusätzliche Änderungsanforderungsparameter: Name muss Feldname (nicht Bezeichnung) sein, dem "u_" vorangestellt ist. Beispiel: u_backout_plan. Value muss ein gültiger Wert in ServiceNow sein. Ungültige Einträge werden ignoriert.
    • Gewünschter Status der Änderungsanforderung: Das Gate ist erfolgreich, und die Pipeline wird fortgesetzt, wenn die Änderungsanforderung status mit dem angegebenen Wert identisch ist.
    • Erweitert: Gibt einen Ausdruck an, der steuert, wann dieses Gate erfolgreich sein soll. Die Änderungsanforderung ist in der Antwort von ServiceNow als root['result'] definiert. Beispiel: "and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low')))". Weitere Informationen finden Sie unter Ausdrücke .
    • Ausgabevariablen : Sie müssen einen Verweisnamen angeben, um Ausgabevariablen in Ihrem Bereitstellungsworkflow verwenden zu können. Auf Gatevariablen kann in einem Auftrag ohne Agent mithilfe von "PREDEPLOYGATE" als "Präfix" zugegriffen werden. Wenn der Verweisname beispielsweise auf "gate1" festgelegt ist, kann die Änderungsnummer wie folgt abgerufen werden: $(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER).
    • CHANGE_REQUEST_NUMBER : Nummer der Änderungsanforderung.
    • CHANGE_SYSTEM_ID : System-ID der Änderungsanforderung.
  3. Fügen Sie am Ende Ihrer Releasepipeline einen Auftrag ohne Agent mit einer Aufgabe Update ServiceNow Change Request hinzu.

    Ein Screenshot, der zeigt, wie Sie die Aufgabe Update ServiceNow Change Request konfigurieren.

  • ServiceNow-Verbindung: Verbindung mit der ServiceNow-instance, die für die Änderungsverwaltung verwendet wird.
  • Change request number: Nummer der Aktualisierungsanforderung.
  • Aktualisiert status der Änderungsanforderung: Status, der für die Änderungsanforderung festgelegt werden soll. Diese Eingabe ist verfügbar, wenn status aktualisieren ausgewählt ist.
  • Code schließen und Notizen schließen: Status zurückgeben.

Hinweis

Der Task Update ServiceNow Change Request schlägt fehl, wenn keines der Änderungsanforderungsfelder während der Ausführung aktualisiert wird. ServiceNow ignoriert ungültige Felder und Werte, die an die Aufgabe übergeben werden.

Erstellen einer Releasepipeline

  1. Wählen Sie Release erstellen aus, um eine neue Releasepipeline zu starten.

  2. Ihre Pipeline sollte im Rahmen der zuvor erstellten Bedingungen vor der Bereitstellung eine neue Änderungsanforderung in ServiceNow erstellen.

    Screenshot mit der Ausführung des Gates vor der Bereitstellung.

  3. Die Pipeline wartet, bis alle Gates innerhalb desselben Beispielintervalls erfolgreich sind. Um die Änderungsnummer zu überprüfen, wählen Sie das symbol status aus, um Ihre Pipelineprotokolle anzuzeigen.

    Ein Bildschirmfoto mit den Pipeline-Protokollen.

  4. Die Änderungsanforderung wird in ServiceNow in die Warteschlange gestellt und kann vom Besitzer der Änderung angezeigt werden.

    Screenshot mit einer neuen Änderungsanforderung in ServiceNow.

  5. Die Releasepipeline, die die neue Änderungsanforderung ausgelöst hat, finden Sie im Abschnitt Metadaten der Azure DevOps-Pipeline .

    Ein Screenshot zeigt die Metadaten der Veröffentlichungspipeline.

  6. Wenn die Änderung für die Implementierung bereit ist (in den Status Implementieren verschoben), wird die Ausführung der Pipeline fortgesetzt, und das Gate status sollte erfolgreich zurückgegeben werden.

    Ein Screenshot, der den Status des Deployment Gate zeigt.

  7. Die Änderungsanforderung wird nach der Bereitstellung automatisch geschlossen.

YAML-Pipelines

In diesem Tutorial wird davon ausgegangen, dass Sie über eine yaml-Pipeline mit einer einzelnen Phase verfügen, die in einer "neuesten" Umgebung bereitgestellt wird.

Hinzufügen einer Überprüfung

  1. Navigieren Sie zu Ihrer Umgebung "latest", wählen Sie die Schaltfläche mit den Auslassungspunkten und dann Genehmigungen und Überprüfungen aus.

  2. Wählen Sie das Pluszeichen aus, um eine neue Überprüfung hinzuzufügen, und fügen Sie dann Ihrer Umgebung die Überprüfung ServiceNow Change Management hinzu. Verwenden Sie dieselbe Konfiguration, die Sie für Ihr Gate vor der Bereitstellung verwendet haben.

    Ein Screenshot zeigt, wie Sie eine ServiceNow Change Management-Prüfung hinzufügen.

Hinzufügen der YAML-Aufgabe

  1. Fügen Sie Ihrer Phase einen Serverauftrag hinzu, um die Änderungsanforderung zu aktualisieren.

    Ein Bildschirmfoto, das die agentenlose Aufgabe zeigt.

  2. Speichern Sie die Pipeline, und führen Sie sie aus. Eine neue Änderungsanforderung wird automatisch erstellt, und die Pipeline wird angehalten und wartet, bis die Überprüfungen abgeschlossen sind.

  3. Sobald die Überprüfungen abgeschlossen sind, sollte die Pipeline die Ausführung fortsetzen. Die Änderungsanforderung wird nach der Bereitstellung automatisch geschlossen.

Ein Bildschirmfoto, das die Ausführung der Pipeline zeigt.

Häufig gestellte Fragen

F: Welche Versionen von ServiceNow werden unterstützt?

A: Wir unterstützen die folgenden Versionen: Kingston, London, New York, Paris, Quebec, Rom, San Diego und Tokio.

A: Wir unterstützen die folgenden Versionen: Kingston, London, New York, Paris und Quebec.

A: Wir unterstützen die folgenden Versionen: San Diego, Tokyo und Utah.

F: Welche Arten von Änderungsanforderungen werden unterstützt?

A: Normale, Standard- und Notfalländerungsanforderungen werden mit dieser Integration unterstützt.

F: Gewusst wie zusätzliche Änderungseigenschaften festlegen?

A: Sie können zusätzliche Änderungseigenschaften im Feld Zusätzliche Änderungsanforderungsparameter angeben. Verwenden Sie ein JSON-Format für Schlüssel-Wert-Paare. Dabei ist der Name der Feldname (nicht die Bezeichnung) mit u_dem Präfix .

F: Kann ich benutzerdefinierte Felder in der Änderungsanforderung mit zusätzlichen Änderungsanforderungsparametern aktualisieren?

A: Wenn benutzerdefinierte Felder in der Änderungsanforderung definiert sind, müssen Sie die Zuordnung für benutzerdefinierte Felder in Import set transformation map hinzufügen.

F: Es werden keine Dropdownwerte für Kategorie, Status und andere Felder aufgefüllt. Wie sollte ich vorgehen?

A: Change Management Core und Change Management – State Model Plug-Ins müssen in Ihrem ServiceNow-instance aktiv sein, damit die Dropdowns funktionieren. Weitere Informationen finden Sie unter Upgrade Change Management und Aktualisieren von Änderungsanforderungszuständen .

Ressourcen