Zustandsänderungsregel
Zustandsänderungsregeln verfolgen eingehende Ereignisse, die Daten zu bestimmten Objekten aus externen Systemen enthalten. Das Ereignis trägt den externen Zustand des Objekts, daher können Zustandsänderungsregeln verwendet werden, um auf Zustandsänderungen des Objekts zu reagieren. Wenn alle Bedingungen erfüllt sind, wird ein ausführbares Objekt in der Automation Engine ausgeführt.
Dieses Thema beinhaltet Folgendes:
Zustandsänderungsregel definieren
Um eine Regel definieren zu können, müssen Sie zwei Schlüsselelemente definieren.
- Setzen Sie einen Auslöser mithilfe des Kästchens Ereignisdefinition.
- Definieren Sie eine Aktion, die ausgeführt wird, wenn eine oder mehrere definierte Ereignisbedingungen erfüllt sind.
Abschnitt „Auslösen“
Um eine Zustandsänderungsregel zu erstellen, wählen Sie zunächst mindestens eine Ereignisdefinition aus, die die Struktur der eingehenden Ereignisse definiert. Eine Variable des Typs Ereignisdefinition ist ein statischer XML-Typ, d. h. sie speichert statische Werte oder ruft sie aus einer bestimmten dynamischen Datenquelle ab. Siehe: Variablen und VARA-Objekte für weitere Informationen.
-
Ereignisdefinition: Geben Sie den Namen der Ereignisdefinition ein oder wählen Sie über die Liste in der Combobox eine Ereignisdefinition aus.
-
Gruppiert nach: Um den Änderungszustand eines Objekts zu prüfen, sollten Sie zunächst die Objekte identifizieren, die den Zustand tragen. Die Objekte werden durch die Attribute „Gruppiert nach“ identifiziert, die aus der Ereignisdefinition ausgewählt werden. Immer wenn ein neues Ereignis eintrifft, verwendet die Regel die Attribute „Gruppiert nach“ als Schlüssel, um nach dem vorherigen Zustand zu suchen.
Hinweis: Wir empfehlen, dass Sie eine minimale Anzahl an Attributen festlegen, die verfolgt werden sollen, z. B. bei einem TeamCity Build Event, können Sie das Projekt als Schlüsselattribut angeben, die verfolgt werden sollen.
Wichtig: Die hinzugefügten Attribute Gruppiert nach in Kombination mit der Schlüssellänge bestimmen den Speicherverbrauch der Event Engine. Zum Beispiel: Wenn Sie Projekt als Attribut „Gruppiert nach“ definieren und Sie haben 10 Projekte, dann wird 1 Zustand für jedes Projekt beibehalten. Je mehr Projekte, desto mehr Zustände, desto größer ist der Speicherverbrauch.
- Zustandsänderungsdefinition: Definieren Sie das Attribut, das Sie verfolgen möchten, z. B. den Status eines Build-Objekts.
Hinweis: Die Abschnitte Attribut und Geändert zu werden mit Ihren zuvor identifizierten Attributen Gruppiert nach verknüpft.
Die folgenden Felder stehen im Abschnitt Auslösen zur Verfügung.
Feld | Beschreibung |
---|---|
Ereignisdefinition |
Ereignisdefinition auswählen, auf die eine Regel auszuführen ist. |
Gruppiert nach |
Um den Änderungszustand eines Objekts zu prüfen, sollten Sie zunächst die Objekte identifizieren, die den Zustand tragen. Die Objekte werden durch die Attribute „Gruppiert nach“ identifiziert, die aus der Ereignisdefinition ausgewählt werden. Immer wenn ein neues Ereignis eintrifft, verwendet die Regel die Attribute „Gruppiert nach“ als Schlüssel, um nach dem vorherigen Zustand zu suchen. Hinweise:
|
Attribut | In dieser Combobox können Sie auswählen, welches Ereignisdefinitionsattribut bei Zustandsänderungen verfolgt werden soll. |
Geändert zu |
Die in diesem Abschnitt angezeigten Kästchen unterscheiden sich je nach dem zuvor ausgewählten Parameter. String-Attribute Verwendung: Freier Formulartext, mehrere Von- und Nach-Zustände können hinzugefügt werden. Formular: <Attributname> geändert von <Von-Zustand> zu <Bis-Zustand> (oder <Von-Zustand> zu <Bis-Zustand>) Beispiel: Setzen Sie Ihr Attribut als Projekt. Geben Sie im Kästchen Von „OK“ und im Kästchen Bis „Übersprungen“ ein. Klicken Sie auf die Schaltfläche Hinzufügen, um Ihre Zustandsänderung zu bestätigen. Ein kleines, graues Kästchen mit dem Namen der Zustandsänderung wird angezeigt. Um die Zustandsänderung zu löschen, klicken Sie auf das im Feld angezeigte Papierkorb-Symbol. Numerische Attribute Verwendung: Ganzzahlige Zustandsänderungen werden durch eine Reihe von Operatoren in Kombination mit definierten numerischen Werten definiert. Formular: <Attributname> wurde zu <Von-Zustand= Operator> <Bis-Zustand = Wert> (oder <Von-Zustand= Operator> <Bis-Zustand = Wert>) Beispiel: Setzen Sie Ihr Attribut auf Temperatur, um den Zustand eines Serverraums zu verfolgen. Um sicherzustellen, dass die Raumtemperatur nicht über eine eingestellte Zahl steigt, verwenden Sie den Operator „Größer als“ (>). Geben Sie im Wertefeld einen Wert ein. Klicken Sie auf die Schaltfläche Hinzufügen, um Ihre Zustandsänderung zu bestätigen. Ein kleines, graues Kästchen mit dem Namen der Zustandsänderung wird angezeigt. Um die Zustandsänderung zu löschen, klicken Sie auf das im Feld angezeigte Papierkorb-Symbol. Hinweis: Die Operator-Optionen sind die gleichen wie in der einfachen Regel beschrieben. Boolean-Attribute Verwendung: Verwenden Sie diese Option, wenn das Ergebnis einer Zustandsänderung nur einer von zwei Zuständen sein kann. True oder false. Form: <Attribut Name> geändert zu <Geändert zu Wert> Beispiel: Setzen Sie Ihr Attribut auf Zustand fehlgeschlagen, um zu verfolgen, ob ein Build fehlgeschlagen ist oder nicht. Definieren Sie Ihren gewünschten Zustand, indem Sie True oder False wählen. Hinweis: Die gelbe Kopfzeile zeigt eine Beschreibung der Bedingung an. |
Filterausdruck hinzufügen |
Das Kästchen Filterausdruck dient als Vorfilter für Ihre definierte Zustandsänderungsregel. Wenn Sie also einen oder mehrere Filterausdrücke definiert haben, wird Ihre Regel nicht ausgelöst, wenn nicht alle definierten Ausdrücke erfüllt sind. |
Abschnitt „Aktion“
Definieren Sie, welche Aktion ausgeführt werden soll, wenn eine oder mehrere Bedingungen erfüllt sind. Die folgenden Felder stehen im Abschnitt Aktion zur Verfügung.
Feld | Beschreibung |
---|---|
Ausführen |
Sobald eine Bedingung erfüllt ist, wird die definierte Aktion ausgeführt. Beispiel: Ein Agent ist ausgefallen, und als Folge davon wird sofort ein Workflow gestartet, um den Agenten erneut zu starten. |
Variablen abbilden |
Es ist möglich, die Werte von einem Ereignisattribut auf Variablen zuzuordnen, die in den Prompt Set(s) der ausführbaren Datei vorhanden sind. Beispiel: Wenn Ihre ausführbare Datei eine Prompt Set-Variable mit dem Namen „&STATUS#“ hat und Ihre Ereignisdefinition ein Attributschlüssel Feld mit dem Namen „Zustand“ hat, können sie mit dieser Funktion zugeordnet werden.Der Feldwert „Zustand“, den der IA-Agent auf seinem REST-Endpunkt erhält, steht der ausführbaren Datei zur Verfügung, die der Variablen „&STATUS#“ zugeordnet ist. |
Hinzufügen (Schaltfläche) |
Fügt die angegebene Zuordnung zwischen dem Attribut und der ausführbaren Variable hinzu. |
So führen Sie eine Regel aus
-
Wählen Sie den Tab Attribute im Rule-Ereignisobjekt und wählen Sie dann aus der Combobox „Agent“ den IA-Agenten aus. Klicken Sie auf Speichern.
- Klicken Sie auf Ausführen, um die Regel auszuführen.
Hinweis: Wenn Sie eine Regel abbrechen oder neu verteilen, wird der Speicher der Event Engine gelöscht.