StateManagementScriptableApi – Global
Die StateManagementScriptableApi Stellt eine Reihe von Methoden zum Bearbeiten von betriebsstatus von Konfigurationselementen (Configuration Item, CI) und zum Anwenden von CI-Aktionen bereit.
Die StateManagementScriptableApi Methoden entsprechen Einschränkungen und Berechtigungen, die durch nicht zulässige CI-Aktionen, kompatible CI-Aktionen und nicht zulässige Betriebsübergänge angegeben sind. Wenn eine Methode versucht, eine eingeschränkte Operation auszuführen, wird die Operation blockiert, ein Fehler wird protokolliert und gegebenenfalls eine Aufgabe erstellt.
Die StateManagementScriptableApi Methoden sind statische Methoden. Sie greifen auf die Methoden über das globale Objekt SNC.StateManagementScriptableApi zu.
StateManagementScriptableApi – addBulkCIAction(String requestorId, String sysIdList, String ciActionName, String ciActionListOld, String leaseTime)
Fügen Sie einer Liste von CIs eine CI-Aktion hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| requestorId | Zeichenfolge | Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde. |
| sysIdList | Zeichenfolge | Eine kommagetrennte Liste mit CI-sys_ids. |
| ciActionName | Zeichenfolge | Der CI-Aktionsname. |
| ciActionListOld | Zeichenfolge | (Optional) Kommagetrennte Liste alter CI-Aktionen, in der alle CIs enthalten sein sollten. |
| leaseTime | Zeichenfolge | (Optional) Zeitdauer, für die das Leasing für die angegebene CI-Aktion gültig ist. Im Format HH:MM:SS. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
|
StateManagementScriptableApi – extendCIActionLease(String requestorId, String ciSysId, String ciActionName, String leaseTime)
Verlängern Sie die Leasingdauer der CI-Aktion für den registrierten Benutzer. Wenn das vorherige Leasing abgelaufen ist, beginnt jetzt die neue Leasingdauer.
| Name | Typ | Beschreibung |
|---|---|---|
| requestorId | Zeichenfolge | Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde. |
| ciSysId | Zeichenfolge | Die sys_id des CIs. |
| ciActionName | Zeichenfolge | Der CI-Aktionsname. |
| leaseTime | Zeichenfolge | Zeitdauer, für die das Leasing für die angegebene CI-Aktion gültig ist. Im Format HH:MM:SS. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
|
StateManagementScriptableApi – getCIActions(String ciSysId)
Gibt eine Liste aktiver CI-Aktionen für das angegebene CI zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| ciSysId | Zeichenfolge | SYS_ID des CI. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren. Mögliche Werte:
|
Das folgende Beispiel zeigt, wie aktive Aktionen für eine Liste von Konfigurationselementen abgerufen werden.
// Store sys_ids of configuration items for which to get data
var CIArray = ["a9c0c8d2c6112276018f7705562f9cb0","0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d"];
var output = '';
// looping above array to fetch each sys_id and passing to method
for(var i=0; i < CIArray.length; i++) {
// passing sys_id of CI stored in array to method
output = SNC.StateManagementScriptableApi.getCIActions(CIArray[i]);
// print a JSON formatted string with name-value pairs
gs.print(output);
}
Ausgabe:
{"ciActions":["no_active_action"],"result":true}
{"ciActions":["no_active_action"],"result":true}
{"ciActions":["no_active_action"],"result":true}
{"ciActions":["no_active_action"],"result":true}
{"ciActions":["no_active_action"],"result":true}
StateManagementScriptableApi – getOperationalState(String ciSysId)
Gibt den Betriebsstatus des CI zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| ciSysId | Zeichenfolge | SYS_ID des CI. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren. Mögliche Werte:
|
Das folgende Beispiel zeigt, wie die betriebsstatus einer Liste angegebener Konfigurationselemente abgerufen werden.
// Store sys_ids of configuration items for which to get the operational state.
var CIArray = ["0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d","a9c0c8d2c6112276018f7705562f9cb0"];
var output = '';
// Loop the array to fetch each sys_id and pass to the method.
for(var i=0;i<CIArray.length;i++) {
// Pass sys_id of CI stored in array to the method
output = SNC.StateManagementScriptableApi.getOperationalState(CIArray[i]);
// prints a JSON formatted string with name-value pairs
gs.print(output);
}
Ausgabe:
*** Script: {"operationalState":"Operational","result":true}
*** Script: {"operationalState":"Operational","result":true}
*** Script: {"operationalState":"Operational","result":true}
*** Script: {"operationalState":"Operational","result":true}
ci_state_management : INVALID_SYS_ID: Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]: no thrown error
*** Script: {"errors":[{"error":"INVALID_SYS_ID","message":"Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]"}],"operationalState":"unknown","result":false}
StateManagementScriptableApi – isCompatibleCIAction(String actionName, String otherActionName)
Ermittelt, ob die zwei angegebenen Aktionen kompatibel sind.
| Name | Typ | Beschreibung |
|---|---|---|
| actionName | Zeichenfolge | Ein CI-Aktionsname |
| otherActionName | Zeichenfolge | Ein CI-Aktionsname |
| Typ | Beschreibung |
|---|---|
| Boolean | Gibt „true“ zurück, wenn die beiden angegebenen CI-Aktionen kompatibel sind. |
StateManagementScriptableApi – isLeaseExpired(String requestorId, String ciSysId, String ciActionName)
Ermittelt, ob das Leasing für die anfordernde Person einer angegebenen CI-Aktion abgelaufen ist.
| Name | Typ | Beschreibung |
|---|---|---|
| requestorId | Zeichenfolge | Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde. |
| ciSysId | Zeichenfolge | Die sys_id des CIs. |
| ciActionName | Zeichenfolge | Name der CI-Aktion. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
|
StateManagementScriptableApi – isNotAllowedAction(String ciType, String opsLabel, String actionName)
Bestimmen Sie für einen CI-Typ, ob eine CI-Aktion für einen Betriebsstatus nicht zulässig ist.
| Name | Typ | Beschreibung |
|---|---|---|
| ciType | Zeichenfolge | Der CI-Typ |
| opsLabel | Zeichenfolge | Betriebsstatus |
| actionName | Zeichenfolge | Der CI-Aktionsname |
| Typ | Beschreibung |
|---|---|
| Boolean | Gibt „true“ zurück, wenn die Aktion für den angegebenen CI-Typ im angegebenen Betriebsstatus nicht zulässig ist. |
StateManagementScriptableApi – isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel)
Bestimmen Sie für einen CI-Typ, ob ein Betriebsstatusübergang unzulässig ist.
| Name | Typ | Beschreibung |
|---|---|---|
| ciType | Zeichenfolge | Der CI-Typ |
| opsLabel | Zeichenfolge | Bezeichnung des Betriebsstatus am Anfang. |
| transitionOpsLabel | Zeichenfolge | Bezeichnung des Betriebsstatus am Ende. |
| Typ | Beschreibung |
|---|---|
| Boolean | Gibt „true“ zurück, wenn der angegebene Betriebsstatusübergang für den angegebenen CI-Typ nicht zulässig ist. |
StateManagementScriptableApi – isValidRequestor(String requestorId)
Bestimmt, ob die angegebene anfordernde Person ein gültiger aktiver Workflow-Anwender oder ein registrierter Anwender ist.
| Name | Typ | Beschreibung |
|---|---|---|
| requestorId | Zeichenfolge | SYS_ID eines Workflow-Kontexts oder die GUID, die von zurückgegeben wird RegisterOperator() Methode. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | JSON-formatierte Name-Wert-Paare. Mögliche Werte:
|
Dieses Beispiel zeigt die Verwendung von IsValidRequestor() Methode zum Überprüfen, ob ein Operator ein registrierter Anwender ist.
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUtil = new JSON();
var result = jsonUtil.decode(output);
var requestorId = result.requestorId; // Fetching requestorId
output = SNC.StateManagementScriptableApi.isValidRequestor(requestorId);
gs.info(output);
Ausgabe:
{"result":true}
StateManagementScriptableApi – registerOperator()
Registriert einen Operator für einen nicht-Workflow-Anwender.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
|
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUntil = new JSON();
var result = jsonUntil.decode(output);
var requestorId = result.requestorId;
StateManagementScriptableApi – removeBulkCIAction(String requestorId, String sysIdList, String ciActionName)
Entfernt eine CI-Aktion für eine Liste von CIs.
| Name | Typ | Beschreibung |
|---|---|---|
| requestorId | Zeichenfolge | Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde. |
| sysIdList | Zeichenfolge | Eine kommagetrennte Liste mit CI-sys_ids. |
| ciActionName | Zeichenfolge | Der CI-Aktionsname |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
|
StateManagementScriptableApi – setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld)
Legen Sie den Betriebsstatus für die Liste der CIs fest.
| Name | Typ | Beschreibung |
|---|---|---|
| requestorId | Zeichenfolge | Eine sys_id eines Workflow-Kontexts oder die GUID, die von der registerOperator()-Methode zurückgegeben wurde. |
| sysIdList | Zeichenfolge | Eine kommagetrennte Liste mit CI-sys_ids. |
| opsLabel | Zeichenfolge | Dies ist die Zeichenfolgenbezeichnung einer operational_status-Auswahl. |
| opsStateListOld | Zeichenfolge | (Optional) Kommagetrennte Liste alter CI-Status, in der alle CIs enthalten sein sollten. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Eine JSON-formatierte Zeichenfolge mit Name-Wert-Paaren für
|
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUntil = new JSON();
var result = jsonUtil.decode(output);
var requestorId = result.requestorId;
// list of sys_ids to update
var sys_ids;
// Set list of sys_ids's Operational State to 'Repair in Progress'
output = SNC.StateManagementScriptableApi.setBulkCIOperationalState(requestorId, sys_ids,'Repair in Progress');
gs.print(output);
StateManagementScriptableApi – unregisterOperator( String requestorId)
Hebt die Registrierung eines Operators für nicht-Workflow-Anwender auf.
| Name | Typ | Beschreibung |
|---|---|---|
| requestorId | Zeichenfolge | SYS_ID eines Workflow-Kontexts oder die GUID, die von zurückgegeben wird RegisterOperator() Methode. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | JSON-formatierte Name-Wert-Paare. Mögliche Werte:
|
Dieses Beispiel zeigt die Verwendung von UnregisterOperator() Methode zum Aufheben der Registrierung eines registrierten Anwenders.
var output = SNC.StateManagementScriptableApi.registerOperator();
var jsonUtil = new JSON();
var result = jsonUtil.decode(output);
var requestorId = result.requestorId; // Fetching requestorId
output = SNC.StateManagementScriptableApi.unregisterOperator(requestorId);
gs.info(output);
Ausgabe:
{"result":true}