StateManagementScriptableApi : global
StateManagementScriptableApi fournit un ensemble de méthodes pour manipuler les états opérationnels des éléments de configuration (CI) et appliquer des actions de CI.
Les méthodes StateManagementScriptableApi respectent les restrictions et les autorisations spécifiées par les actions de CI non autorisées, les actions de CI compatibles et les transitions opérationnelles non autorisées. Si une méthode tente d’effectuer une opération restreinte, l’opération est bloquée, une erreur est consignée et une tâche est créée le cas échéant.
Les méthodes StateManagementScriptableApi sont des méthodes statiques. Vous accédez aux méthodes à l’aide du SNC. Objet global StateManagementScriptableApi .
StateManagementScriptableApi : addBulkCIAction(String requestorId, String sysIdList, String ciActionName, String ciActionListOld, String leaseTime)
Ajouter une action de CI à une liste de CI.
| Nom | Type | Description |
|---|---|---|
| requestorId | Chaîne | Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ). |
| sysIdList | Chaîne | Liste de CI séparés par des virgules sys_ids. |
| ciActionName | Chaîne | Le nom de l’action CI. |
| ciActionListOld | Chaîne | (Facultatif) Liste séparée par des virgules d’anciennes actions de CI dans laquelle tous les CI devraient figurer. |
| leaseTime | Chaîne | (Facultatif) Durée pendant laquelle le bail est valide pour l’action de CI spécifiée. Au format HH :MM :SS. |
| Type | Description |
|---|---|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour
|
StateManagementScriptableApi : extendCIActionLease(chaîne requestorId, chaîne ciSysId, chaîne ciActionName, chaîne leaseTime)
Prolongez la durée CI-action-bail pour l’utilisateur enregistré. Si le bail précédent a expiré, la nouvelle durée du bail commence maintenant.
| Nom | Type | Description |
|---|---|---|
| requestorId | Chaîne | Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ). |
| ciSysId | Chaîne | Le sys_id du CI. |
| ciActionName | Chaîne | Le nom de l’action CI. |
| leaseTime | Chaîne | Durée pendant laquelle le bail est valide pour l’action de CI spécifiée. Au format HH :MM :SS. |
| Type | Description |
|---|---|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour
|
StateManagementScriptableApi : getCIActions(String ciSysId)
Renvoie une liste des actions de CI actives pour le CI spécifié.
| Nom | Type | Description |
|---|---|---|
| ciSysId | Chaîne | Sys_id du CI. |
| Type | Description |
|---|---|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur. Valeurs possibles :
|
L’exemple suivant montre comment obtenir des actions actives pour une liste d’éléments de configuration.
// 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);
}
Sortie :
{"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)
Renvoie l’état opérationnel du CI.
| Nom | Type | Description |
|---|---|---|
| ciSysId | Chaîne | Sys_id du CI. |
| Type | Description |
|---|---|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur. Valeurs possibles :
|
L’exemple suivant montre comment obtenir les états opérationnels d’une liste d’éléments de configuration spécifiés.
// 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);
}
Sortie :
*** 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)
Détermine si les deux actions spécifiées sont compatibles.
| Nom | Type | Description |
|---|---|---|
| actionName | Chaîne | Un nom d’action de CI |
| otherActionName | Chaîne | Un nom d’action de CI |
| Type | Description |
|---|---|
| Booléen | Renvoie la valeur true si les deux actions de CI spécifiées sont compatibles. |
StateManagementScriptableApi : isLeaseExpired(String requestorId, String ciSysId, String ciActionName)
Détermine si le bail a expiré pour le demandeur d’une action de CI spécifiée.
| Nom | Type | Description |
|---|---|---|
| requestorId | Chaîne | Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ). |
| ciSysId | Chaîne | Le sys_id du CI. |
| ciActionName | Chaîne | Nom de l'action de CI. |
| Type | Description |
|---|---|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour
|
StateManagementScriptableApi : isNotAllowedAction(Chaîne ciType, Chaîne opsLabel, Chaîne actionName)
Pour un type de CI, déterminez si une action de CI n’est pas autorisée pour un état opérationnel.
| Nom | Type | Description |
|---|---|---|
| ciType | Chaîne | Le type de CI |
| opsLabel | Chaîne | État opérationnel |
| actionName | Chaîne | Le nom de l’action de CI |
| Type | Description |
|---|---|
| Booléen | Renvoie la valeur vrai si l’action n’est pas autorisée sur le type de CI spécifié dans l’état opérationnel spécifié. |
StateManagementScriptableApi : isNotAllowedOpsTransition(Chaîne ciType, Chaîne opsLabel, Chaîne transitionOpsLabel)
Pour un type de CI, déterminez si une transition d’état opérationnelle n’est pas autorisée.
| Nom | Type | Description |
|---|---|---|
| ciType | Chaîne | Le type de CI |
| opsLabel | Chaîne | Étiquette de l’état opérationnel initial. |
| transitionOpsLabel | Chaîne | Étiquette de l’état opérationnel de fin. |
| Type | Description |
|---|---|
| Booléen | Renvoie la valeur true si la transition d’état opérationnelle spécifiée n’est pas autorisée sur le type de CI spécifié. |
StateManagementScriptableApi : isValidRequestor(String requestorId)
Détermine si le demandeur spécifié est un utilisateur de workflow actif valide ou un utilisateur enregistré.
| Nom | Type | Description |
|---|---|---|
| requestorId | Chaîne | Sys_id d’un contexte de workflow ou du GUID renvoyé par la méthode registerOperator( ). |
| Type | Description |
|---|---|
| Chaîne | Paires nom-valeur au format JSON. Valeurs possibles :
|
Cet exemple montre comment utiliser la méthode isValidRequestor() pour vérifier si un opérateur est un utilisateur enregistré.
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);
Sortie :
{"result":true}
StateManagementScriptableApi : registerOperator()
Enregistre un opérateur pour un utilisateur n’utilisant pas de workflow.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour
|
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)
Supprime une action de CI pour une liste de CI.
| Nom | Type | Description |
|---|---|---|
| requestorId | Chaîne | Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ). |
| sysIdList | Chaîne | Une liste de CI séparés par des virgules sys_ids |
| ciActionName | Chaîne | Le nom de l’action de CI |
| Type | Description |
|---|---|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour
|
StateManagementScriptableApi : setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld)
Définissez l’état opérationnel pour la liste des CI.
| Nom | Type | Description |
|---|---|---|
| requestorId | Chaîne | Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ). |
| sysIdList | Chaîne | Une liste de CI séparés par des virgules sys_ids. |
| opsLabel | Chaîne | Il s’agit de l’étiquette de chaîne d’un choix operational_status. |
| opsStateListOld | Chaîne | (Facultatif) Liste séparée par des virgules des anciens états de CI dans lesquels tous les CI doivent figurer. |
| Type | Description |
|---|---|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour
|
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(chaîne requestorId)
Annule l’inscription d’un opérateur pour les utilisateurs qui ne font pas partie du workflow.
| Nom | Type | Description |
|---|---|---|
| requestorId | Chaîne | Sys_id d’un contexte de workflow ou du GUID renvoyé par la méthode registerOperator( ). |
| Type | Description |
|---|---|
| Chaîne | Paires nom-valeur au format JSON. Valeurs possibles :
|
Cet exemple montre comment utiliser la méthode unregisterOperator() pour annuler l’inscription d’un utilisateur enregistré.
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);
Sortie :
{"result":true}