CdmVersionApi

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 12 minutes de lecture
  • CdmVersionApi fournit des points de terminaison qui vous permettent de publier, d’annuler la publication et d’exporter des versions (instantanés) dans Gestion des données de configuration (CDM) pour les composants partagés dans les bibliothèques partagées.

    Vous publiez un instantané afin qu’il puisse être exporté, ce qui permet au pipeline d’accéder Intégration et offre en continu (CICD) aux composants et bibliothèques partagés associés et de les utiliser. Les exportateurs ne peuvent exécuter que sur des instantanés publiés. Lorsque les instantanés ne sont plus nécessaires, vous pouvez annuler leur publication pour réduire la confusion quant à leur viabilité.

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

    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.

    Pour plus d’informations sur les instantanés, consultez Afficher les instantanés.

    CdmVersionApi : GET /sn_cdm/versions/export

    Renvoie les données de configuration d’un composant partagé spécifié au sein d’une bibliothèque partagée spécifiée pour une version publiée spécifiée.

    Le rôle d’éditeur CDM est requis pour accéder à ce point de terminaison.

    Format d'URL

    URL versionnée : /api/sn_cdm/{api_version}/versions/export

    URL par défaut : /api/sn_cdm/versions/export

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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
    Format de données Requis. Format des données de configuration.
    Valeurs valides :
    • csv
    • ini
    • JSON
    • Propriétés de
    • brut
    • xml
    • yaml

    Type de données : chaîne

    décryptMot de passe Marqueur indiquant s’il faut afficher les valeurs de mot de passe codées ou déchiffrées.
    Valeurs valides :
    • vrai : déchiffre le mot de passe et affiche la valeur déchiffrée.
    • faux : afficher la valeur du mot de passe chiffré.

    Valeur par défaut : false

    sharedComponentName Requis. Nom du composant partagé dont les données de configuration doivent être exportées.

    Type de données : chaîne

    Table : Composant partagé CDM [sn_cdm_shared_component]

    sharedLibraryName Requis. Nom de la bibliothèque partagée qui contient le composant dont vous souhaitez renvoyer les données de configuration. Le champ type de l’application spécifiée doit être défini sur « shared_library ».

    Type de données : chaîne

    Table : Application CDM [sn_cdm_application]

    Variables de substitution Marqueur indiquant s’il faut suivre les variables. Pour plus d’informations sur le suivi des variables, consultez Validation et correction des données de configuration.
    Valeurs valides :
    • vrai : suivez les variables.
    • faux : ne suivez pas les variables.

    Par défaut : true

    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.

    Types pris en charge :

    • application/json
    • application/xml
    • text/xml

    Valeur par défaut : 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. L’un des problèmes suivants peut s’être produit :
    • La bibliothèque partagée n’est pas active.
    • Le composant partagé n’est pas actif.
    • La version n’a pas été publiée.
    • Le paramètre est manquant dans l’appel.
    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
    résultat Données de configuration au format spécifié.
    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"
    }
    erreur.détail Informations supplémentaires sur l’erreur.

    Type de données : chaîne

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

    Type de données : chaîne

    état Statut de l’erreur de la demande.

    Valeurs possibles : échec

    Type de données : chaîne

    Demande cURL

    L’exemple de code suivant montre comment exporter les données de configuration du composant « jdk8 » sous la bibliothèque partagée « JavaLib ».

    curl "http://instance.servicenow.com/api/sn_cdm/shared_libraries/components/exports?sharedLibraryName=JavaLib&componentName=jdk8 
    --request POST \  
    --header "Accept:application/json" \   
    --user 'username':'password'

    Réponse :

    {  
    "result": {  
        "sharedComponentA": { "cdi": "val" } 
     }  
    } 

    CdmVersionApi : PUT /sn_cdm/versions/publish

    Publie une version d’un composant partagé dans une bibliothèque partagée spécifiée.

    Le rôle d’éditeur CDM est requis pour accéder à ce point de terminaison.

    Remarque :
    Instantanés et versions ont une signification synonyme pour cette implémentation.

    Format d'URL

    URL versionnée : /api/sn_cdm/{api_version}/versions/publish

    URL par défaut : /api/sn_cdm/versions/publish

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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
    nom Requis. Nom de la version du composant partagé à publier.

    Type de données : chaîne

    Table : Composant partagé CDM [sn_cdm_shared_component]

    returnFields Liste de champs séparés par des virgules dans la table Instantané CDM [sn_cdm_snapshot] à renvoyer dans le cadre de la réponse.

    Type de données : chaîne

    Par défaut : renvoie tous les champs non système.

    sharedComponentName Requis. Nom du composant partagé à publier.

    Type de données : chaîne

    Table : Composant partagé CDM [sn_cdm_shared_component]

    sharedLibraryName Requis. Nom de la bibliothèque partagée dans laquelle réside le composant spécifié. Le champ type dans l’enregistrement associé doit être défini sur « shared_library ».

    Type de données : chaîne

    Table : Application CDM [sn_cdm_application]

    Tableau 9. 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 10. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse.

    Types pris en charge :

    • application/json
    • application/xml
    • text/xml

    Valeur par défaut : 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. Une erreur s’est produite lors de la publication.
    Problèmes possibles :
    • Nom de version introuvable.
    • La version du composant est déjà publiée.
    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
    cdm_application_id Détails sur l’application CDM associée à l’instantané.

    Type de données : objet

    "cdm_application_id": {
      "link": "String",
      "value": "String"
    }
    cdm_application_id.lien Appel à utiliser pour accéder à l’enregistrement de l’application CDM à l’aide de l’API de table REST.

    Type de données : chaîne

    cdm_application_id.valeur Sys_id de l’enregistrement de l’application CDM associée.

    Type de données : chaîne

    Table : Application CDM [sn_cdm_application]

    cdm_deployable_id Détails sur l’élément déployable CDM associé à l’instantané.

    Type de données : objet

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

    Type de données : chaîne

    cdm_deployable_id.valeur Sys_id de l’enregistrement déployable.

    Type de données : chaîne

    Table : déployable CDM [sn_cdm_deployable]

    changeset_id Détails sur l’ensemble de changements associé à l’instantané.

    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.

    Type de données : chaîne

    Table : ensemble de changements CDM [sn_cdm_changeset]

    description Brève description de l’instantané.

    Type de données : chaîne

    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"
    }
    erreur.détail Informations supplémentaires sur l’erreur.

    Type de données : chaîne

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

    Type de données : chaîne

    last_published Date et heure de la dernière publication de l’instantané.

    Type de données : chaîne

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

    last_validated Date et heure de la dernière validation de l’instantané.

    Type de données : chaîne

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

    nom Nom de l'instantané.

    Type de données : chaîne

    Numéro Numéro unique qui identifie l’instantané. Cette valeur fournit un identificateur lisible par l’homme pour le mappage.

    Type de données : chaîne

    publié Marqueur indiquant si l’instantané a été publié.
    Valeurs possibles :
    • vrai : l’instantané a été publié.
    • faux : l’instantané n’a pas été publié.

    Type de données : booléennes

    sys_created_by Nom de l’utilisateur qui a créé l’instantané.

    Type de données : chaîne

    sys_created_on Date et heure de création de l’instantané.

    Type de données : chaîne

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

    sys_id Sys_id de l’instantané.

    Type de données : chaîne

    Table : Instantané CDM [sn_cdm_snapshot]

    sys_updated_by Nom de l’utilisateur qui a mis à jour l’instantané.

    Type de données : chaîne

    sys_updated_on Date et heure auxquelles l’instantané a été mis à jour pour la dernière fois.

    Type de données : chaîne

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

    validation État de validation actuel de l’instantané.
    Valeurs possibles :
    • execution_error
    • échec
    • in_progress
    • not_validated
    • Passé
    • passed_with_exception
    • Demandé

    Type de données : chaîne

    Demande cURL

    Cet exemple de code montre comment publier le composant partagé « Développement » avec le nom de version « Development-v1.shc ».

    curl "http://instance.servicenow.com/api/sn_cdm/versions/publish?sharedLibraryName=LibraryJdk&componentName=Development&name=Development-v1.shc" \  
    --request PUT\  
    --header "Accept:application/json" \  
    --user 'username':'password

    Réponse :

    {
      "result": {
        "changeset_id": {
          "value": "1a2bd15c7764a1109ac0cf0bbb5a99fc",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_changeset/1a2bd15c7764a1109ac0cf0bbb5a99fc"
        },
        "cdm_deployable_id": null,
        "cdm_shared_component_node_id": {
          "value": "fe2b155c7764a1109ac0cf0bbb5a995d",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_node/fe2b155c7764a1109ac0cf0bbb5a995d"
        },
        "cdm_shared_component_id": {
          "value": "362b155c7764a1109ac0cf0bbb5a9970",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_shared_component/362b155c7764a1109ac0cf0bbb5a9970"
        },
        "description": null,
        "cdm_application_id": {
          "value": "122bd15c7764a1109ac0cf0bbb5a99fa",
          "link": "http://instance.servicenow.com/api/now/table/sn_cdm_application/122bd15c7764a1109ac0cf0bbb5a99fa"
        },
        "published": true,
        "sys_updated_on": "2023-01-18 14:15:44",
        "last_published": "2023-01-18 09:53:37",
        "sequence_number": "1",
        "number": "SNAP0001110",
        "sys_id": "df2b155c7764a1109ac0cf0bbb5a9949",
        "sys_updated_by": "admin",
        "sys_created_on": "2023-01-18 09:53:36",
        "name": "logonService-V2.1-v1.shc",
        "last_validated": "",
        "validation": "passed",
        "sys_created_by": "admin"
      }
    }

    CdmVersionApi : PUT /sn_cdm/versions/annuler la publication

    Annule la publication d’une version d’un composant partagé dans une bibliothèque partagée spécifiée.

    Le rôle d’éditeur CDM est requis pour accéder à ce point de terminaison.

    Remarque :
    Instantanés et versions ont une signification synonyme pour cette implémentation.

    Format d'URL

    URL versionnée : /api/sn_cdm/{api_version}/versions/publish

    URL par défaut : /api/sn_cdm/versions/publish

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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
    nom Requis. Nom de la version du composant partagé dont la publication doit être annulée.

    Type de données : chaîne

    Table : Composant partagé CDM [sn_cdm_shared_component]

    returnFields Liste de champs séparés par des virgules dans la table Instantané CDM [sn_cdm_snapshot] à renvoyer dans le cadre de la réponse.

    Type de données : chaîne

    Par défaut : renvoie tous les champs non système.

    sharedComponentName Requis. Nom du composant partagé dont la publication doit être annulée.

    Type de données : chaîne

    Table : Composant partagé CDM [sn_cdm_shared_component]

    sharedLibraryName Requis. Nom de la bibliothèque partagée dans laquelle réside le composant spécifié. Le champ type dans l’enregistrement associé doit être défini sur « shared_library ».

    Type de données : chaîne

    Table : Application CDM [sn_cdm_application]

    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.

    Types pris en charge :

    • application/json
    • application/xml
    • text/xml

    Valeur par défaut : 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. Une erreur s’est produite lors de l’annulation de la publication.
    Problèmes possibles :
    • Nom de version introuvable.
    • La version du composant est déjà publiée.
    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
    cdm_application_id Détails sur l’application CDM associée à l’instantané.

    Type de données : objet

    "cdm_application_id": {
      "link": "String",
      "value": "String"
    }
    cdm_application_id.lien Appel à utiliser pour accéder à l’enregistrement de l’application CDM à l’aide de l’API de table REST.

    Type de données : chaîne

    cdm_application_id.valeur Sys_id de l’enregistrement de l’application CDM associée.

    Type de données : chaîne

    Table : Application CDM [sn_cdm_application]

    cdm_deployable_id Détails sur l’élément déployable CDM associé à l’instantané.

    Type de données : objet

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

    Type de données : chaîne

    cdm_deployable_id.valeur Sys_id de l’enregistrement déployable.

    Type de données : chaîne

    Table : déployable CDM [sn_cdm_deployable]

    changeset_id Détails sur l’ensemble de changements associé à l’instantané.

    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.

    Type de données : chaîne

    Table : ensemble de changements CDM [sn_cdm_changeset]

    description Brève description de l’instantané.

    Type de données : chaîne

    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"
    }
    erreur.détail Informations supplémentaires sur l’erreur.

    Type de données : chaîne

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

    Type de données : chaîne

    last_published Date et heure de la dernière publication de l’instantané.

    Type de données : chaîne

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

    last_validated Date et heure de la dernière validation de l’instantané.

    Type de données : chaîne

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

    nom Nom de l'instantané.

    Type de données : chaîne

    Numéro Numéro unique qui identifie l’instantané. Cette valeur fournit un identificateur lisible par l’homme pour le mappage.

    Type de données : chaîne

    publié Marqueur indiquant si l’instantané a été publié.
    Valeurs possibles :
    • vrai : l’instantané a été publié.
    • faux : l’instantané n’a pas été publié.

    Type de données : booléennes

    sys_created_by Nom de l’utilisateur qui a créé l’instantané.

    Type de données : chaîne

    sys_created_on Date et heure de création de l’instantané.

    Type de données : chaîne

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

    sys_id Sys_id de l’instantané.

    Type de données : chaîne

    Table : Instantané CDM [sn_cdm_snapshot]

    sys_updated_by Nom de l’utilisateur qui a mis à jour l’instantané.

    Type de données : chaîne

    sys_updated_on Date et heure auxquelles l’instantané a été mis à jour pour la dernière fois.

    Type de données : chaîne

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

    validation État de validation actuel de l’instantané.
    Valeurs possibles :
    • execution_error
    • échec
    • in_progress
    • not_validated
    • Passé
    • passed_with_exception
    • Demandé

    Type de données : chaîne

    Demande cURL

    L’exemple de code suivant montre comment annuler la publication du composant partagé « paymentService-V1 » à partir de la bibliothèque partagée « OracleG-Library-10 ».

    curl "https://instance-name.service-now.com/api/sn_cdm/versions/unpublish?sharedLibraryName=OracleG-Library-10&sharedComponentName=paymentService-V1.1&name=paymentService-V1.1-v1.shc" \ 
    --request PUT \ 
    --header "Accept:application/json" \ 
    --user 'username':'password'

    Réponse :

    {
      "result": {
        "changeset_id": {
          "value": "1a2bd15c7764a1109ac0cf0bbb5a99fc",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_changeset/1a2bd15c7764a1109ac0cf0bbb5a99fc"
        },
        "cdm_deployable_id": null,
        "cdm_shared_component_node_id": {
          "value": "fe2b155c7764a1109ac0cf0bbb5a995d",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_node/fe2b155c7764a1109ac0cf0bbb5a995d"
        },
        "cdm_shared_component_id": {
          "value": "362b155c7764a1109ac0cf0bbb5a9970",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_shared_component/362b155c7764a1109ac0cf0bbb5a9970"
        },
        "description": null,
        "cdm_application_id": {
          "value": "122bd15c7764a1109ac0cf0bbb5a99fa",
          "link": "http://192.168.0.129:8080/api/now/table/sn_cdm_application/122bd15c7764a1109ac0cf0bbb5a99fa"
        },
        "published": false,
        "sys_updated_on": "2023-01-18 14:15:44",
        "last_published": "2023-01-18 09:53:37",
        "sequence_number": "1",
        "number": "SNAP0001110",
        "sys_id": "df2b155c7764a1109ac0cf0bbb5a9949",
        "sys_updated_by": "admin",
        "sys_created_on": "2023-01-18 09:53:36",
        "name": "logonService-V2.1-v1.shc",
        "last_validated": "",
        "validation": "passed",
        "sys_created_by": "admin"
      }
    }