CdmVersionApi

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 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 Intégration et offre en continu (CICD) au pipeline d’accéder et d’utiliser les composants et bibliothèques partagés associés. 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 afin de réduire la confusion quant à la viabilité de l’instantané.

    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)

    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 pour 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

    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
    dataFormat (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

    decryptPassword 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 chiffrée du mot de passe.

    Valeur par défaut : false

    sharedComponentName Requis. Nom du composant partagé dont les données de configuration doivent être exportées. Situé dans la table Composant partagé CDM [sn_cdm_shared_component].

    Type de données : chaîne

    sharedLibraryName Requis. Nom de la bibliothèque partagée qui contient le composant dont vous souhaitez renvoyer les données de configuration. Situé dans la table [sn_cdm_application] de l’application CDM. L’application spécifiée doit avoir le champ type défini sur « shared_library ».

    Type de données : chaîne

    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 :
    • true : suivez les variables.
    • faux : ne pas suivre les variables.

    Valeur 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 dans le 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"
    }
    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

    statut État 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 :
    La signification des instantanés et des versions est 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

    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
    nom Requis. Nom de la version du composant partagé à publier. Situé dans la table Composant partagé CDM [sn_cdm_shared_component].

    Type de données : chaîne

    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èmes.

    sharedComponentName Requis. Nom du composant partagé à publier. Situé dans la table Composant partagé CDM [sn_cdm_shared_component].

    Type de données : chaîne

    sharedLibraryName Requis. Nom de la bibliothèque partagée dans laquelle réside le composant spécifié. Situé dans la table [sn_cdm_application] de l’application CDM. Le champ Type de l’enregistrement associé doit être défini sur « shared_library ».

    Type de données : chaîne

    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 d’application CDM associé. Situé dans la table [sn_cdm_application] de l’application CDM.

    Type de données : chaîne

    cdm_deployable_id Détails sur le 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 de déployable. Situé dans la table Déployable CDM [sn_cdm_deployable].

    Type de données : chaîne

    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. Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    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"
    }
    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

    last_published Date et heure de 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 :
    • true : l’instantané a été publié.
    • false : 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é. Situé dans la table Instantané CDM [sn_cdm_snapshot].

    Type de données : chaîne

    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 de dernière mise à jour de l’instantané.

    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
    • échoué
    • 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 :
    La signification des instantanés et des versions est 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

    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
    nom Requis. Nom de la version du composant partagé dont la publication doit être annulée. Situé dans la table Composant partagé CDM [sn_cdm_shared_component].

    Type de données : chaîne

    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èmes.

    sharedComponentName Requis. Nom du composant partagé dont la publication doit être annulée. Situé dans la table Composant partagé CDM [sn_cdm_shared_component].

    Type de données : chaîne

    sharedLibraryName Requis. Nom de la bibliothèque partagée dans laquelle réside le composant spécifié. Situé dans la table [sn_cdm_application] de l’application CDM. Le champ Type de l’enregistrement associé doit être défini sur « shared_library ».

    Type de données : chaîne

    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 d’application CDM associé. Situé dans la table [sn_cdm_application] de l’application CDM.

    Type de données : chaîne

    cdm_deployable_id Détails sur le 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 de déployable. Situé dans la table Déployable CDM [sn_cdm_deployable].

    Type de données : chaîne

    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. Situé dans la table de l’ensemble de changements CDM [sn_cdm_changeset].

    Type de données : chaîne

    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"
    }
    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

    last_published Date et heure de 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 :
    • true : l’instantané a été publié.
    • false : 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é. Situé dans la table Instantané CDM [sn_cdm_snapshot].

    Type de données : chaîne

    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 de dernière mise à jour de l’instantané.

    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
    • échoué
    • 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"
      }
    }