API d’accord sur les niveaux de service : ServiceNow Fluent

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 8 minutes de lecture
  • L’API Accord sur les niveaux de service définit les accords sur les niveaux de service [contract_sla] qui fixent la durée nécessaire pour qu’une tâche atteigne une condition spécifiée, garantissant que les tâches sont résolues conformément aux niveaux de service convenus entre un fournisseur de service et un client.

    Remarque :
    Pour obtenir la documentation et des exemples d’API les plus récents ServiceNow Fluent , consultez les ServiceNow Fluent Référence API et référentiel d’exemples de SDK ServiceNow sur GitHub.

    Pour obtenir des informations générales sur les SLA, reportez-vous à la section Service Level Management.

    Objet SLA

    Créez unedéfinition de SLA [contract_sla] qui contrôle le calendrier, les conditions, les workflows et les autres informations nécessaires à la création et à la progression des SLA de tâche.

    Tableau 1. Propriétés
    Nom Type Description
    $id Chaîne ou numéro Requis. ID unique pour l’objet de métadonnées. Lorsque vous créez l’application, cet ID est haché en une sys_id unique. Pour en savoir plus, consultez ServiceNow Fluent Constructions linguistiques.

    Format : Now.ID['chaîne' ou numéro]

    nom Chaîne Requis. Nom attribué à la définition de SLA.
    Table Chaîne Le nom de la table à laquelle le SLA s’applique.

    Par défaut : incident

    type Chaîne Le type d’accord sur les niveaux de service. Le type n’est utilisé que pour le reporting.
    Valeurs valides :
    • SLA : accord sur les niveaux de service entre un fournisseur de service et un client externe.
    • OLA : Accord de niveau opérationnel entre les équipes internes d’une même organisation.
    • Contrat sous-jacent : contrat avec un fournisseur externe qui sous-tend le service fourni au client.

    Par défaut : SLA

    actif Booléen Marqueur indiquant si la définition de SLA est active et peut être comparée aux enregistrements de tâches.
    Valeurs valides :
    • vrai : la définition de SLA est active.
    • faux : la définition de SLA est inactive et n’est pas mise en correspondance avec les enregistrements de tâches.

    Par défaut : true

    target Chaîne Étape de la tâche que le SLA mesure. La cible n’est utilisée que pour le filtrage, la recherche et le reporting.
    Valeurs valides :
    • response : le SLA mesure le temps nécessaire pour répondre à une tâche.
    • résolution : le SLA mesure le temps nécessaire à la résolution d’une tâche.
    durée Objet Durée pendant laquelle la tâche doit atteindre la condition cible.Utilisez la fonction Duration() pour spécifier la durée.

    Cette propriété est requise si la valeur de la propriété durationType est vide.

    Format :
    duration: Duration({ days: Number, hours: Number, minutes: Number, seconds: Number })
    durationType Référence ou chaîne L’sys_id d’une duration cmn_relative_duration rative, telle que la rupture à la date d’échéance ou la fin du jour ouvrable suivant, à utiliser à la place d’une durée spécifiée par l’utilisateur. Pour définir une durée relative, utilisez le fichier API d’enregistrement : ServiceNow Fluent.
    relativeDurationWorksOn Chaîne Type d’enregistrement à partir duquel la durée relative est calculée.

    Cette propriété ne s’applique que si la valeur de la propriété durationType est définie.

    Valeurs valides :
    • Enregistrement de tâche : la durée relative est calculée à partir de l’enregistrement de tâche.
    • Enregistrement SLA : la durée relative est calculée à partir de l’enregistrement SLA.

    Par défaut : enregistrement de tâche

    schedule Référence ou chaîne La sys_id d’un calendrier [cmn_schedule] pour les périodes pendant lesquelles les SLA accumulent du temps ouvré. Pour définir un calendrier, utilisez le fichier API d’enregistrement : ServiceNow Fluent.

    Cette propriété est requise si la valeur de la propriété scheduleSource est sla_definition.

    scheduleSource Chaîne Source à partir de laquelle la planification est obtenue.
    Valeurs valides :
    • sla_definition : le calendrier est spécifié dans la définition de SLA à l’aide de la propriété schedule.
    • task_field : le calendrier est obtenu à partir d’un champ sur l’enregistrement de tâche spécifié avec la propriété scheduleSourceField.
    • no_schedule : aucun calendrier n’est utilisé et le SLA s’exécute en continu (24h/24 et 7j/7).

    Par défaut : sla_definition

    scheduleSourceField Chaîne Élémentfinal de la tâche qui fournit le calendrier.

    Cette propriété est requise si la valeur de la propriété scheduleSource est task_field.

    conditions Objet Conditionsde requête codées qui contrôlent la durée d’un SLA. Par exemple, « priorité=1^état !=6 » correspond aux tâches de priorité 1 qui ne sont pas à l’état Fermé.

    Pour plus d’informations sur les conditions de SLA, reportez-vous à .Create an SLA definition Pour plus d’informations sur les requêtes de filtre, reportez-vous à la section Operators available for filters and queries.

    Format :
    conditions: {
      start: 'String',
      stop: 'String',
      pause: 'String',
      resume: 'String',
      reset: 'String',
      cancel: 'String',
    }
    advancedConditionType Chaîne Type de logique de condition avancée à appliquer.
    Valeurs valides :
    • aucune : aucune logique de condition avancée n’est appliquée.
    • avancé : un script de condition avancée personnalisé est utilisé.
    • advanced_journal : la logique de condition avancée basée sur les écritures du journal est utilisée.
    • advanced_system : une logique de condition avancée basée sur les événements système est utilisée.
    • advanced_journal_and_system : une logique de condition avancée basée à la fois sur les écritures de journal et les événements système est utilisée.

    Par défaut : aucun

    conditionType Chaîne L’sys_id d’une condition de SLA [sla_condition_class] qui détermine le moment des transitions entre les différentes étapes de chaque SLA de tâche.
    resetAction Chaîne Action à entreprendre sur l’enregistrement SLA de tâche actuel lorsque la condition de réinitialisation est remplie.
    Valeurs valides :
    • annuler : l’enregistrement SLA de tâche actuel est annulé et un nouvel enregistrement est créé.
    • terminé : l’enregistrement SLA de tâche actuel est marqué comme terminé et un nouveau enregistrement est créé.

    Par défaut : annuler

    whenTo Objet Paramètresqui contrôlent quand un SLA en pause reprend et quand un SLA est annulé.
    • reprise : comportement qui contrôle quand un SLA en pause reprend le décompte de temps.
      Valeurs valides :
      • on_condition : le SLA reprend lorsque l’enregistrement de tâche correspond à la condition définie avec la propriété reprise de l’objet de conditions .
      • no_match : le SLA reprend lorsque l’enregistrement de tâche ne correspond plus à la condition de pause définie avec la propriété pause de l’objet conditions.

      Par défaut : on_condition

    • annuler : comportement qui contrôle le moment où un SLA actif est annulé.
      Valeurs valides :
      • on_condition : le SLA est annulé lorsque l’enregistrement de tâche correspond à la condition définie avec la propriété d’annulation de l’objet de conditions .
      • no_match : le SLA est annulé lorsque l’enregistrement de tâche ne correspond plus à la condition de démarrage définie avec la propriété de démarragede l’objet conditions.
      • jamais : le SLA n’est jamais annulé, quel que soit l’état de l’enregistrement de la tâche.

      Par défaut : on_condition

    Format :
    whenTo: {
      resume: 'String',
      cancel: 'String',
    }
    Rétroactif Objet Paramètresqui contrôlent si l’heure de début du SLA est définie sur un point dans le passé en fonction d’une valeur de champ spécifiée.
    • start : marqueur indiquant si le démarrage rétroactif est activé. Lorsque cette option est activée, l’heure de début du SLA est définie sur la valeur du champ spécifié dans setStartTo plutôt que sur l’heure à laquelle la condition de démarrage a été remplie pour la première fois.

      Valeur par défaut : false

    • setStartTo : champ sur l’enregistrement de tâche dont la valeur est utilisée comme heure de début de SLA lorsque le démarrage rétroactif est activé. Cette propriété est requise si la valeur de la propriété de démarrage est vraie.
    • pause : marqueur indiquant si la pause rétroactive est activée lorsque le démarrage rétroactif est actif. Lorsque cette option est activée, tout temps pendant lequel la tâche était en pause avant l’attachement du SLA est soustrait du temps écoulé.

      Par défaut : true

    Format :
    retroactive: {
      start: Boolean,
      setStartTo: 'String',
      pause: Boolean,
    }
    source de fuseau horaire Chaîne La source à partir de laquelle le fuseau horaire pour les calculs de SLA est obtenu.
    Valeurs valides :
    • task.caller_id.time_zone : fuseau horaire de l’appelant sur l’enregistrement de tâche.
    • task.caller_id.location.time_zone : fuseau horaire de l’emplacement de l’appelant sur l’enregistrement de tâche.
    • task.cmdb_ci.location.time_zone : fuseau horaire de l’emplacement de l’élément de configuration sur l’enregistrement de tâche.
    • task.location.time_zone : fuseau horaire de l’emplacement sur l’enregistrement de tâche.
    • sla.timezone : fuseau horaire spécifié avec la propriété timezone .

    Par défaut : task.caller_id.time_zone

    fuseau horaire Chaîne Fuseau horaire à utiliser pour les calculs de SLA, par exemple États-Unis/Pacifique.

    Cette propriété est requise si la valeur de la propriété timezoneSource est sla.timezone.

    Remplace Référence ou chaîne Identificateur de variable ou sys_id d’uneautre définition de SLA [contract_sla] que cette définition de SLA remplace.
    workflow Référence ou chaîne Identificateur de variable ou sys_id d’un workflow [wf_workflow] à exécuter lorsque le SLA atteint un jalon ou est rompu. Pour définir un workflow, utilisez le fichier API d’enregistrement : ServiceNow Fluent.
    Flux Référence ou chaîne Identificateur de variable ou sys_id d’un flux [sys_hub_flow] à exécuter lorsque le SLA atteint un jalon ou est rompu. Pour définir un flux, utilisez le fichier API de flux : ServiceNow Fluent.

    Par défaut : flux SLA par défaut (828f267973333300e289235f04f6a7a3)

    vendor Référence ou chaîne ID de variable ou sys_id d’une société [core_company] qui est le fournisseur d’un SLA de contrat sous-jacent.Pour définir une société, utilisez le .API d’enregistrement : ServiceNow Fluent
    Chemin d’accès du domaine Chaîne Chemin de domaine qui détermine quel domaine possède le SLA dans un environnement multidomaine.

    Par défaut : le domaine global (/)

    enableLogging Booléen Marqueur indiquant si la journalisation de débogage est activée pour la définition de SLA.
    Valeurs valides :
    • vrai : la journalisation de débogage est activée.
    • faux : la journalisation de débogage est désactivée.

    Par défaut : false

    $meta Objet Métadonnées pour les métadonnées de l’application.
    Avec la propriété installMethod , vous pouvez mapper les métadonnées d’application à un répertoire de sortie qui ne se charge que dans des circonstances spécifiques.
    $meta: {
          installMethod: 'String'
    }
    Valeurs valides pour installMethod :
    • demo : génère les métadonnées de l’application dans le répertoire metadata/unload.demo à installer avec l’application lorsque l’option Charger les données de démonstration est sélectionnée.
    • première installation : génère les métadonnées de l’application dans le répertoire metadata/unload à installer uniquement la première fois qu’une application est installée sur une instance.
    import { Sla, Duration } from '@servicenow/sdk/core'
    
    Sla({
        $id: Now.ID['incident-p1-resolution'],
        name: 'P1 Incident Resolution',
        table: 'incident',
        target: 'resolution',
        duration: Duration({ hours: 4 }),
        schedule: 'b1992362eb601100fcfb858ad106fe16',
        conditions: {
            start: 'priority=1',
            stop: 'state=6',
            pause: 'state=3',
            resume: 'state!=3',
        },
        whenTo: {
            resume: 'on_condition',
        },
        resetAction: 'cancel',
    })