UniversalTaskUtils : champ d’application, global
La classe UniversalTaskUtils fournit des méthodes de gestion des tâches universelles.
Avec l’application ServiceNow Tâche Universelle, les agents peuvent créer des tâches pour les employés. Par exemple, les agents peuvent demander des informations supplémentaires ou l’exécution d’une action afin de résoudre un ticket ou une demande parent. Les tâches universelles sont disponibles pour tout type de ticket qui étend la table Tâche [task].
À l’aide de cette API, vous pouvez changer l’état des tâches universelles actives sur « Terminé » ou « Annulé », obtenir toutes les tâches universelles actives pour une tâche parente spécifiée, vérifier si une tâche universelle parente a des enfants et appliquer des modèles à un enregistrement de tâche universelle. Vous pouvez utiliser ces méthodes dans les scripts et dans les créateurs de conditions visibles sur le formulaire de configuration de l’onglet pour gérer les données qui s’affichent dans l’onglet Tâche universelle. Pour plus d’informations, consultez l’onglet Ajouter une tâche sur la page Ticket standard.
Vous pouvez utiliser cette API dans les applications incluses dans le périmètre et globales. L’application Tâche Universelle (sn_uni_task) doit être installée sur l’instance associée pour avoir accès à cette API. Vous devez toujours spécifier l’espace de noms sn_uni_task lors de l’appel de méthodes dans cette API.
Pour plus d’informations sur l’application Tâche Universelle, consultez Tâche Universelle.
UniversalTaskUtils : applyTemplate(String, templateSysId, GlideRecord, uniTaskGr)
Applique le modèle de tâche universelle spécifié à l’enregistrement de tâche universelle spécifié.
Avant de pouvoir utiliser cette méthode, des modèles de tâches universelles doivent être configurés dans votre instance. Pour plus d’informations, consultez Modèles de Tâche Universelle.
| Nom | Type | Description |
|---|---|---|
| templateSysId | Chaîne | Sys_id du modèle de tâche universelle à appliquer à l’enregistrement de tâche universelle spécifié. Situé dans la table Modèle de tâche universelle [sn_uni_task_template]. |
| uniTaskGr | GlideRecord | GlideRecord de l’enregistrement de tâche universelle auquel appliquer le modèle. |
| Type | Description |
|---|---|
| Néant | Toutes les erreurs sont écrites dans le journal système. |
Cet exemple de code montre une fonction qui acquiert, puis applique, le modèle de commentaire.
(function executeRule(current, previous /*null when async*/) {
var templateGr = new GlideRecord('sn_uni_task_template');
templateGr.get('name','Feedback Template');
var templateSysId = templateGr.getValue('sys_id');
new sn_uni_task.UniversalTaskUtils().applyTemplate (templateSysId,current);
})(current, previous);
UniversalTaskUtils : getActiveChildTasks(String parentSysId)
Renvoie les enregistrements de tâches enfants actifs, sous la forme d’un GlideRecord, pour le ticket parent spécifié.
Vous pouvez ensuite utiliser l’API GlideRecord , étendue ou globale selon la portée de l’application appelante, pour accéder aux données renvoyées, par exemple à l’aide de la méthode getRowCount() pour compter les tâches actives.
| Nom | Type | Description |
|---|---|---|
| parentSysId | Chaîne | Sys_id du ticket parent dont les tickets enfants actifs doivent être renvoyés. |
| Type | Description |
|---|---|
| GlideRecord | GlideRecord qui contient tous les enregistrements de tâches enfants actifs pour la tâche parente spécifiée. |
L’exemple suivant montre une fonction qui obtient toutes les tâches enfants actives pour la sys_id actuelle, puis utilise getRowCount() pour obtenir le nombre de tâches enfants actives.
(function executeRule(current, previous /*null when async*/) {
var gr_ActiveTasks = new sn_uni_task.UniversalTaskUtils().getActiveChildTasks(current.sys_id);
var count = gr_ActiveTasks.getRowCount();
})(current, previous);
UniversalTaskUtils : hasTasksToShow(GlideRecord actuel)
Vérifie si le ticket parent spécifié comporte des tâches universelles dont l’état est Travail en cours ou Terminé.
Vous pouvez utiliser cette méthode pour déterminer s’il convient d’afficher l’onglet Tâche universelle pour un demandeur dans une configuration de ticket standard uniquement si des tâches sont en cours ou terminées.
| Nom | Type | Description |
|---|---|---|
| current | GlideRecord | GlideRecord du ticket parent à vérifier. |
| Type | Description |
|---|---|
| sys_id | Si des tâches universelles sont associées au ticket parent, la sys_id du ticket parent ; sinon nul. Type de données : chaîne |
L’exemple suivant montre une fonction qui appelle cette méthode pour vérifier les tâches universelles.
(function executeRule(current, previous /*null when async*/) {
var sysId = new sn_uni_task.UniversalTaskUtils().hasTasksToShow(current);
})(current, previous);
UniversalTaskUtils : markActiveChildTasksCancelled(String parentSysId)
Modifie l’état de toutes les tâches universelles actives sous le ticket parent spécifié sur « Annulé ».
| Nom | Type | Description |
|---|---|---|
| parentSysId | Chaîne | Sys_id du ticket parent dont l’état des tâches universelles enfants actives doit être changé en « Annulé ». |
| Type | Description |
|---|---|
| Néant |
Cet exemple de code montre comment utiliser cette méthode pour mettre à jour les états de toutes les tâches universelles associées à la tâche parente spécifiée à annuler.
(function executeRule(current, previous /*null when async*/) {
new sn_uni_task.UniversalTaskUtils().markActiveChildTasksCancelled(current.sys_id);
})(current, previous);
UniversalTaskUtils : markActiveChildTasksCompleted(String parentSysId)
Fait passer l’état de toutes les tâches universelles enfants actives associées au ticket parent spécifié à « Terminé ».
| Nom | Type | Description |
|---|---|---|
| parentSysId | Chaîne | Sys_id du ticket parent dont l’état des tâches universelles enfants actives doit passer à « Terminé ». |
| Type | Description |
|---|---|
| Néant |
Cet exemple de code montre comment utiliser cette méthode pour mettre à jour les états de toutes les tâches universelles associées à la tâche parente spécifiée pour les terminer.
(function executeRule(current, previous /*null when async*/) {
new sn_uni_task.UniversalTaskUtils().markActiveChildTasksCompleted(current.sys_id);
})(current, previous);