---
sourceDocument: Gestion des services IT Australie
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/it-service-management

 Release :

    - australia

ft:locale :

    - fr-FR

ft:publication_title :

    - Gestion des services IT Australie

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Ajouter les résultats des tests aux demandes de changement à l'aide de l'API de test

# Ajouter les résultats des tests aux demandes de changement à l'aide de l'API de test {#ariaid-title1}

* Rversion finale: Australia
* 
* Mis à jour 12 mars 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 minutes de lecture

Ajoutez les résultats des tests aux demandes de changement DevOps à l'aide de l'aptitude de test de l'API DevOps - POST /devops/tool/{capability}. L'API est disponible pour tous les types de tests des différents outils connectés à Vélocité de changement DevOps.
Pour plus d'informations sur l'API, consultez [DevOps - POST /devops/tool/{capability}](https://www.servicenow.com/docs/access?context=devops-api&version=australia&pubname=australia-api-reference&section=devops-POST-tool&ft:locale=en-US). Pour utiliser l'API dans Azure DevOps, GitHub et Jenkins, vous devez utiliser le format mentionné dans les sections respectives ci-dessous.
Prérequis

Rôle requis : sn_devops.admin

Vous devez vous assurer que le type de test que vous souhaitez utiliser dans l'API est disponible en tant que type de test dans Vélocité de changement DevOps et qu'il est mappé sur l'outil d'orchestration correspondant.  
1. Accédez à la Espace de travail de changement DevOpsAdministrationIntégrationsTypes de test.

   Vous pouvez également utiliser la navigation d'interface utilisateur classique DevOpsIntégrationsTypes de test.
2. Vérifiez si le type de test est disponible dans la table Types de tests.

3. Pour les types de tests personnalisés, sélectionnez Nouveau et ajoutez le type de test à la liste.  
   1. Dans le champ Type de test, saisissez un nom pour votre type de test.
   2. Dans la liste Catégorie de test, sélectionnez la catégorie de votre type de test.
   3. Sélectionnez Enregistrer.
   {#test-api-tools__ol_cv3_m5v_kbc}
4. Accédez à la Espace de travail de changement DevOpsAdministrationIntégrationsMappages de type de test.

   Vous pouvez également utiliser la navigation d'interface utilisateur classique DevOpsIntégrationsMappages de type de test.
5. Vérifiez si le type de test est mappé sur votre outil d'orchestration.

6. Si le mappage n'est pas disponible, sélectionnez Nouveau et créez le mappage.  
   1. Dans la liste Type de test, sélectionnez le type de test que vous souhaitez mapper.
   2. Dans la liste Intégration d'outils, sélectionnez votre outil d'orchestration.
   3. Sélectionnez Enregistrer.
   {#test-api-tools__ol_vty_hvv_kbc}
{#test-api-tools__ol_drl_ksv_kbc}

## Azure DevOps {#test-api-tools__section_q33_xyk_kbc}

Pour les pipelines Azure DevOps, utilisez le format indiqué ici pour ajouter les résultats des tests aux demandes de changement pour différents types de tests.  
Format du suffixe et des paramètres de l'URL :

    /api/sn_devops/v1/devops/tool/test?toolId=<devops_ToolID>&testType=<test_type>

* Le paramètre toolId doit être un ID d'outil valide provenant d'un outil connecté et configuré dans Vélocité de changement DevOps.
* Le paramètre testType doit avoir un mappage de type de test dans Vélocité de changement DevOps.
{#test-api-tools__ul_yps_xxm_lbc}

Dans le Body, vous devez transmettre les paramètres en fonction du type de test.  
Remarque :  
Pour la connexion générique, utilisez ce qui suit :

* Nom d'utilisateur : devops.integration.user
* Mot de passe : \<devops.integration.mot de passe utilisateur\>
{#test-api-tools__ul_izs_yfg_mbc}

Configuration du pipeline pour les tests de performances  
Exemples de paramètres pour le corps :

    {
      "name": "Perf. tests DEMO5",
      "duration": 0,
      "maximumVirtualUsers": 10,
      "throughput": "5/min",
      "maximumTime": 10000,
      "minimumTime": 5000,
      "averageTime": 7000,
      "ninetyPercent": 8000,
      "standardDeviation": 2,
    "startTime": "2023-12-14T23:31:31z",
      "finishTime": "2023-12-14T23:40:32z",
      "buildNumber": $(Build.BuildNumber),
      "stageName": "Test API Job",
      "pipelineName": "TEST-CI-PIPELINE"
    }

Résumé des tests de performances dans votre instance Now :

Résumé du test joint à votre demande de changement DevOps :

Configuration du pipeline pour d'autres tests fonctionnels et unitaires  
Exemples de paramètres pour le corps :

    {
      "name":" Smoke Test summary",
       "duration":0.0,
       "passedTests":1,
       "failedTests":1,
       "skippedTests":1,
       "blockedTests":1,
       "totalTests":4,
      "startTime": "2023-12-14T23:31:31z",
      "finishTime": "2023-12-15T23:31:31z",
      "buildNumber": $(Build. BuildNumber),
     "stageName": "Test API Job",
      "pipelineName": "TEST-CI-PIPELINE"
    }

Résumé du test joint à votre demande de changement DevOps :

## Pipeline Azure DevOps YAML {#test-api-tools__section_qxh_x2l_kbc}

Exemple de pipeline :  

    stages:
      - stage: BashScript
        jobs:
          - job: 'bash'
            steps:
            - script: echo Hello, world!
              displayName: 'BashScript'

            
      - stage: TestAPI
        dependsOn: BashScript
        jobs:
          - job: 'RESTTestAPI'
            # dependsOn: BashScript
            pool: server
            steps:
            - task: InvokeRESTAPI@1
              displayName: 'Invoke REST API: POST'
              inputs:
                connectionType: 'connectedServiceName'
                serviceConnection: 'v01 - generic connection'
                method: 'POST'
                body: |
                  {
                                "name": "Performance test summary kl2",
                                "duration": 0,
                                "maximumVirtualUsers": 10,
                                "throughput": "5/min",
                                "maximumTime": 10000,
                                "minimumTime": 5000,
                                "averageTime": 7000,
                                "ninetyPercent": 8000,
                                "standardDeviation": 2,
                                "startTime": "2023-12-14T23:31:31z",
                                "finishTime": "2023-12-14T23:40:32z",
                                "buildNumber": $(Build.BuildId),
                                "stageName": "TestAPI/RestTestAPI",
                                "pipelineName": "TESTYMLPipeline"
                              }
                urlSuffix: '/api/sn_devops/v1/devops/tool/test?toolId=<devops_ToolID>&testType=<test_type>'
                waitForCompletion: 'false'

              
Pipeline de mise en production

## GitHub {#test-api-tools__section_agm_wyk_kbc}

Pour les pipelines GitHub, utilisez le format indiqué ici pour ajouter les résultats des tests aux demandes de changement pour différents types de tests.

Configuration du pipeline pour les tests de performances

Exemple de pipeline :  

    name: Test API Call Perf

    on: 
      workflow_dispatch:

    jobs:
      post_api_call_perf:
        runs-on: ubuntu-latest
        
        steps:
        - name: Checkout Repository
          uses: actions/checkout@v2

        - name: post_api_call_perf
          run: |
            apiUrl="https://<your_instance>.service-now.com/api/sn_devops/v1/devops/tool/test?toolId=<devops_ToolId>&testType=<performance_test_type>"
            requestBody='{"toolId": "<devops_ToolId>", "buildNumber": '${{ github.run_number }}' , "workflow": "Test API Call Perf", "repository": "<your_GitHub_repository>", "stageName":"post_api_call_perf","pipelineName":"Test API Call Perf", "testType": "Load", "buildNumber": '${{ github.run_number }}', "buildId": '${{ github.run_id }}' , "attemptNumber" : '${{ github.run_attempt }}', "name": "GitHub Test Summary - Performance 1.0","duration": 0.0,"maximumVirtualUsers": 10,"throughput": "5/min","maximumTime": 1000,"minimumTime": 5000,"averageTime": 7000,"startTime": "2023-12-14T23:31:31z","finishTime": "2023-12-14T23:31:31z","ninetyPercent": 8000, "standardDeviation": 2.0 }'
            auth="devops.integration.user:<password> in base64 encoded"
            authHeader="Basic $auth"
            response=$(curl -X POST -H "Content-Type: application/json" -H "Authorization: $authHeader" -d "$requestBody" $apiUrl)
            exitCode=$?
            
            if [ $exitCode -eq 0 ]; then
              echo "API call successful!"
              echo "Response: $response"
            else
              echo "API call failed!"
              echo "Response: $response"
              exit 1
            fi

Configuration du pipeline pour d'autres tests fonctionnels et unitaires  
Exemple de pipeline :

    name: Test API Call

    on: 
      workflow_dispatch:

    jobs:
      post_api_call:
        runs-on: ubuntu-latest
        
        steps:
        - name: Checkout Repository
          uses: actions/checkout@v2

        - name: post_api_call
          run: |
            apiUrl="https://<your_instance>.service-now.com/api/sn_devops/v1/devops/tool/test?toolId=<devops_ToolID>&testType=<test_type>"
            requestBody='{"toolId": "<devops_ToolID>", "buildNumber": '${{ github.run_number }}' , "workflow": "Test API Call", "repository": "<your_GitHub_repository>", "stageName":"post_api_call","pipelineName":"TestAPICall", "testType": "Smoke", "buildNumber": '${{ github.run_number }}', "buildId": '${{ github.run_id }}' , "attemptNumber" : '${{ github.run_attempt }}', "testSummaries": [{"name": "GitHub Test Summary - smoke","passedTests": 1,"failedTests": 1,"skippedTests": 1,"ignoredTests": 0,"blockedTests": 1,"totalTests": 4,"startTime": "2023-12-14T23:31:31z","endTime": "2023-12-14T23:31:31z","duration": 0.0,"testType": "Smoke", "suites": []}] }'
            auth="devops.integration.user:<password> in base64 encoded"
            
            authHeader="Basic $auth"
            response=$(curl -X POST -H "Content-Type: application/json" -H "Authorization: $authHeader" -d "$requestBody" $apiUrl)
            exitCode=$?
            
            if [ $exitCode -eq 0 ]; then
              echo "API call successful!"
              echo "Response: $response"
            else
              echo "API call failed!"
              echo "Response: $response"
              exit 1
            fi

## Jenkins {#test-api-tools__section_pfd_5yk_kbc}

Pour les pipelines Jenkins, utilisez le format indiqué ici pour ajouter les résultats des tests aux demandes de changement pour différents types de tests.

Configuration du pipeline pour les tests de performances  
Exemple de pipeline :

    pipeline {
        agent any
        stages {
            stage('POST API Call') {
                steps {
                    script {
                        def apiUrl = 'https://<your_instance>.service-now.com/api/sn_devops/v1/devops/tool/test?toolId=<devops_ToolID>&testType=<performance_test_type>'
                        def requestBody = [
                            name: "Performance Load tests jenkins",
                            duration: 0.0,
                            maximumVirtualUsers: 10,
                            throughput: "6/min",
                            maximumTime: 1000,
                            minimumTime: 300,
                            averageTime: 700,
                            ninetyPercent: 600,
                            standardDeviation: 2.0,
                            startTime: "2023-12-14T23:31:31z",
                            finishTime: "2023-12-14T23:40:32z",
                            buildNumber: env.BUILD_NUMBER,
                            stageName: "POST API Call",
                            pipelineName: "KLPerformanceTestPipeline"
                        ]
                        def auth = "<password>" // devops.integration.user:<password> in base64 encoded.
                        def authHeader = "Basic " + auth
                        def response = httpRequest(
                            contentType: 'APPLICATION_JSON',
                            httpMode: 'POST',
                            requestBody: groovy.json.JsonOutput.toJson(requestBody),
                            url: apiUrl,
                            customHeaders: [[name: 'Authorization', value: authHeader]]
                        )

                        if (response.status == 200 || response.status == 201) {
                            echo "API call successful!"
                            echo "Response: ${response.content}"
                        } else {
                            error "API call failed with status ${response.status}"
                        }
                    }
                }
            }
        }
    }

Configuration du pipeline pour d'autres tests fonctionnels et unitaires  
Exemple de pipeline :

    pipeline {
        agent any
        
        stages {
            stage('POST API Call') {
                steps {
                    script {
                        def apiUrl = 'https://<your_instance>.service-now.com/api/sn_devops/v1/devops/tool/test?toolId=<devops_ToolID>&testType=<test_type>'
                        def requestBody = [
                            name: "Smoke tests",
                            duration: 0.0,
                            passedTests: 1,
                            failedTests: 1,
                            skippedTests: 1,
                            blockedTests: 1,
                            totalTests: 4,
                            startTime: "2023-12-14T23:31:31z",
    	                    finishTime: "2023-12-15T23:31:31z",
                            buildNumber: env.BUILD_NUMBER,
                            stageName: "POST API Call",
                            pipelineName: "TestPipelineKL"
                        ]
                        
                        def auth = "<password>" // devops.integration.user:<password> in base64 encoded.
                        def authHeader = "Basic " + auth
                        
                        def response = httpRequest(
                            contentType: 'APPLICATION_JSON',
                            httpMode: 'POST',
                            requestBody: groovy.json.JsonOutput.toJson(requestBody),
                            url: apiUrl,
                            customHeaders: [[name: 'Authorization', value: authHeader]]
                        )
                        
                        if (response.status == 200 || response.status == 201) {
                            echo "API call successful!"
                            echo "Response: ${response.content}"
                        } else {
                            error "API call failed with status ${response.status}"
                        }
                    }
                }
            }
        }
    }

## Limitations de l'API de test {#test-api-tools__section_nym_dz4_kbc}

* La logique d'attente n'est pas prise en charge.
* Il est impossible de gérer les scénarios de réexécution.
{#test-api-tools__ul_g1r_2z4_kbc}

