CdmEditorApi

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 36 minutes de lecture
  • CdmEditorApi fournit des points de terminaison qui vous permettent de créer des nœuds, de mettre à jour des nœuds, d’inclure des nœuds existants sous d’autres nœuds, de supprimer des nœuds et de récupérer des nœuds et des inclusions de nœuds.

    Vous devez avoir l’un des rôles suivants pour accéder à cette API :
    • Vue REST scriptée CDM ACL (sn_cdm.cdm.viewer)
    • ACL de l’éditeur CDM REST scripté (sn_cdm.cdm_editor)

    Pour afficher les champs qui ont été chiffrés, vous devez disposer du rôle CDM Secret.

    En outre, le module d’extension Gestion des données de configuration (CDM) doit être activé pour que cette API soit disponible dans une instance.

    Remarque :
    L’API CdmEditorApi ne peut pas être utilisée pour modifier des fichiers. Seule la suppression de fichiers est autorisée actuellement.

    CdmEditorApi : SUPPRIMER /sn_cdm/editor/nodes

    Supprime un nœud spécifié.

    L’appelant de ce point de terminaison doit avoir le rôle d’éditeur CDM.

    Format d'URL

    URL versionnée : /api/sn_cdm/{api_version}/editor/nodes

    URL par défaut : /api/sn_cdm/editor/nodes

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    changesetNumber Requis.
    Identificateur unique de l’ensemble de changements associé, tel que « Chset-10 ». Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    fullNamePath (en anglais seulement) Requis. Nom du chemin d’accès du nœud à supprimer.
    Vous pouvez transmettre le chemin d’accès au nom dans l’un des formats suivants. Par exemple, pour supprimer le nœud testApp/deployables/Development1/cdi1 suivant :
    • Format de barre oblique inverse : testApp/deployables/Development1/cdi1
      Remarque :
      Si le nom de votre nœud contient une barre oblique inverse (« / »), vous ne pouvez pas utiliser ce format.
    • Chemin d’accès au nom du back-end avec caractères de remplacement : testApp déployables Développement1 cdi1
    • Tableau : ['testApp','deployables','Development1','cdi1']

    Type de données : chaîne

    Tableau 3. Paramètres du corps de la demande
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Tableau 5. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 6. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    Aucun

    Demande cURL

    L’exemple de code suivant montre comment supprimer le nœud « cdi88 ».

    curl "http://instance.servicenow.com/api/sn_cdm/editor/nodes?changesetNumber=Chset783&fullNamePath=%2FtestApp%2Fdeployables%2FDevelopment-1%2Fcdi88" \
    --request DELETE \
    --header "Accept:application/json" \
    --user 'username':'password'

    Renvoyer le résultat :

    None - just the associated HTTP status code

    CdmEditorApi : GET /sn_cdm/editor/includes

    Renvoie la liste des nœuds qui ont été inclus dans un chemin d’accès de nœud spécifié.

    L’appelant de ce point de terminaison doit avoir le rôle de visionneur CDM.

    Format d'URL

    URL versionnée : /api/sn_cdm/{api_version}/editor/includes

    URL par défaut : /api/sn_cdm/editor/includes

    Paramètres de demande pris en charge

    Tableau 7. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 8. Paramètres de requête
    Nom Description
    Aucun
    Tableau 9. Paramètres du corps de la demande
    Nom Description
    changesetNumber
    Identificateur unique de l’ensemble de changements associé, tel que « Chset-10 ». Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    returnFields Liste des champs à renvoyer dans le cadre de la réponse. Transmettez les noms des colonnes d’enregistrement tels que sys_id, sys_updated_by ou état.

    Type de données : tableau

    Par défaut : tous les champs déterminés par le point de terminaison

    sourceFullNamePath Requis. Nom du chemin d’accès du nœud source pour lequel renvoyer les nœuds inclus.
    Vous pouvez transmettre le chemin d’accès au nom dans l’un des formats suivants. Par exemple, pour retourner les includes du nœud collectionA dans le répertoire testApp/collections :
    • Format de barre oblique inverse : testApp/collections/collectionA
      Remarque :
      Si le nom de votre nœud contient une barre oblique inverse (« / »), vous ne pouvez pas utiliser ce format.
    • Chemin d’accès du nom du back-end avec caractères de remplacement : collection de collections testApp
    • Tableau : ['testApp','collections','collectionA']

    Type de données : chaîne

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 10. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Tableau 11. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 12. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    changeset_id
    Identificateur unique de l’ensemble de changements associé, tel que « Chset-10 ». Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    conflit Marqueur qui indique s’il y a eu un conflit lors du traitement du nœud.
    Valeurs possibles :
    • true : conflit détecté.
    • false : aucun conflit n’a été détecté.

    Type de données : booléennes

    conflict_type Si le conflict paramètre est vrai, le type de conflit détecté. Nul si aucun conflit n’est détecté.
    Valeurs possibles :
    • corrupted_node
    • deleted_node
    • duplicated_node
    • incomplete_deleted_parent
    • incomplete_deleted_ref
    • incomplete_renamed_ref
    • invalid_include
    • orphaned_descendant
    • related_conflict
    • unlinked_include
    • unrenamed_include
    • updated_node

    Type de données : chaîne

    description Brève description du but du nœud.

    Type de données : chaîne

    effective_from Horodatage (converti en entier long) lorsque le nœud a été validé dans le cadre de l’ensemble de changements. Si le nœud n’a pas été validé, cette valeur est « null ».

    Type de données : entier

    effective_to Horodatage (converti en entier long) du nœud lorsqu’il a été supprimé ou remplacé par un autre nœud, sinon « null ».

    Type de données : entier

    erreur Si une erreur s’est produite pendant le traitement, les détails de l’erreur.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    error.detail Informations supplémentaires sur l’erreur.

    Type de données : chaîne

    message.erreur Message d’erreur qui a été généré lors de la tentative de traitement de la demande.

    Type de données : chaîne

    niveau Niveau du nœud, à partir du nœud racine, qui est toujours 0. Par exemple, le nœud /AppA/components/compA a deux niveaux.

    Type de données : chaîne

    linked_to Paramètre main_id du nœud référencé auquel ce nœud est lié.

    Si ce nœud n’est pas lié à un nœud de référence, la valeur est « null ».

    Type de données : chaîne

    main_id Identificateur primaire pour le nœud. Vous pouvez utiliser cette valeur dans l’include de script CdmQuery() pour récupérer une arborescence JSON. Par exemple : CdmQuery().mainId('123')/query().getTree() ;

    Type de données : chaîne

    main_id_encoded Représentation par chaîne RADIX 57 du paramètre du main_id nœud.

    Type de données : chaîne

    nom Nom du nœud qui a été inclus sous le chemin cible.

    Type de données : chaîne

    node_classifier Hiérarchie du classifieur du nœud. Utilisez ces informations pour localiser un nœud dans la hiérarchie des dossiers.

    Par exemple, un élément déployable aurait une hiérarchie de /application/deployables/env :Development

    Alors qu’une collection aurait une hiérarchie de /applications/collections

    Type de données : chaîne

    node_path Nom complet du chemin d’accès du nœud qui a été inclus dans le chemin cible, par exemple /Production/deployables/Development1/cdi1.

    Type de données : chaîne

    position Position du nœud.
    Par exemple : si vous chargez le tableau suivant :
    arrayNode1: [
      "literal1", 
      {"cdi1": 1},
      "literal3"
    ]
    Les valeurs de position sont définies comme suit :
    • arrayNode1.literal1 = 1000
    • arrayNode1.2000 = 2000
    • arrayNode1.literal3 = 3000
    Si un objet complexe est téléchargé sous un tableau, dans ce cas {"cdi1 » : 1}, le point de terminaison crée un nouveau nœud virtuel dont le nom est égal à sa position. Dans l’exemple ci-dessus, il s’agit de 2000. Pour les inclusions, la position est toujours vide.

    Type de données : chaîne

    previous_version Détails de la version précédente de l’enregistrement de nœud.
    Remarque :
    Si un nouveau nœud a été créé, le point de terminaison renvoie « previous_version » = null pour ce paramètre.

    Type de données : objet

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    restricted_to Détails du groupe ayant accès au nœud associé.

    Type de données : objet

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    secure_value Si cette valeur a été marquée pour être sécurisée, le champ chiffré (renvoyé masqué).

    Un utilisateur doit disposer du rôle sn_cdm.cdm_secrets pour déchiffrer ces informations. Vous pouvez demander au point de terminaison de ne pas renvoyer ces champs en définissant le champ du paramètre de returnFields requête.

    Type de données : chaîne

    statut État du nœud.
    Valeurs possibles :
    • SUPPRIMÉ
    • NOUVEAU
    • REMPLACÉE
    • ACTUALISÉ
    • VALABLE

    Type de données : chaîne

    sys_id Sys_id du nœud. Situé dans la table Nœud CDM [sn_cdm_node].

    Type de données : chaîne

    system_folder Marqueur indiquant si le nœud associé est un dossier système.
    Valeurs possibles :
    • true : le nœud est un dossier système.
    • false : Le nœud n’est pas un dossier système.

    Type de données : booléennes

    type
    Type de nœud.
    Valeurs possibles :
    • sn_cdm_node_cdi
    • sn_cdm_node_collection
    • sn_cdm_node_component
    • sn_cdm_node_folder
    • sn_cdm_node_variable

    Type de données : chaîne

    valide Valeur du nœud.

    Type de données : chaîne

    Demande cURL

    Cet exemple de code montre comment récupérer les includes dans le chemin source /testApp/collections/collA.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/includes?changesetNumber=Chset5&sourceFullNamePath=%2FtestApp%2Fcollections%2FcollA" \
    --request GET \
    --header "Accept:application/json" \
    --user 'username':'password'

    Renvoyer le résultat :

    { 
      "result": [ 
        { 
          "sys_id": "a1c517a953b70110a1d3ddeeff7b129b", 
          "type": "sn_cdm_node_deployable", 
          "main_id": "6", 
          "main_id_encoded": ",", 
          "node_path": "!$!+!,", 
          "level": 2, 
          "status": "valid", 
          "node_classifier": "/application/deployables/env:Development", 
          "position": null, 
          "restricted_to": null, 
          "changeset_id": "e9c517a953b70110a1d3ddeeff7b1299", 
          "previous_version": null, 
          "effective_from": "1654002206866", 
          "effective_to": null, 
          "name": "Development_1", 
          "description": null, 
          "value": null, 
          "secure_value": null, 
          "system_folder": "0", 
          "linked_to": null, 
          "conflict": "0", 
          "conflict_type": null 
        } 
      ] 
    }

    CdmEditorApi : GET /sn_cdm/editor/nodes

    Renvoie les détails d’un nœud spécifié ou d’une liste de nœuds enfants Gestion des données de configuration (CDM) pour un nœud parent spécifié.

    L’appelant de ce point de terminaison doit avoir le rôle de visionneur CDM.

    Format d'URL

    URL versionnée : /api/sn_cdm/{api_version}/editor/nodes

    URL par défaut : /api/sn_cdm/editor/nodes

    Paramètres de demande pris en charge

    Tableau 13. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 14. Paramètres de requête
    Nom Description
    changesetNumber
    Identificateur unique de l’ensemble de changements associé, tel que « Chset-10 ». Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    decryptPassword Marqueur indiquant si la valeur doit être chiffrée pour les nœuds terminaux.
    Valeurs valides :
    • true : chiffré
    • faux : non chiffré

    Type de données : booléennes

    Valeur par défaut : false

    nom Nom du nœud. Si vous transmettez ce paramètre, seuls les résultats du nœud spécifié sont renvoyés.

    Type de données : chaîne

    Par défaut : tous les nœuds du nœud parent

    parentFullNamePath Requis. Nom du chemin d’accès du nœud parent pour lequel renvoyer les nœuds enfants ou auquel réside le nœud spécifié dans le name paramètre.
    Vous pouvez transmettre le chemin d’accès au nom dans l’un des formats suivants. Par exemple, pour renvoyer les noeuds du noeud collectionA dans le répertoire testApp/collections :
    • Format de barre oblique inverse : testApp/collections/collectionA
      Remarque :
      Si le nom de votre nœud contient une barre oblique inverse (« / »), vous ne pouvez pas utiliser ce format.
    • Chemin d’accès du nom du back-end avec caractères de remplacement : collection de collections testApp
    • Tableau : ['testApp','collections','collectionA']

    Type de données : chaîne

    returnFields Liste des champs à renvoyer dans le cadre de la réponse. Transmettez les noms des colonnes d’enregistrement tels que sys_id, sys_updated_by ou état.

    Type de données : tableau

    Par défaut : tous les champs déterminés par le point de terminaison

    type
    Type de nœud.
    Valeurs possibles :
    • sn_cdm_node_cdi OU CDI
    • sn_cdm_node_collection collection OR
    • sn_cdm_node_component composant OU
    • sn_cdm_node_folder dossier OU
    • sn_cdm_node_variable variable OU

    Type de données : chaîne

    Par défaut : Tous

    Tableau 15. Paramètres du corps de la demande
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 16. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Tableau 17. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 18. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    changeset_id Détails de l’enregistrement de l’ensemble de changements associé au nœud.

    Type de données : objet

    "changeset_id": {
      "link": "String",
      "value": "String"
    }
    changeset_id.valeur Identificateur unique de l’enregistrement de l’ensemble de changements. Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    conflit Marqueur qui indique s’il y a eu un conflit lors du traitement du nœud.
    Valeurs possibles :
    • true : conflit détecté.
    • false : aucun conflit n’a été détecté.

    Type de données : booléennes

    conflict_type Si le conflict paramètre est vrai, le type de conflit détecté. Nul si aucun conflit n’est détecté.
    Valeurs possibles :
    • corrupted_node
    • deleted_node
    • duplicated_node
    • incomplete_deleted_parent
    • incomplete_deleted_ref
    • incomplete_renamed_ref
    • invalid_include
    • orphaned_descendant
    • related_conflict
    • unlinked_include
    • unrenamed_include
    • updated_node

    Type de données : chaîne

    description Brève description du but du nœud.

    Type de données : chaîne

    effective_from Horodatage (converti en entier long) lorsque le nœud a été validé dans le cadre de l’ensemble de changements. Si le nœud n’a pas été validé, cette valeur est « null ».

    Type de données : entier

    effective_to Horodatage (converti en entier long) du nœud lorsqu’il a été supprimé ou remplacé par un autre nœud, sinon « null ».

    Type de données : entier

    erreur Si une erreur s’est produite pendant le traitement, les détails de l’erreur.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    error.detail Informations supplémentaires sur l’erreur.

    Type de données : chaîne

    message.erreur Message d’erreur qui a été généré lors de la tentative de traitement de la demande.

    Type de données : chaîne

    niveau Niveau du nœud, à partir du nœud racine, qui est toujours 0. Par exemple, le nœud /AppA/components/compA a deux niveaux.

    Type de données : chaîne

    linked_to Paramètre main_id du nœud référencé auquel ce nœud est lié.

    Si ce nœud n’est pas lié à un nœud de référence, la valeur est « null ».

    Type de données : chaîne

    main_id Identificateur primaire pour le nœud. Vous pouvez utiliser cette valeur dans l’include de script CdmQuery() pour récupérer une arborescence JSON. Par exemple : CdmQuery().mainId('123')/query().getTree() ;

    Type de données : chaîne

    main_id_encoded Représentation par chaîne RADIX 57 du paramètre du main_id nœud.

    Type de données : chaîne

    nom Nom du nœud.

    Type de données : chaîne

    node_classifier Hiérarchie du classifieur du nœud. Utilisez ces informations pour localiser un nœud dans la hiérarchie des dossiers.

    Par exemple, un élément déployable aurait une hiérarchie de /application/deployables/env :Development

    Alors qu’une collection aurait une hiérarchie de /applications/collections

    Type de données : chaîne

    node_path Nom complet du chemin d’accès du nœud.

    Type de données : chaîne

    position Position du nœud.
    Par exemple : si vous chargez le tableau suivant :
    arrayNode1: [
      "literal1", 
      {"cdi1": 1},
      "literal3"
    ]
    Les valeurs de position sont définies comme suit :
    • arrayNode1.literal1 = 1000
    • arrayNode1.2000 = 2000
    • arrayNode1.literal3 = 3000
    Si un objet complexe est téléchargé sous un tableau, dans ce cas {"cdi1 » : 1}, le point de terminaison crée un nouveau nœud virtuel dont le nom est égal à sa position. Dans l’exemple ci-dessus, il s’agit de 2000. Pour les inclusions, la position est toujours vide.

    Type de données : chaîne

    previous_version Détails de la version précédente de l’enregistrement de nœud.
    Remarque :
    Si un nouveau nœud a été créé, le point de terminaison renvoie « previous_version » = null pour ce paramètre.

    Type de données : objet

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    previous_version.valeur Sys_id de l’enregistrement de nœud. Situé dans la table Nœud CDM [sn_cdm_node].

    Type de données : chaîne

    reason_for_conflict Explication détaillée du conflit.

    Type de données : chaîne

    restricted_to Détails du groupe ayant accès au nœud associé.

    Type de données : objet

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    restricted_to.valeur Sys_id de l’enregistrement du groupe. Situé dans la table Groupe CDM [sys_user_group].

    Type de données : chaîne

    secure_value Si cette valeur a été marquée pour être sécurisée, le champ chiffré (renvoyé masqué).

    Un utilisateur doit disposer du rôle sn_cdm.cdm_secrets pour déchiffrer ces informations. Vous pouvez demander au point de terminaison de ne pas renvoyer ces champs en définissant le champ du paramètre de returnFields requête.

    Type de données : chaîne

    statut État du nœud.
    Valeurs possibles :
    • SUPPRIMÉ
    • NOUVEAU
    • REMPLACÉE
    • ACTUALISÉ
    • VALABLE

    Type de données : chaîne

    system_folder Marqueur indiquant si le nœud associé est un dossier système.
    Valeurs possibles :
    • true : le nœud est un dossier système.
    • false : Le nœud n’est pas un dossier système.

    Type de données : booléennes

    sys_class_name Table dans laquelle réside le nœud.

    Type de données : chaîne

    sys_created_by Nom de l’utilisateur qui a créé le nœud.

    Type de données : chaîne

    sys_created_on Date et heure de création du nœud.

    Type de données : chaîne

    Format : aaaa-mm-jj hh :mm :ss

    sys_id Sys_id du nœud. Situé dans la table Nœud CDM [sn_cdm_node].

    Type de données : chaîne

    sys_updated_by Nom de l’utilisateur qui a mis à jour le nœud.

    Type de données : chaîne

    sys_updated_on Date et heure auxquelles le nœud a été mis à mis à jour.

    Type de données : chaîne

    Format : aaaa-mm-jj hh :mm :ss

    type
    Type de nœud.
    Valeurs possibles :
    • sn_cdm_node_cdi
    • sn_cdm_node_collection
    • sn_cdm_node_component
    • sn_cdm_node_folder
    • sn_cdm_node_variable

    Type de données : chaîne

    Par défaut : Tous

    valide Valeur du nœud.

    Type de données : chaîne

    Demande cURL

    Cet exemple de code montre comment récupérer les nœuds enfants de type sn_cdm_node_cdi sous le nœud parent /testApp/Fdeployables/Development_1 .

    curl "http://instance.servicenow.com/api/sn_cdm/editor/nodes?decryptPassword=true&name=cdi45&changesetNumber=Chset3&parentFullNamePath=%2FtestApp%2Fdeployables%2FDevelopment_1&type=sn_cdm_node_cdi" \
    --request GET \
    --header "Accept:application/json" \
    --user 'username':'password'

    Renvoyer le résultat :

    { 
      "result": [ 
        { 
          "changeset_id": { 
            "value": "d403648653b70110a1d3ddeeff7b12c5", 
            "link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5" 
          }, 
          "node_path": "!$!+!,![:", 
          "description": null, 
          "sys_updated_on": "2022-06-30 09:24:07", 
          "type": "sn_cdm_node_cdi", 
          "sys_class_name": "sn_cdm_node", 
          "sys_id": "c93c7c1753981110a1d3ddeeff7b12c7", 
          "sys_updated_by": "admin", 
          "previous_version": null, 
          "sys_created_on": "2022-06-30 08:53:13", 
          "value": "cdcdc", 
          "effective_from": null, 
          "linked_to": null, 
          "sys_created_by": "admin", 
          "restricted_to": null, 
          "level": "3", 
          "conflict_type": null, 
          "main_id": "2869", 
          "effective_to": null, 
          "secure_value": null, 
          "node_classifier": "/application/deployables/env:Development", 
          "main_id_encoded": "[:", 
          "name": "cdi45", 
          "position": null, 
          "reason_for_conflict": null, 
          "system_folder": false, 
          "status": "new", 
          "conflict": false 
        } 
      ] 
    }

    CdmEditorApi - POST /sn_cdm/editor/includes

    Inclut un nœud existant dans un autre nœud, tel qu’un nœud de composant dans un nœud de collection ou un nœud de collection dans un nœud déployable. Après avoir inclus un nœud, le nouveau nœud a ses propres sys_id et main_Id.

    L’appelant de ce point de terminaison doit avoir le rôle d’éditeur CDM.

    Format d'URL

    URL versionnée : /api/sn_cdm/{api_version}/editor/includes

    URL par défaut : /api/sn_cdm/editor/includes

    Paramètres de demande pris en charge

    Tableau 19. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 20. Paramètres de requête
    Nom Description
    changesetNumber Requis. Numéro unique de l’ensemble de changements ouvert à inclure dans le nœud cible. Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    returnFields Liste des champs à renvoyer dans le cadre de la réponse. Transmettez les noms des colonnes d’enregistrement tels que sys_id, sys_updated_by ou état.

    Type de données : tableau

    Par défaut : tous les champs déterminés par le point de terminaison

    sourceFullNamePath Requis. Nom du chemin d’accès du nœud à inclure dans le nœud cible.
    Vous pouvez transmettre le chemin d’accès au nom dans l’un des formats suivants. Par exemple, pour inclure le nœud suivant Staging/deployables/Development1/cdi1 :
    • Format de barre oblique inverse : Staging/deployables/Development1/cdi1
      Remarque :
      Si le nom de votre nœud contient une barre oblique inverse (« / »), vous ne pouvez pas utiliser ce format.
    • Chemin d’accès au nom du backend avec caractères de remplacement : Éléments déployables intermédiaires Development1 cdi1
    • Array : ['Étape','déployables','Développement1','cdi1']

    Type de données : chaîne

    targetFullNamePath Requis. Nom du chemin d’accès du nœud sous lequel le nœud source doit être inclus.
    Vous pouvez transmettre le chemin d’accès au nom dans l’un des formats suivants. Par exemple, pour inclure le nœud suivant Production/deployables/Development1 :
    • Format de barre oblique inverse : Production/déployables/Development1/cdi1
      Remarque :
      Si le nom de votre nœud contient une barre oblique inverse (« / »), vous ne pouvez pas utiliser ce format.
    • Chemin du nom du backend avec caractères de remplacement : Déployables de production Développement1 cdi1
    • Tableau : ['Production','déployables','Development1','cdi1']

    Type de données : chaîne

    Tableau 21. Paramètres du corps de la demande
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 22. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Content-Type Format de données du corps de la demande. Prend uniquement en charge application/json.
    Tableau 23. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 24. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    changeset_id
    Identificateur unique de l’ensemble de changements associé, tel que « Chset-10 ». Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    conflit Marqueur qui indique s’il y a eu un conflit lors du traitement du nœud.
    Valeurs possibles :
    • true : conflit détecté.
    • false : aucun conflit n’a été détecté.

    Type de données : booléennes

    conflict_type Si le conflict paramètre est vrai, le type de conflit détecté. Nul si aucun conflit n’est détecté.
    Valeurs possibles :
    • corrupted_node
    • deleted_node
    • duplicated_node
    • incomplete_deleted_parent
    • incomplete_deleted_ref
    • incomplete_renamed_ref
    • invalid_include
    • orphaned_descendant
    • related_conflict
    • unlinked_include
    • unrenamed_include
    • updated_node

    Type de données : chaîne

    description Brève description du but du nœud.

    Type de données : chaîne

    effective_from Horodatage (converti en entier long) lorsque le nœud a été validé dans le cadre de l’ensemble de changements. Si le nœud n’a pas été validé, cette valeur est « null ».

    Type de données : entier

    effective_to Horodatage (converti en entier long) du nœud lorsqu’il a été supprimé ou remplacé par un autre nœud, sinon « null ».

    Type de données : entier

    erreur Si une erreur s’est produite pendant le traitement, les détails de l’erreur.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    error.detail Informations supplémentaires sur l’erreur.

    Type de données : chaîne

    message.erreur Message d’erreur qui a été généré lors de la tentative de traitement de la demande.

    Type de données : chaîne

    niveau Niveau du nœud, à partir du nœud racine, qui est toujours 0. Par exemple, le nœud /AppA/components/compA a deux niveaux.

    Type de données : chaîne

    linked_to Paramètre main_id du nœud référencé auquel ce nœud est lié.

    Si ce nœud n’est pas lié à un nœud de référence, la valeur est « null ».

    Type de données : chaîne

    main_id Identificateur primaire pour le nœud. Vous pouvez utiliser cette valeur dans l’include de script CdmQuery() pour récupérer une arborescence JSON. Par exemple : CdmQuery().mainId('123')/query().getTree() ;

    Type de données : chaîne

    main_id_encoded Représentation par chaîne RADIX 57 du paramètre du main_id nœud.

    Type de données : chaîne

    nom Nom du nœud qui a été inclus sous le chemin cible.

    Type de données : chaîne

    node_classifier Hiérarchie du classifieur du nœud. Utilisez ces informations pour localiser un nœud dans la hiérarchie des dossiers.

    Par exemple, un élément déployable aurait une hiérarchie de /application/deployables/env :Development

    Alors qu’une collection aurait une hiérarchie de /applications/collections

    Type de données : chaîne

    node_path Nom complet du chemin d’accès du nœud qui a été inclus dans le chemin cible, par exemple /Production/deployables/Development1/cdi1.

    Type de données : chaîne

    position Position du nœud.
    Par exemple : si vous chargez le tableau suivant :
    arrayNode1: [
      "literal1", 
      {"cdi1": 1},
      "literal3"
    ]
    Les valeurs de position sont définies comme suit :
    • arrayNode1.literal1 = 1000
    • arrayNode1.2000 = 2000
    • arrayNode1.literal3 = 3000
    Si un objet complexe est téléchargé sous un tableau, dans ce cas {"cdi1 » : 1}, le point de terminaison crée un nouveau nœud virtuel dont le nom est égal à sa position. Dans l’exemple ci-dessus, il s’agit de 2000. Pour les inclusions, la position est toujours vide.

    Type de données : chaîne

    previous_version Détails de la version précédente de l’enregistrement de nœud.
    Remarque :
    Si un nouveau nœud a été créé, le point de terminaison renvoie « previous_version » = null pour ce paramètre.

    Type de données : objet

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    restricted_to Détails du groupe ayant accès au nœud associé.

    Type de données : objet

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    secure_value Si cette valeur a été marquée pour être sécurisée, le champ chiffré (renvoyé masqué).

    Un utilisateur doit disposer du rôle sn_cdm.cdm_secrets pour déchiffrer ces informations. Vous pouvez demander au point de terminaison de ne pas renvoyer ces champs en définissant le champ du paramètre de returnFields requête.

    Type de données : chaîne

    statut État du nœud.
    Valeurs possibles :
    • SUPPRIMÉ
    • NOUVEAU
    • REMPLACÉE
    • ACTUALISÉ
    • VALABLE

    Type de données : chaîne

    sys_id Sys_id du nœud. Situé dans la table Nœud CDM [sn_cdm_node].

    Type de données : chaîne

    system_folder Marqueur indiquant si le nœud associé est un dossier système.
    Valeurs possibles :
    • true : le nœud est un dossier système.
    • false : Le nœud n’est pas un dossier système.

    Type de données : booléennes

    type
    Type de nœud.
    Valeurs possibles :
    • sn_cdm_node_cdi
    • sn_cdm_node_collection
    • sn_cdm_node_component
    • sn_cdm_node_folder
    • sn_cdm_node_variable

    Type de données : chaîne

    valide Valeur du nœud.

    Type de données : chaîne

    Demande cURL

    L’exemple de code suivant montre comment inclure le nœud /testApp/collections/collA sous /testApp/deployables/Development_1.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/includes?changesetNumber=Chset5&targetFullNamePath=%2FtestApp%2Fdeployables%2FDevelopment_1&sourceFullNamePath=%2FtestApp%2Fcollecti
    ons%2FcollA" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'

    Renvoyer le résultat :

    { 
      "result": { 
        "changeset_id": { 
          "value": "d403648653b70110a1d3ddeeff7b12c5", 
          "link": "http://192.168.0.233:8080/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5" 
        }, 
        "node_path": "!$!+!,![?", 
        "description": null, 
        "sys_updated_on": "2022-06-30 09:19:47", 
        "type": "sn_cdm_node_linked", 
        "sys_class_name": "sn_cdm_node", 
        "sys_id": "1642015b53981110a1d3ddeeff7b1232", 
        "sys_updated_by": "admin", 
        "previous_version": null, 
        "sys_created_on": "2022-06-30 09:19:47", 
        "value": null, 
        "effective_from": null, 
        "linked_to": "2870", 
        "sys_created_by": "admin", 
        "restricted_to": null, 
        "level": "3", 
        "conflict_type": null, 
        "main_id": "2872", 
        "effective_to": null, 
        "secure_value": null, 
        "node_classifier": "/application/deployables/env:Development", 
        "main_id_encoded": "[?", 
        "name": "collA", 
        "position": null, 
        "reason_for_conflict": null, 
        "system_folder": false, 
        "status": "new", 
        "conflict": false 
      } 
    }

    CdmEditorApi : POST /sn_cdm/editor/nodes

    Crée un type spécifique de nœud, tel qu’un composant, une collection, un dossier, un élément de données de configuration (CDI) ou une variable.

    Vous pouvez également spécifier de générer automatiquement tous les nœuds parents qui ne sont pas actuellement définis.

    L’appelant de ce point de terminaison doit avoir soit le rôle Éditeur CDM, soit le rôle Secret CDM.

    Format d'URL

    URL versionnée : /api/sn_cdm/{api_version}/editor/nodes

    URL par défaut : /api/sn_cdm/editor/nodes

    Paramètres de demande pris en charge

    Tableau 25. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 26. Paramètres de requête
    Nom Description
    autoCreateParents Marqueur indiquant s’il faut créer automatiquement les parents inexistants dans le chemin d’accès du nom en tant que composants. Les exceptions à cette règle sont l’application, le déployable et la collection. Si vous ne définissez pas ce marqueur et que les parents n’existent pas déjà, le point de terminaison échoue.
    Valeurs valides :
    • true : crée automatiquement les parents inexistants.
    • false : ne pas créer automatiquement les parents inexistants.

    Type de données : booléennes

    Valeur par défaut : false

    changesetNumber Requis.
    Identificateur unique de l’ensemble de changements associé, tel que « Chset-10 ». Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    fullNamePath (en anglais seulement) Requis. Nom du chemin d’accès du nœud.
    Vous pouvez transmettre le chemin d’accès au nom dans l’un des formats suivants. Par exemple, pour définir le chemin d’accès du nom du nœud testApp/deployables/Development1/cdi1 :
    • Format de barre oblique inverse : testApp/deployables/Development1/cdi1
      Remarque :
      Si le nom de votre nœud contient une barre oblique inverse (« / »), vous ne pouvez pas utiliser ce format.
    • Chemin d’accès au nom du back-end avec caractères de remplacement : testApp déployables Développement1 cdi1
    • Tableau : ['testApp','deployables','Development1','cdi1']

    Type de données : chaîne

    returnFields Liste des champs à renvoyer dans le cadre de la réponse. Transmettez les noms des colonnes d’enregistrement tels que sys_id, sys_updated_by ou état.

    Type de données : tableau

    Par défaut : tous les champs déterminés par le point de terminaison

    sûr Marqueur indiquant si la valeur doit être chiffrée pour les nœuds terminaux.
    Valeurs valides :
    • true : chiffré
    • faux : non chiffré

    Type de données : booléennes

    Valeur par défaut : false

    type Requis. Type de nouveau nœud.
    Valeurs valides :
    • sn_cdm_node_collection collection OR
    • sn_cdm_node_component composant OU
    • sn_cdm_node_folder dossier OU
    • sn_cdm_node_cdi OU CDI
    • sn_cdm_node_variable ou variable

    Type de données : chaîne

    valide Valeur du nouveau nœud.

    Type de données : chaîne

    Par défaut : équivalent de « null »

    Tableau 27. Paramètres du corps de la demande
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 28. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Content-Type Format de données du corps de la demande. Prend uniquement en charge application/json.
    Tableau 29. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 30. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    changeset_id Détails de l’enregistrement de l’ensemble de changements associé au nœud.

    Type de données : objet

    "changeset_id": {
      "link": "String",
      "value": "String"
    }
    changeset_id.lien Syntaxe d’appel pour interroger cet enregistrement d’ensemble de changements à l’aide de l’API REST de table .

    Type de données : chaîne

    changeset_id.valeur Identificateur unique de l’enregistrement de l’ensemble de changements. Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    conflit Marqueur qui indique s’il y a eu un conflit lors du traitement du nœud.
    Valeurs possibles :
    • true : conflit détecté.
    • false : aucun conflit n’a été détecté.

    Type de données : booléennes

    conflict_type Si le conflict paramètre est vrai, le type de conflit détecté. Nul si aucun conflit n’est détecté.
    Valeurs possibles :
    • corrupted_node
    • deleted_node
    • duplicated_node
    • incomplete_deleted_parent
    • incomplete_deleted_ref
    • incomplete_renamed_ref
    • invalid_include
    • orphaned_descendant
    • related_conflict
    • unlinked_include
    • unrenamed_include
    • updated_node

    Type de données : chaîne

    description Brève description du but du nœud.

    Type de données : chaîne

    effective_from Horodatage (converti en entier long) lorsque le nœud a été validé dans le cadre de l’ensemble de changements. Si le nœud n’a pas été validé, cette valeur est « null ».

    Type de données : entier

    effective_to Horodatage (converti en entier long) du nœud lorsqu’il a été supprimé ou remplacé par un autre nœud, sinon « null ».

    Type de données : entier

    erreur Si une erreur s’est produite pendant le traitement, les détails de l’erreur.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    error.detail Informations supplémentaires sur l’erreur.

    Type de données : chaîne

    message.erreur Message d’erreur qui a été généré lors de la tentative de traitement de la demande.

    Type de données : chaîne

    niveau Niveau du nœud, à partir du nœud racine, qui est toujours 0. Par exemple, le nœud /AppA/components/compA a deux niveaux.

    Type de données : chaîne

    linked_to Paramètre main_id du nœud référencé auquel ce nœud est lié.

    Si ce nœud n’est pas lié à un nœud de référence, la valeur est « null ».

    Type de données : chaîne

    main_id Identificateur primaire pour le nœud. Vous pouvez utiliser cette valeur dans l’include de script CdmQuery() pour récupérer une arborescence JSON. Par exemple : CdmQuery().mainId('123')/query().getTree() ;

    Type de données : chaîne

    main_id_encoded Représentation par chaîne RADIX 57 du paramètre du main_id nœud.

    Type de données : chaîne

    nom Nom du nœud.

    Type de données : chaîne

    node_classifier Hiérarchie du classifieur du nœud. Utilisez ces informations pour localiser un nœud dans la hiérarchie des dossiers.

    Par exemple, un élément déployable aurait une hiérarchie de /application/deployables/env :Development

    Alors qu’une collection aurait une hiérarchie de /applications/collections

    Type de données : chaîne

    node_path Nom complet du chemin d’accès du nœud.

    Type de données : chaîne

    position Position du nœud.
    Par exemple : si vous chargez le tableau suivant :
    arrayNode1: [
      "literal1", 
      {"cdi1": 1},
      "literal3"
    ]
    Les valeurs de position sont définies comme suit :
    • arrayNode1.literal1 = 1000
    • arrayNode1.2000 = 2000
    • arrayNode1.literal3 = 3000
    Si un objet complexe est téléchargé sous un tableau, dans ce cas {"cdi1 » : 1}, le point de terminaison crée un nouveau nœud virtuel dont le nom est égal à sa position. Dans l’exemple ci-dessus, il s’agit de 2000. Pour les inclusions, la position est toujours vide.

    Type de données : chaîne

    previous_version Détails de la version précédente de l’enregistrement de nœud.
    Remarque :
    Si un nouveau nœud a été créé, le point de terminaison renvoie « previous_version » = null pour ce paramètre.

    Type de données : objet

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    previous_version.lien Syntaxe d’appel pour interroger cet enregistrement de nœud à l’aide de l’API REST Table .

    Type de données : chaîne

    previous_version.valeur Sys_id de l’enregistrement de nœud. Situé dans la table Nœud CDM [sn_cdm_node].

    Type de données : chaîne

    reason_for_conflict Explication détaillée du conflit.

    Type de données : chaîne

    restricted_to Détails du groupe ayant accès au nœud associé.

    Type de données : objet

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    restricted_to.lien Syntaxe d’appel pour interroger cet enregistrement de groupe à l’aide de l’API REST Table .

    Type de données : chaîne

    restricted_to.valeur Sys_id de l’enregistrement du groupe. Situé dans la table Groupe CDM [sys_user_group].

    Type de données : chaîne

    secure_value Si cette valeur a été marquée pour être sécurisée, le champ chiffré (renvoyé masqué).

    Un utilisateur doit disposer du rôle sn_cdm.cdm_secrets pour déchiffrer ces informations. Vous pouvez demander au point de terminaison de ne pas renvoyer ces champs en définissant le champ du paramètre de returnFields requête.

    Type de données : chaîne

    statut État du nœud.
    Valeurs possibles :
    • SUPPRIMÉ
    • NOUVEAU
    • REMPLACÉE
    • ACTUALISÉ
    • VALABLE

    Type de données : chaîne

    system_folder Marqueur indiquant si le nœud associé est un dossier système.
    Valeurs possibles :
    • true : le nœud est un dossier système.
    • false : Le nœud n’est pas un dossier système.

    Type de données : booléennes

    sys_class_name Table dans laquelle réside le nœud.

    Type de données : chaîne

    sys_created_by Nom de l’utilisateur qui a créé le nœud.

    Type de données : chaîne

    sys_created_on Date et heure de création du nœud.

    Type de données : chaîne

    Format : aaaa-mm-jj hh :mm :ss

    sys_id Sys_id du nœud. Situé dans la table Nœud CDM [sn_cdm_node].

    Type de données : chaîne

    sys_updated_by Nom de l’utilisateur qui a mis à jour le nœud.

    Type de données : chaîne

    sys_updated_on Date et heure auxquelles le nœud a été mis à mis à jour.

    Type de données : chaîne

    Format : aaaa-mm-jj hh :mm :ss

    type
    Type de nœud.
    Valeurs possibles :
    • sn_cdm_node_cdi
    • sn_cdm_node_collection
    • sn_cdm_node_component
    • sn_cdm_node_folder
    • sn_cdm_node_variable

    Type de données : chaîne

    Par défaut : Tous

    valide Valeur du nœud.

    Type de données : chaîne

    Demande cURL

    L’exemple de code suivant montre comment créer un nœud à l’aide de ce point de terminaison.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/nodes?fullNamePath=%2FtestApp%2Fdeployables%2FDevelopment1%2Fcdi1&secure=true&value=someVal&type=cdi&changesetNumber=Chset-760" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'

    Renvoyer le résultat :

    { 
      "result": { 
        "changeset_id": { 
          "value": "d403648653b70110a1d3ddeeff7b12c5", 
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5" 
        }, 
        "node_path": "!$!+!,![:", 
        "description": null, 
        "sys_updated_on": "2022-06-30 08:53:13", 
        "type": "sn_cdm_node_cdi", 
        "sys_class_name": "sn_cdm_node", 
        "sys_id": "c93c7c1753981110a1d3ddeeff7b12c7", 
        "sys_updated_by": "admin", 
        "previous_version": null, 
        "sys_created_on": "2022-06-30 08:53:13", 
        "value": null, 
        "effective_from": null, 
        "linked_to": null, 
        "sys_created_by": "admin", 
        "restricted_to": null, 
        "level": "3", 
        "conflict_type": null, 
        "main_id": "2869", 
        "effective_to": null, 
        "secure_value": "﷞﷟﷒113a0c6e53001110a1d3ddeeff7b121d﷬﷔1﷬﷭bAUA1wj-fxofbSrMyF-BAg==6qiho5f_9DhnuHT2Km5SLf0Ck4XNX_w=﷮﷯", 
        "node_classifier": "/application/deployables/env:Development", 
        "main_id_encoded": "[:", 
        "name": "cdi45", 
        "position": null, 
        "reason_for_conflict": null, 
        "system_folder": false, 
        "status": "new", 
        "conflict": false 
      } 
    }

    CdmEditorApi : PUT /sn_cdm/editor/nodes

    Met à jour le nom et/ou la valeur d’un nœud spécifié.

    L’appelant de ce point de terminaison doit avoir soit le rôle Éditeur CDM, soit le rôle Secret CDM.

    Format d'URL

    URL versionnée : /api/sn_cdm/{api_version}/editor/nodes

    URL par défaut : /api/sn_cdm/editor/nodes

    Paramètres de demande pris en charge

    Tableau 31. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 32. Paramètres de requête
    Nom Description
    changesetNumber Requis.
    Identificateur unique de l’ensemble de changements associé, tel que « Chset-10 ». Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    fullNamePath (en anglais seulement) Requis. Nom du chemin d’accès du nœud.
    Vous pouvez transmettre le chemin d’accès au nom dans l’un des formats suivants. Par exemple, pour définir le chemin d’accès du nom du nœud testApp/deployables/Development1/cdi1 :
    • Format de barre oblique inverse : testApp/deployables/Development1/cdi1
      Remarque :
      Si le nom de votre nœud contient une barre oblique inverse (« / »), vous ne pouvez pas utiliser ce format.
    • Chemin d’accès au nom du back-end avec caractères de remplacement : testApp déployables Développement1 cdi1
    • Tableau : ['testApp','deployables','Development1','cdi1']

    Type de données : chaîne

    nouveauNom Nouveau nom pour le nœud associé.

    Type de données : chaîne

    newValue Nouvelle valeur pour le nœud associé.

    Type de données : chaîne

    sûr Marqueur indiquant si la valeur doit être chiffrée pour les nœuds terminaux.
    Valeurs valides :
    • true : chiffré
    • faux : non chiffré

    Type de données : booléennes

    Valeur par défaut : false

    returnFields Liste des champs à renvoyer dans le cadre de la réponse. Transmettez les noms des colonnes d’enregistrement tels que sys_id, sys_updated_by ou état.

    Type de données : tableau

    Par défaut : tous les champs déterminés par le point de terminaison

    Tableau 33. Paramètres du corps de la demande
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 34. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Content-Type Format de données du corps de la demande. Prend uniquement en charge application/json.
    Tableau 35. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 36. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    changeset_id Détails de l’enregistrement de l’ensemble de changements associé au nœud.

    Type de données : objet

    "changeset_id": {
      "link": "String",
      "value": "String"
    }
    changeset_id.valeur Identificateur unique de l’enregistrement de l’ensemble de changements. Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    conflit Marqueur qui indique s’il y a eu un conflit lors du traitement du nœud.
    Valeurs possibles :
    • true : conflit détecté.
    • false : aucun conflit n’a été détecté.

    Type de données : booléennes

    conflict_type Si le conflict paramètre est vrai, le type de conflit détecté. Nul si aucun conflit n’est détecté.
    Valeurs possibles :
    • corrupted_node
    • deleted_node
    • duplicated_node
    • incomplete_deleted_parent
    • incomplete_deleted_ref
    • incomplete_renamed_ref
    • invalid_include
    • orphaned_descendant
    • related_conflict
    • unlinked_include
    • unrenamed_include
    • updated_node

    Type de données : chaîne

    description Brève description du but du nœud.

    Type de données : chaîne

    effective_from Horodatage (converti en entier long) lorsque le nœud a été validé dans le cadre de l’ensemble de changements. Si le nœud n’a pas été validé, cette valeur est « null ».

    Type de données : entier

    effective_to Horodatage (converti en entier long) du nœud lorsqu’il a été supprimé ou remplacé par un autre nœud, sinon « null ».

    Type de données : entier

    erreur Si une erreur s’est produite pendant le traitement, les détails de l’erreur.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    error.detail Informations supplémentaires sur l’erreur.

    Type de données : chaîne

    message.erreur Message d’erreur qui a été généré lors de la tentative de traitement de la demande.

    Type de données : chaîne

    niveau Niveau du nœud, à partir du nœud racine, qui est toujours 0. Par exemple, le nœud /AppA/components/compA a deux niveaux.

    Type de données : chaîne

    linked_to Paramètre main_id du nœud référencé auquel ce nœud est lié.

    Si ce nœud n’est pas lié à un nœud de référence, la valeur est « null ».

    Type de données : chaîne

    main_id Identificateur primaire pour le nœud. Vous pouvez utiliser cette valeur dans l’include de script CdmQuery() pour récupérer une arborescence JSON. Par exemple : CdmQuery().mainId('123')/query().getTree() ;

    Type de données : chaîne

    main_id_encoded Représentation par chaîne RADIX 57 du paramètre du main_id nœud.

    Type de données : chaîne

    nom Nom du nœud.

    Type de données : chaîne

    node_classifier Hiérarchie du classifieur du nœud. Utilisez ces informations pour localiser un nœud dans la hiérarchie des dossiers.

    Par exemple, un élément déployable aurait une hiérarchie de /application/deployables/env :Development

    Alors qu’une collection aurait une hiérarchie de /applications/collections

    Type de données : chaîne

    node_path Nom complet du chemin d’accès du nœud.

    Type de données : chaîne

    position Position du nœud.
    Par exemple : si vous chargez le tableau suivant :
    arrayNode1: [
      "literal1", 
      {"cdi1": 1},
      "literal3"
    ]
    Les valeurs de position sont définies comme suit :
    • arrayNode1.literal1 = 1000
    • arrayNode1.2000 = 2000
    • arrayNode1.literal3 = 3000
    Si un objet complexe est téléchargé sous un tableau, dans ce cas {"cdi1 » : 1}, le point de terminaison crée un nouveau nœud virtuel dont le nom est égal à sa position. Dans l’exemple ci-dessus, il s’agit de 2000. Pour les inclusions, la position est toujours vide.

    Type de données : chaîne

    previous_version Détails de la version précédente de l’enregistrement de nœud.
    Remarque :
    Si un nouveau nœud a été créé, le point de terminaison renvoie « previous_version » = null pour ce paramètre.

    Type de données : objet

    "previous_version": {
      "link": "String",
      "value": "String"
    }
    previous_version.valeur Sys_id de l’enregistrement de nœud. Situé dans la table Nœud CDM [sn_cdm_node].

    Type de données : chaîne

    reason_for_conflict Explication détaillée du conflit.

    Type de données : chaîne

    restricted_to Détails du groupe ayant accès au nœud associé.

    Type de données : objet

    "restricted_to": {
      "link": "String",
      "value": "String"
    }
    restricted_to.valeur Sys_id de l’enregistrement du groupe. Situé dans la table Groupe CDM [sys_user_group].

    Type de données : chaîne

    secure_value Si cette valeur a été marquée pour être sécurisée, le champ chiffré (renvoyé masqué).

    Un utilisateur doit disposer du rôle sn_cdm.cdm_secrets pour déchiffrer ces informations. Vous pouvez demander au point de terminaison de ne pas renvoyer ces champs en définissant le champ du paramètre de returnFields requête.

    Type de données : chaîne

    statut État du nœud.
    Valeurs possibles :
    • SUPPRIMÉ
    • NOUVEAU
    • REMPLACÉE
    • ACTUALISÉ
    • VALABLE

    Type de données : chaîne

    system_folder Marqueur indiquant si le nœud associé est un dossier système.
    Valeurs possibles :
    • true : le nœud est un dossier système.
    • false : Le nœud n’est pas un dossier système.

    Type de données : booléennes

    sys_class_name Table dans laquelle réside le nœud.

    Type de données : chaîne

    sys_created_by Nom de l’utilisateur qui a créé le nœud.

    Type de données : chaîne

    sys_created_on Date et heure de création du nœud.

    Type de données : chaîne

    Format : aaaa-mm-jj hh :mm :ss

    sys_id Sys_id du nœud. Situé dans la table Nœud CDM [sn_cdm_node].

    Type de données : chaîne

    sys_updated_by Nom de l’utilisateur qui a mis à jour le nœud.

    Type de données : chaîne

    sys_updated_on Date et heure auxquelles le nœud a été mis à mis à jour.

    Type de données : chaîne

    Format : aaaa-mm-jj hh :mm :ss

    type
    Type de nœud.
    Valeurs possibles :
    • sn_cdm_node_cdi
    • sn_cdm_node_collection
    • sn_cdm_node_component
    • sn_cdm_node_folder
    • sn_cdm_node_variable

    Type de données : chaîne

    Par défaut : Tous

    valide Valeur du nœud.

    Type de données : chaîne

    Demande cURL

    L’exemple de code suivant montre comment mettre à jour la valeur d’un nœud.

    curl "http://instance.servicenow.com/api/sn_cdm/editor/nodes?newValue=cdcdc&fullNamePath=%2FtestApp%2Fdeployables%2FDe
    velopment-1%2Fcdi45&changesetNumber=Chset-5" \
    --request PUT \
    --header "Accept:application/json" \
    --user 'username':'password'

    Renvoyer le résultat :

    { 
      "result": { 
        "changeset_id": { 
          "value": "d403648653b70110a1d3ddeeff7b12c5", 
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5" 
        }, 
        "node_path": "!$!+!,![:", 
        "description": null, 
        "sys_updated_on": "2022-06-30 08:53:13", 
        "type": "sn_cdm_node_cdi", 
        "sys_class_name": "sn_cdm_node", 
        "sys_id": "c93c7c1753981110a1d3ddeeff7b12c7", 
        "sys_updated_by": "admin", 
        "previous_version": null, 
        "sys_created_on": "2022-06-30 08:53:13", 
        "value": null, 
        "effective_from": null, 
        "linked_to": null, 
        "sys_created_by": "admin", 
        "restricted_to": null, 
        "level": "3", 
        "conflict_type": null, 
        "main_id": "2869", 
        "effective_to": null, 
        "secure_value": "﷞﷟﷒113a0c6e53001110a1d3ddeeff7b121d﷬﷔1﷬﷭bAUA1wj-fxofbSrMyF-BAg==6qiho5f_9DhnuHT2Km5SLf0Ck4XNX_w=﷮﷯", 
        "node_classifier": "/application/deployables/env:Development", 
        "main_id_encoded": "[:", 
        "name": "cdi45", 
        "position": null, 
        "reason_for_conflict": null, 
        "system_folder": false, 
        "status": "new", 
        "conflict": false 
      } 
    }