StateManagementScriptableApi : Global
StateManagementScriptableApi bietet eine Reihe von Methoden zum Bearbeiten des Betriebsstatus von Configuration Item (CI) und zum Anwenden von CI-Aktionen.
Die StateManagementScriptableApi -Methoden halten sich an Einschränkungen und Toleranzen, die durch unzulässige CI-Aktionen, kompatible CI-Aktionen und unzulä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 Sie aktive Aktionen für eine Liste von Configuration Items abrufen.
// 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 Sie die Betriebsstatus einer Liste angegebener Configuration Items abrufen.
// 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 der angegebene Anforderer ein gültiger aktiver Workflow-Anwender oder ein registrierter Anwender ist.
| Name | Typ | Beschreibung |
|---|---|---|
| requestorId | Zeichenfolge | Sys_id eines Workflow-Kontexts oder die von der registrierenOperator()- Methode zurückgegebene GUID. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Name-Wert-Paare im JSON-Format. Mögliche Werte:
|
In diesem Beispiel wird gezeigt, wie mit der Methode isValidRequestor() überprüft wird, 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 von der registrierenOperator()- Methode zurückgegebene GUID. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Name-Wert-Paare im JSON-Format. Mögliche Werte:
|
Dieses Beispiel zeigt, wie Sie mit der Methode unregisterOperator() die Registrierung eines registrierten Anwenders aufheben.
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}