API de configuration DevOps

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 12 minutes de lecture
  • L’API DevOps Config fournit des points de terminaison pour gérer vos applications.

    Cette API requiert l’application Configuration DevOps et est fournie dans l’espace de noms sn_devops_config .

    Pour les opérations DELETE, PATCH et POST, l’utilisateur appelant doit disposer du rôle sn_devops_config.admin. Pour les opérations GET, l’utilisateur appelant doit avoir le rôle sn_devops_config.viewer ou sn_devops_config.admin.

    Utilisez l’API DevOps Config pour la gestion du cycle de vie des applications. Pour plus d’informations sur la gestion des applications avec Configuration DevOps, consultez Configuration de DevOps.

    Configuration DevOps : SUPPRIMER /devops_config/application/{appid}

    Supprime une application.

    Format d'URL

    URL versionnée : /api/sn_devops_config/v1/devops_config/application/{appid}

    URL par défaut : /api/sn_devops_config/devops_config/application/{appid}

    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

    appid Sys_id de l’application à supprimer. Situé dans la table Application CDM [sn_cdm_application].

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    Néant
    Tableau 3. Paramètres de corps de demande (JSON)
    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. 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 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. ID d’application non valide.
    403 Interdit. L’utilisateur n’a pas l’autorisation d’accéder à l’API.

    Paramètres de corps de réponse (JSON)

    Nom Description
    erreur Informations relatives à l’erreur. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande.

    Type de données : objet

    "error": { 
       "message": "String", 
       "detail": "String" 
    }
    erreur.détail Détails supplémentaires sur les raisons de l’échec de la demande.

    Type de données : chaîne

    message d’erreur Message d’erreur indiquant le motif de l’échec de la demande.

    Type de données : chaîne

    résultat Objet de résultat contenant des informations sur la demande.

    Type de données : objet

    "result": { 
       "errors": [Array], 
       "success": [Array] 
    }
    erreur.résultats Tableau des erreurs de la demande. Le tableau est vide pour les demandes réussies.

    Type de données : tableau

    résultat.succès Message de réussite de la demande. Le tableau est vide pour les demandes ayant échoué.

    Type de données : tableau

    statut État de la demande. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande.

    Valeur possible : échec

    Type de données : chaîne

    Demande cURL

    Cet exemple supprime une application.

    curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \ 
    --request DELETE \ 
    --header "Accept:application/json" \ 
    --user 'username':'password' 

    Corps de la réponse.

    { 
      "result": { 
        "errors": [], 
        "success": [ 
          "CDM Application Demo Application 1234 has been deleted successfully." 
        ] 
      } 
    }

    Demande cURL

    Cet exemple montre une réponse d’erreur lorsqu’un utilisateur n’a pas l’autorisation d’accéder à l’API.

    curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \ 
    --request DELETE \ 
    --header "Accept:application/json" \ 
    --user 'username':'password' 

    Réponse d’erreur.

    { 
      "error": { 
        "message": "User Not Authorized", 
        "detail": "Failed API level ACL Validation" 
      }, 
      "status": "failure" 
    }

    Configuration DevOps : GET /devops_config/application/{appid}

    Récupère une application.

    Format d'URL

    URL versionnée : /api/sn_devops_config/v1/devops_config/application/{appid}

    URL par défaut : /api/sn_devops_config/devops_config/application/{appid}

    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

    appid Sys_id de l’application à récupérer. Situé dans la table Application CDM [sn_cdm_application].

    Type de données : chaîne

    Tableau 8. Paramètres de requête
    Nom Description
    Néant
    Tableau 9. Paramètres de corps de demande (JSON)
    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. 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 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. ID d’application non valide.
    403 Interdit. L’utilisateur n’a pas l’autorisation d’accéder à l’API.

    Paramètres de corps de réponse (JSON)

    Nom Description
    erreur Informations relatives à l’erreur. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande.

    Type de données : objet

    "error": { 
       "message": "String", 
       "detail": "String" 
    }
    erreur.détail Détails supplémentaires sur les raisons de l’échec de la demande.

    Type de données : chaîne

    message d’erreur Message d’erreur indiquant le motif de l’échec de la demande.

    Type de données : chaîne

    résultat Objet de résultat contenant des informations sur la demande.

    Type de données : objet

    "result": { 
      "data": {Object},
      "message": "String",
      "status": Number
    }
    résultat.données Données pour l’application.

    Type de données : objet

    "data": { 
      "appDescription": "String", 
      "appId": "String",
      "appManagedByGroups": [Array],
      "appManufacturerId": "String", 
      "appManufacturerName": "String", 
      "appModelId": "String", 
      "appModelName": "String", 
      "appModelOwnerId": "String", 
      "appModelOwnerName": "String", 
      "appName": "String", 
      "sdlcType": "String"
    }
    result.data.appDescription Description de l’application.

    Type de données : chaîne

    result.data.appId Sys_id de l’application. Situé dans la table Application CDM [sn_cdm_application].

    Type de données : chaîne

    résultat.données.appManagedByGroups Liste séparée par des virgules des sys_ids des groupes qui gèrent l’application. Situé dans la table Groupe [sys_user_group].

    Type de données : chaîne

    result.data.appManufacturerId Sys_id du fabricant. Situé dans la table Société [core_company].

    Type de données : chaîne

    result.data.appManufacturerName Nom du fabricant.

    Type de données : chaîne

    result.data.appModelId Sys_id du modèle d’application. Situé dans la table Modèle d’application [cmdb_application_product_model].

    Type de données : chaîne

    result.data.appModelName Nom du modèle d’application. Situé dans la table Modèle d’application [cmdb_application_product_model].

    Type de données : chaîne

    result.data.appModelOwnerId Sys_id du propriétaire du modèle d’application. Situé dans la table Utilisateur [sys_user].

    Type de données : chaîne

    result.data.appModelOwnerName Nom du propriétaire du modèle d’application.

    Type de données : chaîne

    result.data.appName Nom de l'application.

    Type de données : chaîne

    résultat.données.erreur Informations relatives à l’erreur. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande.

    Type de données : chaîne

    result.data.sdlcType Le type d’application.
    Valeurs possibles :
    • l'application
    • Infrastructure

    Type de données : chaîne

    résultat.message Informations sur l’aboutissement ou l’échec de la demande.

    Type de données : chaîne

    résultat.état Code d’état de la demande.
    Valeurs possibles :
    • 200
    • 400
    • 403

    Type de données : nombre

    statut État de la demande. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande.

    Valeur possible : échec

    Type de données : chaîne

    Demande cURL

    Cet exemple récupère une application.

    curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user 'username':'password' 

    Corps de la réponse.

    { 
      "result": { 
        "status": 200, 
        "message": "Success", 
        "data": { 
          "appName": "Demo Application 1234", 
          "appId": "38e17dc3473d111072566862736d43c7", 
          "appDescription": "Updated description of Demo Application created from REST API", 
          "sdlcType": "application", 
          "appModelId": "a4e13dc3473d111072566862736d4307", 
          "appModelName": "Demo Application 1234", 
          "appManufacturerId": "262702654725d950a34a3085d36d435e", 
          "appManufacturerName": "", 
          "appModelOwnerId": "6816f79cc0a8016401c5a33be04be441", 
          "appModelOwnerName": "System Administrator", 
          "appManagedByGroups": [] 
        } 
      } 
    }

    Demande cURL

    Cet exemple montre une réponse d’erreur lorsqu’un utilisateur fournit un ID d’application non valide.

    curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/18a17de3283d15107256686277777777" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user 'username':'password' 

    Réponse d’erreur.

    { 
      "result": { 
        "status": 400, 
        "message": "No valid Application", 
        "data": { 
          "error": "No valid Application" 
        } 
      } 
    }

    Configuration DevOps : PATCH /devops_config/application/{appid}

    Met à jour une application.

    Format d'URL

    URL versionnée : /api/sn_devops_config/v1/devops_config/application/{appid}

    URL par défaut : /api/sn_devops_config/devops_config/application/{appid}

    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

    appid Sys_id de l’application à mettre à jour. Situé dans la table Application CDM [sn_cdm_application].

    Type de données : chaîne

    Tableau 14. Paramètres de requête
    Nom Description
    Néant
    Tableau 15. Paramètres de corps de demande (JSON)
    Nom Description
    description de application Description de l’application.

    Type de données : chaîne

    appManagedByGroups Liste séparée par des virgules des sys_ids des groupes qui gèrent l’application. L’utilisateur appelant doit appartenir à ces groupes. Situé dans la table Groupe [sys_user_group].

    Type de données : chaîne

    "appManagedByGroups": "sys_id, sys_id" 
    ID fabricant d’applications Sys_id du fabricant. Situé dans la table Société [core_company].

    Type de données : chaîne

    ID du propriétaire appModel Sys_id du propriétaire du modèle d’application. Situé dans la table Utilisateur [sys_user].

    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 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. Prend uniquement en charge application/json.
    Content-Type Format de données du corps de la demande. 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 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 L’application a été mise à jour avec succès.
    403 Interdit. L’utilisateur n’a pas l’autorisation d’accéder à l’API.
    404 L’application n’a pas été mise à jour. La message propriété dans l’objet result contient des informations supplémentaires sur l’erreur.

    Paramètres de corps de réponse (JSON)

    Nom Description
    erreur Informations relatives à l’erreur. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande.

    Type de données : objet

    "error": { 
       "message": "String", 
       "detail": "String" 
    }
    message d’erreur Message d’erreur indiquant le motif de l’échec de la demande.

    Type de données : chaîne

    erreur.détail Détails supplémentaires sur les raisons de l’échec de la demande.

    Type de données : chaîne

    résultat Objet de résultat contenant des informations sur l’application.

    Type de données : objet

    "result": { 
       "message": "String", 
       "data": "String" 
    }
    résultat.message Informations sur l’aboutissement ou l’échec de la demande.

    Type de données : chaîne

    résultat.données Sys_id de l’application. Situé dans la table Application CDM [sn_cdm_application].

    Type de données : chaîne

    statut État de la demande. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande.

    Valeur possible : échec

    Type de données : chaîne

    Demande cURL

    Cet exemple met à jour une application existante.

    curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application/38e17dc3473d111072566862736d43c7" \ 
    --request PATCH \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{ 
      \"appDescription\": \"Updated description of Demo Application created from REST API\", 
      \"appManufacturerId\": \"262702654725d950a34a3085d36d435e\", 
      \"appModelOwnerId\": \"6816f79cc0a8016401c5a33be04be441\" 
    }" \ 
    --user 'username':'password' 

    Corps de la réponse.

    { 
      "result": { 
        "message": "Application with name Demo Application 1234 updated successfully.", 
        "data": "38e17dc3473d111072566862736d43c7" 
      } 
    }

    Configuration DevOps : POST /devops_config/application

    Crée une application.

    Format d'URL

    URL versionnée : /api/sn_devops_config/v1/devops_config/application

    URL par défaut : /api/sn_devops_config/devops_config/application

    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
    Néant
    Tableau 21. Paramètres de corps de demande (JSON)
    Nom Description
    description de application Description de l’application.

    Type de données : chaîne

    appManagedByGroups Liste séparée par des virgules des sys_ids des groupes qui gèrent l’application. L’utilisateur appelant doit appartenir à ces groupes. Situé dans la table Groupe [sys_user_group].

    Type de données : chaîne

    "appManagedByGroups": "sys_id, sys_id" 
    ID fabricant d’applications Sys_id du fabricant. Situé dans la table Société [core_company].

    Type de données : chaîne

    ID appModelId Sys_id d’un modèle d’application existant à utiliser pour créer l’application. Situé dans la table Modèle d’application [cmdb_application_product_model].

    Si ce paramètre est fourni, ne fournissez pas les appNameparamètres , appModelName, appServiceNameappServiceId, ou technicalServiceId .

    Type de données : chaîne

    appModelName (en anglais seulement) Nom d’un modèle d’application existant à utiliser pour créer l’application. Situé dans la table Modèle d’application [cmdb_application_product_model].

    Si ce paramètre est fourni, ne fournissez pas les appNameparamètres , appModelId, appServiceNameappServiceId, ou technicalServiceId .

    Type de données : chaîne

    ID du propriétaire appModel Sys_id du propriétaire du modèle d’application. Situé dans la table Utilisateur [sys_user].

    Type de données : chaîne

    appName Nom de l'application.

    N’utilisez pas le même nom qu’une application existante.

    Si ce paramètre est fourni, ne fournissez pas les appModelNameparamètres , appModelId, appServiceNameappServiceId, ou technicalServiceId .

    Type de données : chaîne

    appServiceId Sys_id d’un service d’application existant à utiliser pour créer l’application. Situé dans la table Service d’application [cmdb_ci_service_auto].

    Utilisez ce paramètre uniquement lorsque l’application ESTtype.

    Si ce paramètre est fourni, ne fournissez pas les appNameparamètres , appModelName, appModelIdappServiceName, ou technicalServiceId .

    Type de données : chaîne

    appServiceName Nom d’un service d’application existant à utiliser pour créer l’application. Situé dans la table Service d’application [cmdb_ci_service_auto].

    Utilisez ce paramètre uniquement lorsque l’application ESTtype.

    Si ce paramètre est fourni, ne fournissez pas les appNameparamètres , appModelName, appModelIdappServiceId, ou technicalServiceId .

    Type de données : chaîne

    ID de service technique Sys_id d’un groupe de CI dynamique existant à utiliser pour créer l’application. Situé dans la table Groupe de CI dynamique [cmdb_ci_query_based_service].

    Utilisez ce paramètre uniquement lorsque l’infrastructuretype est.

    Si ce paramètre est fourni, ne fournissez pas les appNameparamètres , appModelName, appModelId appServiceName, ou appServiceId .

    Type de données : chaîne

    type Requis. Type d’application à créer.
    Valeurs valides :
    • l'application
    • Infrastructure

    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 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 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 une 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
    201 L’application a été créée avec succès.
    403 Interdit. L’utilisateur n’a pas l’autorisation d’accéder à l’API.
    404 Application non créée. La message propriété dans l’objet result contient des informations supplémentaires sur l’erreur.

    Paramètres de corps de réponse (JSON)

    Nom Description
    erreur Informations relatives à l’erreur. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande.

    Type de données : objet

    "error": { 
       "message": "String", 
       "detail": "String" 
    }
    message d’erreur Message d’erreur indiquant le motif de l’échec de la demande.

    Type de données : chaîne

    erreur.détail Détails supplémentaires sur les raisons de l’échec de la demande.

    Type de données : chaîne

    résultat Objet de résultat contenant des informations sur l’application.

    Type de données : objet

    "result": { 
       "message": "String", 
       "data": "String" 
    }
    résultat.message Informations sur l’aboutissement ou l’échec de la demande.

    Type de données : chaîne

    résultat.données Sys_id de l’application. Situé dans la table Application CDM [sn_cdm_application].

    Type de données : chaîne

    statut État de la demande. Ce paramètre n’est renvoyé qu’en cas d’échec de la demande.

    Valeur possible : échec

    Type de données : chaîne

    Demande cURL

    Cet exemple crée une application.

    curl "https://instance.service-now.com/api/sn_devops_config/devops_config/application" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{ 
      \"type\": \"application\", 
      \"appName\": \"Demo Application 1234\", 
      \"appDescription\": \"Description of Demo Application created from REST API\", 
      \"appManufacturerId\": \"262702654725d950a34a3085d36d435e\", 
      \"appModelOwnerId\": \"6816f79cc0a8016401c5a33be04be441\" 
    }" \ 
    --user 'username':'password' 

    Corps de la réponse.

    { 
      "result": { 
        "message": "Application with name Demo Application 1234 created successfully.", 
        "data": "38e17dc3473d111072566862736d43c7" 
      } 
    }