API de propriété : ServiceNow Fluent

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 3 minutes de lecture
  • L’API Propriétés inclut des objets qui définissent les propriétés système [sys_properties].

    Objet de propriété

    Ajouter des propriétés système [sys_properties] pour configurer certains aspects d’une application.

    Tableau 1. Propriétés
    Nom Type Description
    $id Chaîne ou numéro Requis. ID unique pour l’objet de métadonnées fourni au format suivant, où < valeur > est une chaîne ou un numéro.
    $id: Now.ID[<value>]

    Lorsque vous créez l’application, cet ID est haché en une sys_ID unique.

    nom Chaîne Requis. Nom de la propriété commençant par le périmètre de l’application au format suivant : <périmètre>.<nom>.
    valide N'importe lequel Une valeur pour la propriété. La valeur doit être le type de données correct.

    Toutes les valeurs de propriété sont stockées sous forme de chaînes. Lors de la récupération des propriétés via la méthode gs.getProperty(), traitez les résultats comme des chaînes. Par exemple, une propriété vrai|faux renvoie « vrai » ou « faux » (chaînes), et non l'équivalent booléen.

    type Chaîne Type de données pour la valeur de la propriété.

    Valeurs valides : chaîne, entier, booléen, liste de choix, couleur, date_format, image, mot de passe, mot de passe2, short_string, time_format, fuseau horaire, uploaded_image

    description Chaîne Description de la fonction de la propriété.
    choix Tableau Une liste de valeurs de choix séparées par des virgules. Cette propriété ne s’applique que si la propriété type est définie sur liste de choix.

    Si vous avez besoin d’une étiquette et d’une valeur de choix différentes, utilisez un signe égal (=) pour séparer l’étiquette de la valeur. Par exemple, ['Blue=0000FF', 'Red=FF0000', 'Green=00FF00'] affiche le bleu, le rouge et le vert dans la liste et enregistre la valeur hexadécimale correspondante dans le champ de valeur de la propriété.

    roles Objet Identificateurs de variables des objets de rôle ou noms de rôles disposant d’un accès en lecture ou en écriture à la propriété. Pour plus d'informations, consultez API du rôle : ServiceNow Fluent.
    roles: {
       read: [activity_admin, 'app_user'],
       write: [admin]
    }
    ignoreCache Booléen Marqueur indiquant s’il faut purger le cache lorsque la valeur de la propriété est définie.

    Le système stocke les valeurs des propriétés système dans des caches côté serveur pour éviter d’interroger la base de données sur les paramètres de configuration. Lorsque vous modifiez une valeur de propriété système, le système vide le cache de la table Propriétés système [sys_properties]. Utilisez ce champ pour déterminer s’il faut purger la valeur de cette propriété de tous les autres caches côté serveur.

    Valeurs valides :
    • true : le système ignore la purge de certains caches côté serveur, ce qui permet de purger uniquement le cache de la table Propriétés système [sys_properties] et de conserver la valeur de propriété antérieure dans tous les autres caches. Cette option évite le coût des performances lié à la purge de tous les caches et à la récupération de nouvelles valeurs de propriété. En règle générale, vous ne devez définir cette propriété sur vrai que lorsque vous avez une propriété système qui change plus d’une fois par mois et que la valeur de la propriété est uniquement stockée dans la table Table Propriétés système [sys_properties].
    • false : le système purge tous les caches côté serveur et récupère la valeur de propriété actuelle à partir de la base de données. Définissez cette propriété sur faux pour que tous les caches aient la valeur de propriété actuelle.

    Valeur par défaut : false

    isPrivate Booléen Marqueur indiquant s’il faut exclure la propriété de l’importation via les ensembles de mises à jour.

    Garder les propriétés système privées permet d’éviter que les paramètres d’une instance ne remplacent les valeurs d’une autre instance. Par exemple, vous ne souhaitez peut-être pas qu’une propriété système d’une instance de développement utilise la même valeur qu’une instance de production.

    Valeurs valides :
    • true : la propriété n’est pas incluse dans les ensembles de mises à jour.
    • faux : la propriété est incluse dans les ensembles de mises à jour.

    Valeur par défaut : false

    import { Property } from '@servicenow/sdk/core'
    
    Property({
       $id: Now.ID['1234'],
       name: 'x_snc_app.some.new.prop',
       type: 'string',
       value: 'hello',
       description: 'A new property',
       roles: {
          read: ['admin'],
          write: [adminRole, managerRole],
       },
       ignoreCache: false,
       isPrivate: false,
    })
    Les rôles référencés sont définis à l’aide de l’objet Rôle :
    import { Role } from "@servicenow/sdk/core";
    
    const managerRole = Role({ 
       $id: Now.ID['manager_role'], 
       name: 'x_snc_example.manager' 
    })
    
    const adminRole = Role({ 
       $id: Now.ID['admin_role'], 
       name: 'x_snc_example.admin', 
       contains_roles: [managerRole] 
    })