---
sourceDocument: Australia IT Service Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/it-service-management

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia IT Service Management

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# DevOps test tool integration

# DevOps test tool integration {#ariaid-title1}

Release version: Australia  
Updated March 12, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 minutes to read  
Test tool integration lets you view test results in DevOps for Jenkins, Azure DevOps, GitHub, GitHub Enterprise, and GitLab unit, functional, and performance tests.

For GitLab and Jenkins, only JUnit test type integration is supported.  
Note:  
For other test types, use the [DevOps - POST /devops/tool/{capability}](https://www.servicenow.com/docs/access?context=devops-api&version=australia&pubname=australia-api-reference&ft:locale=en-US) endpoint of the [DevOps API](https://www.servicenow.com/docs/access?context=devops-api&version=australia&pubname=australia-api-reference&ft:locale=en-US).  
* Selenium tests run and published using TestNG are reported by the Jenkins plugin for ServiceNow DevOps.
* Test type categorization is supported.
* Additional tests results reported by tools, such as Apache JMeter, can be processed in DevOps using custom Workflow Studio subflows (no pipeline changes required).
{#dev-ops-test-tool-integration__ul_bkq_dq5_pnb}  
{#dev-ops-test-tool-integration__table_xxq_lcx_pnb__entry__2}

| Category | Test type |
|-|-|
| Unit | JUnit (default) NUnit XUnit Unit test Note: * For GitLab and Jenkins, only the JUnit test type integration is supported. * For ADO, GitHub, and GitHub Enterprise, the JUnit, NUnit, XUnit, and Unit test type integrations are supported. {#dev-ops-test-tool-integration__ul_cyb_gdj_b1c} You can change the default test type by modifying the \[sn_devops.default_test_type\] [DevOps property](https://servicenow-prod.fluidtopics.net/Cy67V7Lf9sOXU2beB3VARQ "Use these properties to configure settings in the DevOps Change Velocity application."). |
| Functional | * Integration * Regression * Smoke * System * User Acceptance {#dev-ops-test-tool-integration__ul_nnl_mcx_pnb} |
| Performance | Load |
[ ]

{#dev-ops-test-tool-integration__table_xxq_lcx_pnb}

## Test type mapping {#dev-ops-test-tool-integration__section_opj_n5l_vlb}

The test type mapping connects the test type and entity being tested with the DevOps tool (DevOpsIntegrationsTest Type Mappings module.)

An accurate test type mapping ensures that the test type always appears as intended in the test summary results.  
{#dev-ops-test-tool-integration__table_j2s_nkv_pnb__entry__2}

| Field || Description |
|-|-|-|
| Test type || * JUnit * Nunit * Xunit * Unit test Note: * For GitLab and Jenkins, only the JUnit test type integration is supported. * For ADO, GitHub, and GitHub Enterprise, the JUnit, NUnit, XUnit, and Unit test type integrations are supported. {#dev-ops-test-tool-integration__ul_t3v_ndj_b1c} * Integration * Regression * Smoke * System * User Acceptance * Load {#dev-ops-test-tool-integration__ul_jyw_xkv_pnb} |
| DevOps Entity Id | Table name | DevOps table name that contains the entity linked to the test results (in the test report payload). * Step \[sn_devops_step\] * Pipeline \[sn_devops_pipeline\] {#dev-ops-test-tool-integration__ul_sy5_4mv_pnb} Note: Only DevOps Step and Pipeline tables are supported. |
| DevOps Entity Id | Document | Name of the entity specified in the selected table. For example, the name of the step, pipeline, artifact, or package. |
| Test File Paths (Jenkins tests only) || Path to the generated test result file on the Jenkins server. This is useful so test reports with attributes that don't conform to JUnit or TestNG implementation, such as JMeter for example, can still be leveraged by DevOps. Separate multiple files by a comma. Note: You must use a Workflow Studio subflow to transform a raw test payload. |
| Tool integration || Tool that's running the test. |
| DevOps Table || DevOps table that corresponds to the table name in the DevOps Entity Id setting. |
[ ]

{#dev-ops-test-tool-integration__table_j2s_nkv_pnb}  
Figure 1. DevOps test type mapping  
Figure 2. Example yaml file of ADO unit test Figure 3. Example yaml file of GitHub unit test

## Transforming a raw test payload {#dev-ops-test-tool-integration__section_evb_tzv_pnb}

You can transform a raw test report (a report containing attributes that do not conform to JUnit or TestNG implementation), such as JMeter for example, by configuring the DevOps Test Subflow Policy decision table to call a custom subflow (Decision TablesDecision Tables module).  
Note:  
You must create the custom Workflow Studio subflow that transforms the raw test payload.

If there is more than one test type in a performance stage, you can use the DevOps Test Type Policy decision table to configure the test type for each test so the test result payloads are transformed
correctly.  
Figure 4. DevOps decision tables  
{#dev-ops-test-tool-integration__table_c54_kcw_pnb__entry__3}

| Decision table | Purpose | Configuration |
|-|-|-|
| DevOps Test Subflow Policy | To automatically call a custom subflow that transforms the raw payload received by the tool. Decision inputs: * Test Result Payload * Test Type {#dev-ops-test-tool-integration__ul_wxg_2dw_pnb} | Create a decision that specifies the custom subflow to call when the raw payload is received. Set the conditions to contain fields that would be included in the raw payload. For example, to call Jenkins BZ Performance Test custom subflow: Conditions: * <kbd class="ph userinput">Test Type is Load</kbd> (Load is the test type configured for performance tests) * <kbd class="ph userinput">Test Result Payload contains throughput</kbd> * <kbd class="ph userinput">Test Result Payload contains concurrency</kbd> {#dev-ops-test-tool-integration__ul_jrv_x2w_pnb} Answer: FLow: Jenkins BZ Performance Test |
| DevOps Test Type Policy | To automatically set test types when more than one type of test is configured in a performance test stage. This is necessary so the results for the second test type get transformed correctly. For example, when both a Load performance test and a JUnit performance test are mapped in the same DevOps step, the JUnit test results won't get formatted correctly unless a decision is created. Decision inputs: * Step * Test Result Payload * Tool Integration * Pipeline {#dev-ops-test-tool-integration__ul_dkm_sjw_pnb} | Create a decision for each type of test in the performance test stage to set the test type. Load test: * Conditions: * <kbd class="ph userinput">Step is Perf Tests</kbd> * <kbd class="ph userinput">Test Result Payload contains throughput</kbd> * <kbd class="ph userinput">Test Result Payload contains concurrency</kbd> {#dev-ops-test-tool-integration__ul_r5g_2kw_pnb} * Answer: <kbd class="ph userinput">TestType: Load</kbd> {#dev-ops-test-tool-integration__ul_fvh_tpw_pnb} JUnit test: * Conditions: * <kbd class="ph userinput">Step is Perf Tests</kbd> * <kbd class="ph userinput">Test Result Payload does not contain throughput</kbd> * <kbd class="ph userinput">Test Result Payload does not contain concurrency</kbd> {#dev-ops-test-tool-integration__ul_lx1_5qw_pnb} * Answer: <kbd class="ph userinput">TestType: JUnit</kbd> {#dev-ops-test-tool-integration__ul_kx1_5qw_pnb} |
[Table 1. DevOps decision tables]

{#dev-ops-test-tool-integration__table_c54_kcw_pnb}  
Figure 5. DevOps multiple performance test types  
Figure 6. DevOps multiple test type mappings  
Figure 7. DevOps decision table decision

## Test summary results {#dev-ops-test-tool-integration__section_iq3_11v_pnb}

You can view test summary results these ways.

* DevOpsTest Results module (Test Summaries and Performance Test Summaries).
* [DevOps change request](https://servicenow-prod.fluidtopics.net/1IOGCXHTnX02RprvPaB2wg "Enable the change acceleration feature of DevOps Change Velocity for automatic change request creation in your pipeline, and use change approval flows and policies to automate approval under certain conditions.") - Test Results related list.
* [DevOps Pipeline UI](https://servicenow-prod.fluidtopics.net/yaj2dQuVNc7UKuimbU8Fug "Use the Pipeline UI to visualize interactions and results across a pipeline execution. This graphical view shows pipeline step progression and other details for each pipeline.") - Quality tile.
{#dev-ops-test-tool-integration__ul_ayj_jd4_vlb}  
Figure 8. DevOps performance test summary example

## Expected standard JSON Notification capability payload - Test tool {#dev-ops-test-tool-integration__section_ey3_fyn_qnb}

Functional:

    { 
    "name": "CorpSite-selenium#55", 
    "duration": 78.802, 
    "passedTests": 4, 
    "failedTests": 0, 
    "skippedTests": 0, 
    "blockedTests": 0, 
    "totalTests": 4, 
    "startTime": "2020-06-30T18:12:31Z", 
    "finishTime": "2020-06-30T18:12:31Z", 
    "passingPercent": 100, 
     
     
    // Use Artifact OR Package OR Build + Stage + PipelineName Attributes 

    Send only one Attribute combination. For example, send Attributes of either  Artifact or Package, or the combination of Build + Stage + PipelineName.

    If you send more than one Attribute, priority is given in the following order and the low priory one is ignored. For example, if you send attribute for both packages and artifacts, then attribute of package is considered and the attribute of artifacts is ignored.

    1.packages
    2.artifcats
    3.buildNumber + stageName + pipelineName

    "packages": [{"name": "CorpSite-pkg1"}], 
    "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], 
    "buildNumber": "55", 
    "stageName": "test", 
    "pipelineName": "CorpSite-selenium", 
    } 

    Notes:
    - The pipelineName attribute value must be same as the value in the Orchestration pipeline field of the Pipeline [sn_devops_pipeline] table.
    - The stageName attribute value must be same as the value in the Orchestration stage field of the Step [sn_devops_step] table.

Performance:

    { 
    "name": "Performance Tests", 
    "url": "http://abc.com", 
    "startTime": "2020-06-30T18:12:31Z", 
    "finishTime": "2020-06-30T18:12:31Z", 
    "duration": 78.802, 
    "maximumVirtualUsers": "", 
    "throughput": "", 
    "maximumTime": "", 
    "minimumTime": "", 
    "averageTime": "", 
    "ninetyPercent": "", 
    "standardDeviation": "", 
     
    // Use Artifact OR Package OR Build + Stage + PipelineName Attributes 

    Send only one Attribute combination. For example, send Attributes of either  Artifact or Package, or the combination of Build + Stage + PipelineName.

    If you send more than one Attribute, priority is given in the following order and the low priory one is ignored. For example, if you send attribute for both packages and artifacts, then attribute of package is considered and the attribute of artifacts is ignored.

    1.packages
    2.artifcats
    3.buildNumber + stageName + pipelineName

    "packages": [{"name": "CorpSite-pkg1"}], 
    "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], 
    "buildNumber": "55", 
    "stageName": "test", 
    "pipelineName": "CorpSite-Performance", 
    } 

    Notes:
    - The pipelineName attribute value must be same as the value in the Orchestration pipeline field of the Pipeline [sn_devops_pipeline] table.
    - The stageName attribute value must be same as the value in the Orchestration stage field of the Step [sn_devops_step] table.

* **[Configure a test tool in DevOps](https://servicenow-prod.fluidtopics.net/BKA4pDB41_4nxVQcRj7c9A)**   
  Configure a test tool in DevOps to view unit, functional, and performance test results.
* **[Add test results to change requests using test API](https://servicenow-prod.fluidtopics.net/N9DRvj_H5wrCysvqy~q8aw)**   
  Add test results to DevOps change requests using the test capability of the DevOps - POST /devops/tool/{capability} API. The API is available for all test types for various tools connected to DevOps Change Velocity.
* **[Add attachments to change requests using attachment API](https://servicenow-prod.fluidtopics.net/FVtYOY6kX1Hqf7XIOschkg)**   
  Add test report xmls as attachments to DevOps change requests using the attachment API.

*[\>]: and then


