PlaybookExperience : inclus dans le champ d’application

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 12 minutes de lecture
  • L’API PlaybookExperience fournit des méthodes pour gérer les exécutions du playbook.

    Cette API nécessite le module d’extension Expérience de playbook Core (com.glide.playbook_experience.config) et est fournie dans l’espace de noms sn_playbook .

    Cette API nécessite au moins un playbook dans la table Définition de processus [sys__process_definition]. Pour utiliser cette API, vous devez disposer des rôles requis pour afficher et annuler un processus en cours dans Concepteur d’automatisation de processus. Pour plus d’informations, consultez Concepteur d’automatisation de processus.

    PlaybookExperience : cancelPlaybooksByParentRecord(GlideRecord parentRecord, String cancellationReason, String scopedName, String playbookExperienceId)

    Annule les exécutions de playbook pour un enregistrement parent donné.

    Tableau 1. Paramètres
    Nom Type Description
    parentRecord GlideRecord L’enregistrement parent pour lequel annuler les exécutions du playbook. L’enregistrement parent peut être n’importe quel enregistrement qui a des exécutions de playbook, comme un enregistrement d’interaction ou un enregistrement de ticket d’intégration.
    Motif d’annulation Chaîne Le motif de l’annulation des exécutions du playbook.
    Nom d’étendue Chaîne Facultatif. Nom du périmètre du playbook à annuler. Le nom inclus dans le champ d’application provient de la table de définition de processus [sys__process_definition] au format scope.name. S’il est fourni, seules les exécutions de ce playbook sont annulées pour l’enregistrement parent donné. Si ce n’est pas fourni, toutes les exécutions de tous les playbooks sont annulées pour l’enregistrement parent donné.
    playbookExperienceId Chaîne Facultatif. Sys_id de l’enregistrement de l’expérience de playbook dans la table Expérience de playbook [sys_playbook_experience] à utiliser pour l’annulation. Utilisez ce paramètre si vous avez défini des mappages d’état d’activité personnalisés. Voir Mappage de l’état de l’activité Playbook.

    Par défaut : Sys_id de l’enregistrement d’Expérience de playbook global.

    Tableau 2. Renvoie
    Type Description
    Objet Objet contenant les exécutions de playbook annulées et toutes les exécutions de playbook ignorées qui n’ont pas pu être annulées.
    {
      "canceledPlaybookContext": [Array],
      "skippedPlaybookContext": [Array]
    }
    
    <Object>.canceledPlaybookContext Liste des exécutions de playbook annulées. Chaque exécution de playbook est un objet dans le tableau.

    Type de données : tableau

    "canceledPlaybookContext": [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]
    <Object>.canceledPlaybookContext.can_read

    Marqueur indiquant si l’utilisateur actuel peut lire l’enregistrement d’exécution du playbook. L’utilisateur actuel doit avoir un accès en lecture à l’enregistrement parent pour pouvoir lire l’enregistrement d’exécution du playbook.

    Valeurs valides :
    • vrai : l’utilisateur actuel a un accès en lecture à l’enregistrement d’exécution du playbook.
    • false : l’utilisateur actuel n’a pas accès en lecture à l’enregistrement d’exécution du playbook.

    Type de données : booléennes

    <Object>.canceledPlaybookContext.canceled_by ID d’utilisateur de l’utilisateur qui a annulé l’exécution du playbook.

    Type de données : chaîne

    <Object>.canceledPlaybookContext.cancellation_reason Entrée du motif d’annulation par l’utilisateur qui a annulé l’exécution du playbook.

    Type de données : chaîne

    <Object>.canceledPlaybookContext.errors Liste des erreurs d’annulation. Chaque erreur est un objet du tableau.

    Type de données : tableau

    "errors": [
        {      
          "message": "String",
          "type": "String"  
        }
    ]
    <Object>.annuléContextePlaybook.erreurs.message Message d’erreur.

    Type de données : chaîne

    <Object>.canceledPlaybookContext.errors.type Le type d’erreur.

    Type de données : chaîne

    <Object>.canceledPlaybookContext.parent_record Sys_id de l’enregistrement parent pour lequel les exécutions de playbook ont été annulées.

    Type de données : chaîne

    <Object>.canceledPlaybookContext.parent_table Nom de la table d’où provient l’enregistrement parent.

    Type de données : chaîne

    <Object>.canceledPlaybookContext.playbook_id Sys_id du playbook à partir de la table Définitions de processus [sys__process_definition].

    Type de données : chaîne

    <Object>.canceledPlaybookContext.playbook_table Nom de la table d’où provient le playbook, généralement la table Définitions de processus [sys__process_definition].

    Type de données : chaîne

    <Object>.canceledPlaybookContext.scoped_name Nom délimité du playbook à partir de la table Définitions de processus [sys__process_definition] au format scope.name.

    Type de données : chaîne

    <Object>.canceledPlaybookContext.state État de l’exécution du playbook à partir de la table Exécutions du processus [sys__context].

    Type de données : objet

    "state": {    
       "displayValue": "String",    
       "value": "String"
    }
    <Object>.canceledPlaybookContext.state.displayValue La valeur d’affichage de l’état d’exécution du playbook.

    Type de données : chaîne

    <Object>.canceledPlaybookContext.state.value Valeur de l’état d’exécution du playbook.

    Type de données : chaîne

    <Object>.canceledPlaybookContext.sys_id Sys_id de l’exécution du playbook à partir de la table Exécutions de processus [sys__context].

    Type de données : chaîne

    <Object>.annuléPlaybookContext.title Étiquette de l’exécution du playbook de la table Exécutions de processus [sys__context].

    Type de données : chaîne

    <Object>.skippedPlaybookContext Liste des exécutions de playbook ignorées. Chaque exécution de playbook est un objet dans le tableau. Pour obtenir des descriptions des propriétés de l’objet, consultez le canceledPlaybookContext tableau.

    Type de données : tableau

    "skippedPlaybookContext": [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]

    Cet exemple montre comment annuler toutes les exécutions d’un playbook spécifique (dans ce cas, la démo d’expérience de playbook) pour un enregistrement d’interaction donné. Pour utiliser cette méthode dans une action d’interface utilisateur ou une règle métier, transmettez l’objet actuel en tant que parentRecord à la place.

    var parentRecord = new GlideRecordUtil().getGR("interaction", "d91742531b343010a26c98a1b24bcbe0");
    
    var cancellationReason = "Cancelling this playbook";
    
    // demo playbook from Process Automation Experience Demo store app
    var scopedName = "sn_pad_demo.playbook_experience_demo"; 
    
    // demo playbook experience from Process Automation Experience Demo store app
    var playbookExperienceId = "a56d8d93ff311010cc0853ea793bf1a6"; 
    	
    var cancelPlaybookReturn = sn_playbook.PlaybookExperience.cancelPlaybooksByParentRecord(parentRecord, cancellationReason, scopedName, playbookExperienceId);
    	
    
    gs.info(JSON.stringify(cancelPlaybookReturn, null, 2));

    Sortie :

    {
      "canceledPlaybookContext": [
        {
          "can_read": true,
          "sys_id": "d02782533d343010ac50ee17e75d3466",
          "scoped_name": "sn_pad_demo.playbook_experience_demo",
          "canceled_by": "admin",
          "playbook_table": "sys_pd_process_definition",
          "state": {
            "displayValue": "Pending Cancel",
            "value": "PENDING_CANCEL"
          },
          "title": "Playbook Experience Demo",
          "parent_record": "d91742531b343010a26c98a1b24bcbe0",
          "playbook_id": "0d35ee1807301010cc08d9630ad3002a",
          "cancellation_reason": "Cancelling this playbook",
          "parent_table": "interaction",
          "errors": []
        }
      ],
      "skippedPlaybookContext": []
    }

    PlaybookExperience : getPlaybooksForParentRecord(GlideRecord parentRecord)

    Obtient une liste des exécutions de playbook pour un enregistrement parent donné.

    Tableau 3. Paramètres
    Nom Type Description
    parentRecord GlideRecord L’enregistrement parent pour lequel obtenir les exécutions du Playbook. L’enregistrement parent peut être n’importe quel enregistrement pouvant avoir des exécutions de playbook, tel qu’un enregistrement d’interaction ou un enregistrement de ticket d’intégration.
    Tableau 4. Renvoie
    Type Description
    Tableau Liste des exécutions de playbook pour l’enregistrement parent. Chaque exécution de playbook est un objet dans le tableau.
    [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]
    <tableau>.can_read

    Marqueur indiquant si l’utilisateur actuel peut lire l’enregistrement d’exécution du playbook. L’utilisateur actuel doit avoir un accès en lecture à l’enregistrement parent pour pouvoir lire l’enregistrement d’exécution du playbook.

    Valeurs valides :
    • vrai : l’utilisateur actuel a un accès en lecture à l’enregistrement d’exécution du playbook.
    • false : l’utilisateur actuel n’a pas accès en lecture à l’enregistrement d’exécution du playbook.

    Type de données : booléennes

    <tableau>.canceled_by ID d’utilisateur de l’utilisateur qui a annulé l’exécution du playbook. Vide si le playbook n’est pas annulé.

    Type de données : chaîne

    <tableau>.cancellation_reason Entrée du motif d’annulation par l’utilisateur qui a annulé l’exécution du playbook. Vide si le playbook n’est pas annulé.

    Type de données : chaîne

    <Tableau>.errors Liste d’erreurs. Chaque erreur est un objet du tableau.

    Type de données : tableau

    "errors": [
        {      
          "message": "String",
          "type": "String"  
        }
    ]
    <Tableau>.errors.message Message d’erreur.

    Type de données : chaîne

    <Tableau>.errors.type Le type d’erreur.

    Type de données : chaîne

    <tableau>.parent_record Sys_id de l’enregistrement parent.

    Type de données : chaîne

    <tableau>.parent_table Nom de la table d’où provient l’enregistrement parent.

    Type de données : chaîne

    <tableau>.playbook_id Sys_id du playbook à partir de la table Définitions de processus [sys__process_definition].

    Type de données : chaîne

    <tableau>.playbook_table Nom de la table d’où provient le playbook, généralement la table Définitions de processus [sys__process_definition].

    Type de données : chaîne

    <tableau>.scoped_name Nom délimité du playbook à partir de la table Définitions de processus [sys__process_definition] au format scope.name.

    Type de données : chaîne

    <tableau>.state État de l’exécution du playbook à partir de la table Exécutions du processus [sys__context].

    Type de données : objet

    "state": {    
       "displayValue": "String",    
       "value": "String"
    }
    <Tableau>.état.displayValue La valeur d’affichage de l’état d’exécution du playbook.

    Type de données : chaîne

    <Tableau>.état.valeur Valeur de l’état d’exécution du playbook.

    Type de données : chaîne

    <Tableau>.sys_id Sys_id de l’exécution du playbook à partir de la table Exécutions de processus [sys__context].

    Type de données : chaîne

    <tableau>.title Étiquette de l’exécution du playbook de la table Exécutions de processus [sys__context].

    Type de données : chaîne

    Cet exemple montre comment obtenir des exécutions de playbook pour un enregistrement d’interaction donné. Pour utiliser cette méthode dans une action d’interface utilisateur ou une règle métier, transmettez l’objet actuel en tant que parentRecord à la place.

    var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
    var playbook = sn_playbook.PlaybookExperience.getPlaybooksForParentRecord(parentRecord);
    gs.info(JSON.stringify(playbook, null, 2));
    

    Sortie :

    [
      {
        "can_read": true,
        "sys_id": "bd87bae50b8d7410807a8ffed6d0909e",
        "scoped_name": "sn_pad_demo.playbook_experience_demo",
        "canceled_by": "",
        "playbook_table": "sys_pd_process_definition",
        "state": {
          "displayValue": "In Progress",
          "value": "IN_PROGRESS"
        },
        "title": "Playbook Experience Demo",
        "parent_record": "148776e5818d7410f87701eb89fdc824",
        "playbook_id": "0d35ee1807301010cc08d9630ad3002a",
        "cancellation_reason": "",
        "parent_table": "interaction",
        "errors": []
      }
    ]
    

    PlaybookExperience : parentRecordContainsPlaybook(GlideRecord, parentRecord, String, scopedName)

    Vérifie si un enregistrement parent a des exécutions de playbook.

    Tableau 5. Paramètres
    Nom Type Description
    parentRecord GlideRecord L’enregistrement parent pour lequel vérifier les exécutions du playbook. L’enregistrement parent peut être n’importe quel enregistrement pouvant avoir des exécutions de playbook, tel qu’un enregistrement d’interaction ou un enregistrement de ticket d’intégration.
    Nom d’étendue Chaîne Facultatif. Le nom inclus dans le périmètre du playbook à vérifier. Le nom inclus dans le champ d’application provient de la table de définition de processus [sys__process_definition] au format scope.name. Si elle est fournie, seules les exécutions de ce playbook sont vérifiées. Si ce n’est pas fourni, les exécutions de tous les playbooks sont vérifiées.
    Tableau 6. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si l’enregistrement parent a des exécutions de playbook.

    Valeurs valides :
    • true : l’enregistrement parent a des exécutions de playbook.
    • false : l’enregistrement parent n’a pas d’exécutions de playbook.

    Cet exemple montre comment vérifier si un enregistrement d’interaction donné comporte des exécutions d’un playbook spécifique (dans ce cas, la démo Expérience de playbook). Pour utiliser cette méthode dans une action d’interface utilisateur ou une règle métier, transmettez l’objet actuel en tant que parentRecord à la place.

    var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
    
    // demo playbook from Process Automation Experience Demo store app
    var scopedName = "sn_pad_demo.playbook_experience_demo"; 
    
    var hasPlaybooks = sn_playbook.PlaybookExperience.parentRecordContainsPlaybook(parentRecord, scopedName);
    gs.info(hasPlaybooks);

    Sortie :

    true

    PlaybookExperience : restartPlaybook(chaîne playbookContextId, chaîne laneContextId, chaîne activityContextId, chaîne playbookExperienceId)

    Vous pouvez redémarrer une exécution depuis le début (l’ensemble du playbook) ou à partir d’une étape ou d’une activité spécifique d’un playbook.

    Remarque :
    Seuls les playbooks en cours, en file d’attente ou en attente d’annulation peuvent être redémarrés.
    Tableau 7. Paramètres
    Nom Type Description
    playbookContextId Chaîne Le sys_id de l’enregistrement de contexte du playbook pour l’exécution ou l’exécution du playbook que vous souhaitez redémarrer. Situé dans la table Exécution du processus [sys__context].
    laneContextId Chaîne Facultatif. sys_id de l’enregistrement de contexte d’étape pour l’exécution ou l’exécution d’étape à partir de laquelle vous souhaitez redémarrer. Situé dans la table Exécutions de voie [sys__lane_context].
    Remarque :
    Seules les étapes terminées peuvent être redémarrées.
    activityContextId Chaîne Facultatif. sys_id de l’enregistrement de contexte de l’activité pour l’exécution ou l’exécution de l’activité à partir de laquelle vous souhaitez redémarrer. Situé dans la table Exécutions d’activités [sys__activity_context].
    Remarque :
    Seules les activités terminées peuvent être redémarrées.
    playbookExperienceId Chaîne Facultatif. Le sys_id de l’expérience de playbook que vous souhaitez utiliser pour l’exécution redémarrée. Situé dans la table Expérience de playbook [sys_playbook_experience]. Utilisez ce paramètre si vous avez défini des mappages d’état d’activité personnalisés. Voir Mappage de l’état de l’activité Playbook.

    Par défaut : Expérience de playbook globale

    Tableau 8. Renvoie
    Propriété Description
    Objet Objet contenant les détails de l’exécution du playbook redémarré.
    {
     "can_add_activity": Boolean,
     "can_cancel": Boolean,
     "can_read": Boolean
     "can_restart": Boolean,
     "canceled_by": "String",
     "cancellation_reason": "String",
     "errors": [Array]
     "is_archived": Boolean
     "parent_record": "String",
     "parent_table": "String",
     "playbook_id": "String",
     "playbook_table": "String",
     "scoped_name": "String",
     "state": {Object},
     "sys_id": "String",
     "title": "String",
    }
    can_add_activity Marqueur indiquant si un utilisateur peut ajouter une activité facultative au playbook.
    Valeurs valides :
    • vrai : l’utilisateur actuel peut ajouter une activité facultative au playbook.
    • false : l’utilisateur actuel ne peut pas ajouter d’activité facultative au playbook.

    Type de données : booléennes

    can_cancel Marqueur indiquant si un utilisateur peut annuler un playbook.
    • true : la définition du processus pour le playbook désactivé est active.
    • false : la définition du processus pour le playbook désactivé est inactive.

    Type de données : booléennes

    can_read Marqueur indiquant si l’utilisateur actuel peut lire l’enregistrement d’exécution du playbook. L’utilisateur actuel doit avoir un accès en lecture à l’enregistrement parent pour pouvoir lire l’enregistrement d’exécution du playbook.
    • vrai : l’utilisateur actuel a un accès en lecture à l’enregistrement d’exécution du playbook.
    • false : l’utilisateur actuel n’a pas accès en lecture à l’enregistrement d’exécution du playbook.

    Type de données : booléennes

    can_restart Marqueur indiquant si un utilisateur peut redémarrer un playbook, une étape ou une activité.
    • vrai : l’utilisateur actuel peut redémarrer le playbook, l’étape ou l’activité.
    • false : l’utilisateur actuel ne peut pas redémarrer le playbook, l’étape ou l’activité.

    Type de données : booléennes

    canceled_by ID d’utilisateur de l’utilisateur qui a annulé l’exécution du playbook.

    Type de données : chaîne

    cancellation_reason Motif d’annulation saisi par l’utilisateur qui a annulé l’exécution du playbook.

    Type de données : chaîne

    erreurs Liste des erreurs de redémarrage. Chaque erreur est un objet du tableau.

    Type de données : tableau

    "errors": [
     {      
      "message": "String",
      "type": "String"  
     }
    ]
    is_archived Marqueur indiquant si les enregistrements contextuels du playbook sont archivés. Définissez la valeur sur vrai. Cette valeur est irmodifiable.
    Valeurs possibles :
    • vrai : les enregistrements de contexte Playbook sont archivés.
    • faux : les enregistrements de contexte Playbook ne sont pas archivés.

    Type de données : booléennes

    parent_record Le sys_id de l’enregistrement parent pour lequel les exécutions du playbook ont été redémarrées.

    Type de données : chaîne

    parent_table Nom de la table d’où provient l’enregistrement parent.

    Type de données : chaîne

    playbook_id La sys_id du playbook à partir de la table Définitions de processus [sys__process_definition].

    Type de données : chaîne

    playbook_table Nom de la table d’où provient le playbook, généralement la table Définitions de processus [sys__process_definition].

    Type de données : chaîne

    scoped_name Facultatif. Nom délimité du playbook à redémarrer. Le nom inclus dans le champ d’application provient de la table de définition de processus [sys__process_definition] au format scope.name. Si elle est fournie, seules les exécutions de ce playbook sont redémarrées pour l’enregistrement parent donné. Si ce n’est pas fourni, toutes les exécutions de tous les playbooks sont relancées pour l’enregistrement parent donné.

    Type de données : chaîne

    État Indique si votre demande d’activation a abouti.

    Type de données : objet

    Valeurs possibles :
    • RÉUSSITE : le playbook a été activé avec succès.
    • ÉCHEC : L’ID du playbook est introuvable.
    "state": [
        {      
          "displayValue": "String",
          "value": "String"  
        }
    ]
    état.displayValue La valeur d’affichage de l’état d’exécution du playbook.

    Type de données : chaîne

    état.valeur Valeur de l’état d’exécution du playbook.

    Type de données : chaîne

    sys_id Le sys_id de l’exécution du playbook à partir de la table Exécutions du processus [sys__context].

    Type de données : chaîne

    Titre Étiquette de l’exécution du playbook de la table Exécutions de processus [sys__context].

    Type de données : chaîne

    Cet exemple montre comment redémarrer l’exécution complète d’un playbook avec l’ID d’enregistrement Exécutions de processus [sys__context] 98e4fe04591b4caca59583f7b8e30b0a.

    var gr = new GlideRecord('sys_pd_context');
    var found = gr.get('98e4fe04591b4caca59583f7b8e30b0a'); 
    if (found) {
        var result = sn_playbook.PlaybookExperience.restartPlaybook(gr);
        gs.info(JSON.stringify(result));
    }
    else
        gs.info('invalid pd context');

    Sortie :

    {
     "scoped_name": "global.restart_scriptable_demo",
     "canceled_by": "",
     "can_add_activity": true,
     "playbook_table": "sys_pd_process_definition",
     "can_restart": true,
     "can_cancel": true,
     "title": "Restart scriptable demo",
     "cancellation_reason": "",
     "parent_table": "interaction",
     "can_read": true,
     "sys_id": "98e4fe04591b4caca59583f7b8e30b0a",
     "is_archived": false,
     "state": {
       "displayValue": "In Progress",
       "value": "IN_PROGRESS"
     },
     "parent_record": "b88623beb5e10210f877d783f6f83a46",
     "playbook_id": "12d5a7fab5e10210f877d783f6f83aff",
     "errors": []
    }

    PlaybookExperience : triggerPlaybook(String, scopedName, GlideRecord, parentRecord)

    Lance un Playbook pour un enregistrement parent.

    Tableau 9. Paramètres
    Nom Type Description
    Nom d’étendue Chaîne Nom délimité du playbook à lancer. Le nom inclus dans le champ d’application provient de la table de définition de processus [sys__process_definition] au format scope.name.
    parentRecord GlideRecord L’enregistrement parent pour lequel lancer un playbook. L’enregistrement parent peut être n’importe quel enregistrement pouvant avoir des exécutions de playbook, tel qu’un enregistrement d’interaction ou un enregistrement de ticket d’intégration.
    Tableau 10. Renvoie
    Type Description
    Chaîne Sys_id de l’exécution du playbook à partir de la table Exécutions de processus [sys__context] créée pour l’enregistrement parent. Nul si une exécution de playbook n’a pas été créée correctement.

    Cet exemple montre comment lancer un Playbook pour un enregistrement d’interaction donné. Pour utiliser cette méthode dans une action d’interface utilisateur ou une règle métier, transmettez l’objet actuel en tant que parentRecord à la place.

    var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
    
    // demo playbook from Process Automation Experience Demo store app
    var scopedName = "sn_pad_demo.playbook_experience_demo"; 
    
    var playbookExecution = sn_playbook.PlaybookExperience.triggerPlaybook(scopedName, parentRecord);
    gs.info(playbookExecution);
    

    Sortie :

    f059958267cdb410952864f0fed358cc