CdmVersionApi

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 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 Configuration Data Management (CDM) pour les composants partagés sous des 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 aux composants et bibliothèques partagés associés et de les utiliser. Les exportateurs ne peuvent exécuter que sur les 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 :
    • Scripted REST CDM View ACL (sn_cdm.cdm.viewer)
    • ACL de l’éditeur CDM REST scripté (sn_cdm.cdm_editor)

    En outre, le module d’extension Configuration Data Management (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
    Format de données Requis. Format des données de configuration.
    Valeurs valides :
    • csv
    • Ini
    • JSON
    • Propriétés de
    • Cru
    • 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 :
    • true : déchiffre le mot de passe et affiche la valeur déchiffrée.
    • false : affiche 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 Application CDM [sn_cdm_application]. Le champ de type de l’application spécifiée doit être défini sur « shared_library ».

    Type de données : chaîne

    VariablesSubstitues Marqueur indiquant s’il faut suivre les variables. Pour plus d’informations sur le suivi des variables, voir Validation et correction des données de configuration.
    Valeurs valides :
    • true : suivez les variables.
    • false : ne pas suivre les variables.

    Valeur par défaut : true

    Tableau 3. Paramètres de corps de demande
    Nom Description
    Néant

    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 une 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 une 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 absent de 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 sur 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 d’erreur Message d’erreur généré lors de l’essai 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é sous 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 snapshots 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 liés au système.

    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 Application CDM [sn_cdm_application]. Le champ type de l’enregistrement associé doit être défini sur « shared_library ».

    Type de données : chaîne

    Tableau 9. Paramètres de corps de demande
    Nom Description
    Néant

    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 une 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 une 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.link 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.value Sys_id de l’enregistrement de l’application CDM associée. Situé dans la table Application CDM [sn_cdm_application].

    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.link 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.value Sys_id de l’enregistrement de l’élément 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.link 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.value Identificateur unique de l’enregistrement de l’ensemble de changements. Situé dans la table 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 sur 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 d’erreur Message d’erreur généré lors de l’essai 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 auxquelles l’instantané a été validé pour la dernière fois.

    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 explicite 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 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
    • É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é « Development » 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/unpublish

    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 snapshots 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 liés au système.

    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 Application CDM [sn_cdm_application]. Le champ type de l’enregistrement associé doit être défini sur « shared_library ».

    Type de données : chaîne

    Tableau 15. Paramètres de corps de demande
    Nom Description
    Néant

    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 une 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 une 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.link 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.value Sys_id de l’enregistrement de l’application CDM associée. Situé dans la table Application CDM [sn_cdm_application].

    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.link 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.value Sys_id de l’enregistrement de l’élément 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.link 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.value Identificateur unique de l’enregistrement de l’ensemble de changements. Situé dans la table 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 sur 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 d’erreur Message d’erreur généré lors de l’essai 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 auxquelles l’instantané a été validé pour la dernière fois.

    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 explicite 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 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
    • É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"
      }
    }