PlaybookExperience : inclus dans le champ d’application
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é.
| 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. |
| 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. |
| <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 |
| <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 :
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 |
| <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 |
| <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 |
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é.
| 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. |
| Type | Description |
|---|---|
| Tableau | Liste des exécutions de playbook pour l’enregistrement parent. Chaque exécution de playbook est un objet dans le tableau. |
| <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 :
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 |
| <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 |
| <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.
| 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. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’enregistrement parent a des exécutions de playbook. Valeurs valides :
|
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.
| 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 |
| Propriété | Description |
|---|---|
| Objet | Objet contenant les détails de l’exécution du playbook redémarré. |
| can_add_activity | Marqueur indiquant si un utilisateur peut ajouter une activité facultative au playbook. Valeurs valides :
Type de données : booléennes |
| can_cancel | Marqueur indiquant si un utilisateur peut annuler un playbook.
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.
Type de données : booléennes |
| can_restart | Marqueur indiquant si un utilisateur peut redémarrer un playbook, une étape ou une 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 |
| 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 :
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 :
|
| é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.
| 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. |
| 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