---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# StateManagementScriptableApi : global

# StateManagementScriptableApi : global {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 7 minutes de lecture

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 signalé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) {#ariaid-title2}

Ajouter une action de CI à une liste de CI.
{#SMSA-addBulkCIAction_S_S_S_S_S__table_g5l_w4s_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du demandeur | Chaîne | La sys_id d'un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator(). |
| sysIdList | Chaîne | Une liste séparée par des virgules des sys_ids CI. |
| ciActionName | Chaîne | Nom de l'action de CI. |
| ciActionListOld | Chaîne | (Facultatif) Liste séparée par des virgules des anciennes actions de CI dans lesquelles tous les CI doivent 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. |
[Tableau 1. Paramètres]

{#SMSA-addBulkCIAction_S_S_S_S_S__table_g5l_w4s_px} {#SMSA-addBulkCIAction_S_S_S_S_S__table_h5l_w4s_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour * résultat : vrai si l'action est définie pour tous les CI de la liste ; sinon, faux. * Erreurs : liste des erreurs. {#SMSA-addBulkCIAction_S_S_S_S_S__ul_ewf_5vl_px} |
[Tableau 2. Renvoie]

{#SMSA-addBulkCIAction_S_S_S_S_S__table_h5l_w4s_px}

## StateManagementScriptableApi : extendCIActionLease( String requestorId, String ciSysId, String ciActionName, String leaseTime) {#ariaid-title3}

Prolongez le délai CI-action-bail pour l'utilisateur enregistré. Si le bail précédent a expiré, la nouvelle période de bail commence maintenant.
{#SMSA-extendCIActionLease_S_S_S_S__table_f24_j3s_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du demandeur | Chaîne | La sys_id d'un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator(). |
| ciSysId | Chaîne | L'sys_id du CI. |
| ciActionName | Chaîne | Nom de l'action de 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. |
[Tableau 3. Paramètres]

{#SMSA-extendCIActionLease_S_S_S_S__table_f24_j3s_px} {#SMSA-extendCIActionLease_S_S_S_S__table_g24_j3s_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour * Résultat : vrai si la durée du bail a été définie. * Erreurs : liste des erreurs. {#SMSA-extendCIActionLease_S_S_S_S__ul_ewf_5vl_px} |
[Tableau 4. Renvoie]

{#SMSA-extendCIActionLease_S_S_S_S__table_g24_j3s_px}

## StateManagementScriptableApi : getCIActions(chaîne ciSysId) {#ariaid-title4}

Renvoie une liste des actions de CI actives pour le CI spécifié.
{#SMSA-getCIActions_S__table_ql1_fws_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ciSysId | Chaîne | Sys_id du CI. |
[Tableau 5. Paramètres]

{#SMSA-getCIActions_S__table_ql1_fws_px} {#SMSA-getCIActions_S__table_rl1_fws_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur. Valeurs possibles : * ciActions : liste séparée par des virgules des actions de CI actives pour le CI ou no_active_action. * errors : liste des erreurs. {#SMSA-getCIActions_S__ul_ewf_5vl_px} |
[Tableau 6. Renvoie]

{#SMSA-getCIActions_S__table_rl1_fws_px}  
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) {#ariaid-title5}

Renvoie l'état opérationnel du CI.
{#SMSA-getCIOperationalState_S__table_n5f_1ns_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ciSysId | Chaîne | Sys_id du CI. |
[Tableau 7. Paramètres]

{#SMSA-getCIOperationalState_S__table_n5f_1ns_px} {#SMSA-getCIOperationalState_S__table_o5f_1ns_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur. Valeurs possibles : * ciActions : valeurs de choix de chaîne du champ operational_status ou UNKNOWN. * errors : liste des erreurs. {#SMSA-getCIOperationalState_S__ul_ewf_5vl_px} |
[Tableau 8. Renvoie]

{#SMSA-getCIOperationalState_S__table_o5f_1ns_px}  
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(chaîne actionName, chaîne otherActionName) {#ariaid-title6}

Détermine si les deux actions spécifiées sont compatibles.
{#SMSA-isCompatibleCIAction_S_S__table_fkl_v1t_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| actionName | Chaîne | Nom de l'action d'un CI |
| otherActionName | Chaîne | Nom de l'action d'un CI |
[Tableau 9. Paramètres]

{#SMSA-isCompatibleCIAction_S_S__table_fkl_v1t_px} {#SMSA-isCompatibleCIAction_S_S__table_gkl_v1t_px__entry__2}

| Type | Description |
|-|-|
| Booléen | Renvoie la valeur true si les deux actions de CI spécifiées sont compatibles. |
[Tableau 10. Renvoie]

{#SMSA-isCompatibleCIAction_S_S__table_gkl_v1t_px}

## StateManagementScriptableApi : isLeaseExpired(String requestorId, String ciSysId, String ciActionName) {#ariaid-title7}

Détermine si le bail a expiré pour le demandeur d'une action de CI spécifiée.
{#SMSA-isLeaseExpired_S_S_S__table_ot5_v5r_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du demandeur | Chaîne | La sys_id d'un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator(). |
| ciSysId | Chaîne | L'sys_id du CI. |
| ciActionName | Chaîne | Nom de l'action de CI. |
[Tableau 11. Paramètres]

{#SMSA-isLeaseExpired_S_S_S__table_ot5_v5r_px} {#SMSA-isLeaseExpired_S_S_S__table_pt5_v5r_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour * Résultat : vrai si le bail de l'utilisateur a expiré. * Erreurs : liste des erreurs. {#SMSA-isLeaseExpired_S_S_S__ul_ewf_5vl_px} |
[Tableau 12. Renvoie]

{#SMSA-isLeaseExpired_S_S_S__table_pt5_v5r_px}

## StateManagementScriptableApi : isNotAllowedAction(String ciType, String opsLabel, String actionName) {#ariaid-title8}

Pour un type de CI, déterminez si une action de CI n'est pas autorisée pour un état opérationnel.
{#SMSA-isNotAllowedAction_S_S_S__table_lzz_cxs_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ciType | Chaîne | Type de CI |
| opsLabel (en anglais seulement) | Chaîne | L'état opérationnel |
| actionName | Chaîne | Nom de l'action de CI |
[Tableau 13. Paramètres]

{#SMSA-isNotAllowedAction_S_S_S__table_lzz_cxs_px} {#SMSA-isNotAllowedAction_S_S_S__table_mzz_cxs_px__entry__2}

| Type | Description |
|-|-|
| Booléen | Renvoie la valeur true si l'action n'est pas autorisée sur le type de CI spécifié dans l'état opérationnel spécifié. |
[Tableau 14. Renvoie]

{#SMSA-isNotAllowedAction_S_S_S__table_mzz_cxs_px}

## StateManagementScriptableApi : isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel) {#ariaid-title9}

Pour un type de CI, déterminez si une transition d'état opérationnel n'est pas autorisée.
{#SMSA-isNotAllowedOpsTransition_S_S_S__table_erm_mys_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ciType | Chaîne | Type de CI |
| opsLabel (en anglais seulement) | Chaîne | Étiquette de l'état opérationnel début. |
| transitionOpsLabel (en anglais seulement) | Chaîne | Étiquette de l'état opérationnel de fin. |
[Tableau 15. Paramètres]

{#SMSA-isNotAllowedOpsTransition_S_S_S__table_erm_mys_px} {#SMSA-isNotAllowedOpsTransition_S_S_S__table_frm_mys_px__entry__2}

| Type | Description |
|-|-|
| Booléen | Renvoie la valeur true si la transition d'état opérationnel spécifiée n'est pas autorisée sur le type de CI spécifié. |
[Tableau 16. Renvoie]

{#SMSA-isNotAllowedOpsTransition_S_S_S__table_frm_mys_px}

## StateManagementScriptableApi : isValidRequestor (chaîne requestorId) {#ariaid-title10}

Détermine si le demandeur spécifié est un utilisateur de workflow actif valide ou un utilisateur inscrit.
{#SMSA-isValidRequestor_S__table_dr5_5sr_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du demandeur | Chaîne | Sys_id d'un contexte de workflow ou du GUID renvoyé par la méthode registerOperator(). |
[Tableau 17. Paramètres]

{#SMSA-isValidRequestor_S__table_dr5_5sr_px} {#SMSA-isValidRequestor_S__table_er5_5sr_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Paires nom-valeur au format JSON. Valeurs possibles : * résultat : vrai si le requestorId est valide. * Erreurs : liste des erreurs. |
[Tableau 18. Renvoie]

{#SMSA-isValidRequestor_S__table_er5_5sr_px}  
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() {#ariaid-title11}

Enregistre un opérateur pour un utilisateur qui ne fait pas partie du workflow.
{#SMSA-registerOperator__table_l5c_hvl_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 19. Paramètres]

{#SMSA-registerOperator__table_l5c_hvl_px} {#SMSA-registerOperator__table_m5c_hvl_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour * requestorid : GUID de l'utilisateur enregistré utilisé pour définir les états d'action/opérationnels du CI. * Résultat : vrai en cas d'enregistrement réussi. * Erreurs : liste des erreurs. {#SMSA-registerOperator__ul_ewf_5vl_px} |
[Tableau 20. Renvoie]

{#SMSA-registerOperator__table_m5c_hvl_px}  


    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) {#ariaid-title12}

Supprime une action de CI pour une liste de CI.
{#SMSA-removeBulkCIAction_S_S_S__table_iz1_2vs_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du demandeur | Chaîne | La sys_id d'un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator(). |
| sysIdList | Chaîne | Liste de CI séparés par des virgules sys_ids |
| ciActionName | Chaîne | Nom de l'action de CI |
[Tableau 21. Paramètres]

{#SMSA-removeBulkCIAction_S_S_S__table_iz1_2vs_px} {#SMSA-removeBulkCIAction_S_S_S__table_jz1_2vs_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour * résultat : vrai si l'action est supprimée pour tous les CI de la liste ; sinon, faux. * Erreurs : liste des erreurs. {#SMSA-removeBulkCIAction_S_S_S__ul_ewf_5vl_px} |
[Tableau 22. Renvoie]

{#SMSA-removeBulkCIAction_S_S_S__table_jz1_2vs_px}

## StateManagementScriptableApi : setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld) {#ariaid-title13}

Définissez l'état opérationnel de la liste des CI.
{#SMSA-setBulkCIOpState_S_S_S_S__table_hgf_5ks_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du demandeur | Chaîne | La sys_id d'un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator(). |
| sysIdList | Chaîne | Liste d'sys_ids de CI séparés par des virgules. |
| opsLabel (en anglais seulement) | Chaîne | Il s'agit de l'étiquette de chaîne d'un choix operational_status. |
| opsStateListOld | Chaîne | (Facultatif) Une liste séparée par des virgules des anciens CI indique que tous les CI doivent figurer. |
[Tableau 23. Paramètres]

{#SMSA-setBulkCIOpState_S_S_S_S__table_hgf_5ks_px} {#SMSA-setBulkCIOpState_S_S_S_S__table_igf_5ks_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne au format JSON avec des paires nom-valeur pour * résultat : vrai si l'état est défini pour tous les CI de la liste ; sinon, faux. * Erreurs : liste des erreurs. {#SMSA-setBulkCIOpState_S_S_S_S__ul_ewf_5vl_px} |
[Tableau 24. Renvoie]

{#SMSA-setBulkCIOpState_S_S_S_S__table_igf_5ks_px}  

    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) {#ariaid-title14}

Annule l'inscription d'un opérateur pour les utilisateurs n'appartenant pas au workflow.
{#SMSA-unregisterOperator_S__table_pwv_2xl_px__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du demandeur | Chaîne | Sys_id d'un contexte de workflow ou du GUID renvoyé par la méthode registerOperator(). |
[Tableau 25. Paramètres]

{#SMSA-unregisterOperator_S__table_pwv_2xl_px} {#SMSA-unregisterOperator_S__table_qwv_2xl_px__entry__2}

| Type | Description |
|-|-|
| Chaîne | Paires nom-valeur au format JSON. Valeurs possibles : * Résultat : vrai en cas de désinscription réussie * Erreurs : liste des erreurs. |
[Tableau 26. Renvoie]

{#SMSA-unregisterOperator_S__table_qwv_2xl_px}  
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}


