Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Es wird ein CustomFieldTrigger Element erzeugt, welches eine Liste beherbergt. Es können damit beliebig viele Trigger definiert werden. Anschließend folgt eine Id, welche eindeutig sein muss. Am besten wird einfach eine neue Id gewürfelt. Anschließend folgt der Name des Felds, welches überwacht werden soll. Zunächst muss die Id des Felds herausgesucht werden - am einfachsten aus dem antony-Client und mit einem “Field_” als Präfix eingetragen werden. In unseren Beispiel also “Field_1456” für das CustomField mit der Id 1456.

Code Block
languagejson
{
  "CustomFieldTrigger": [
    {
      "Id": "5C1A8F61-78D1-447A-A34B-B31C4757F45A",
      "FieldName": "Field_1456",
      "ModuleName": "PowerShell",
      "Parameter": {
        "ScriptPath": "C:\\tmp\\TestScript.ps1",
        "WorkingDirectory": "C:\\tmp",
        "Parameter": {
          "Parameter1": 28,
// Parameter Abhängig vom Modul
         "Parameter2": "testparameter"
        }
      }
    }
  ]
}

Anschließend wird der ModuleName eingetragen. Für einen Powershell Befehl lautet dieser PowerShell. Achtung: Dies ist nicht der ModuleKey. Diese Einstellungen sind bisher Allgemein und beschreiben nicht den “Aktor”. Dieser wird mit dem Parameter Objekt konfiguriert. Dessen Inhalt ist abhängig vom verwendeten Modul (hier Powershell) - die verfügbaren Module werden weiter unten beschrieben.

...

Der Trigger wird rückwirkend auf alle bisherigen Events angewendet. Bei großen Streams und langen Ausführungszeiten des Aktors kann dies eine Weile dauern.

Powershell

Mit dem Powershell Modul können konfigurierbare Powershell Scripte ausgeführt werden. Dafür sind folgende Einstellungen erforderlich. Diese werden in dem “Parameter” Element eingefügt.

Code Block
languagejson
 "Parameter": {
    "ScriptPath": "C:\\tmp\\TestScript.ps1"
  }

Wie zu sehen ist, muss lediglich das Powershell-Script eingetragen werden, welches ausgeführt werden soll. Hierbei ist zu beachten, dass dieses einen Parameter mit dem Namen CustomValue akzeptieren muss. Das folgende Beispielscript schreibt die Werte de Customfields in eine Textdatei. Da dieses Script bei jeder Änderung ausgeführt wird, sammeln sich in dieser Datei alle Werte des eingestellen Felds.

Code Block
languagepowershell
param(
     [Parameter()]
     [string]$CustomValue
 )
 
Add-Content  C:\tmp\test.txt "${CustomValue}"

Erweiterte Einstellungen

Code Block
 "Parameter": {
        "ScriptPath": "C:\\tmp\\TestScript.ps1",
        "WorkingDirectory": "C:\\tmp",
        "CheckExitCode": true,
        "CustomValueParameterName": "CustomValue",
        "ProcessTimeout": 1000,
        "Parameter": {
          "Parameter1": 28,
          "Parameter2": "testparameter"
        }
      }

Name

Beschreibung

Bemerkung

ScriptPath

Dies ist das einzige, notwendige Feld. Dieses Script wird durch den Trigger aufgeführt

WorkingDirectory

Ist dieses Feld gesetzt, wird das Arbeitsverzeichnis der Powershell auf den eingetragenen Wert gesetzt. Ist es nicht gesetzt, wird das Arbeitsverzeichnis des IntegrationServers verwendet

Default: Nicht gesetzt

CheckExitCode

Mit dieser Einstellung wird der IntegrationServer angewiesen den ExitCode des Scripts nicht zu überprüfen. Das hat zur Folge, dass eine Änderung eines CustomFields als Verarbeitet gilt, auch wenn das Script nicht erfolgreich beendet wurde.

Default: true

CustomValueParameterName

Mit dieser Einstellung kann der Name des Parameters konfiguriert werden, welcher den Wert des geänderten CustomFields enthält.

Default: CustomValue

ProcessTimeout

Antwortet das Powershellscript nicht (zum Beispiel weil es einen Remote-Call ausführt) wird der Prozess nach dem Timeout beendet. Die Angabe ist in Millisekunden

Default: 61440 ms = 1 Minute

Parameter

Hier können zusätzliche Parameter angegeben werden, welche an das Powershellscript übergeben werden sollen.

Der Typ des Parameters wird leider noch nicht übernommen und muss im Powershellscript “string” ein

Code Block
languagepowershell
param(
     [Parameter()]
     [string]$CustomValue,
     [Parameter()]
     [string]$Parameter1,
     [Parameter()]
     [string]$Parameter2
 )
 
Add-Content  C:\tmp\test.txt "${CustomValue} (${Parameter1}, ${Parameter2})"