{"id":24253,"date":"2023-09-15T00:08:25","date_gmt":"2023-09-14T15:08:25","guid":{"rendered":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/?page_id=24253"},"modified":"2023-09-20T18:36:03","modified_gmt":"2023-09-20T09:36:03","slug":"circleci","status":"publish","type":"page","link":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/test-automation\/ci-cd-tools-integration\/circleci\/","title":{"rendered":"Integrating with CircleCI"},"content":{"rendered":"<p><a href=\"https:\/\/circleci.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">CircleCI<\/a> is a CI\/CD (Continuous Integration and Deployment) tool that helps development teams release code rapidly and automate the build, test, and deployment of their applications. Using CircleCI, engineers can automate their entire testing suite for new commits, reducing the potential for human error. After source-code repositories (on GitHub, Bitbucket, or GitLab) are authorized and added as a project to CircleCI, every commit triggers CircleCI to run jobs.<\/p>\n<p>An everyday use case for CircleCI is building and testing your application whenever code changes are submitted. To take full advantage of TestRail and manage all your test cases and test results, both manual and automated, in a centralized manner, you can send your automated test results directly from CircleCI to TestRail. This article will explore how to easily use CircleCI and the <a href=\"\/test-automation\/testrail-cli\/overview-and-installation\/\" target=\"_blank\" rel=\"noopener\">TestRail CLI<\/a> to accomplish this task.<\/p>\n<div class=\"callout callout--info\">\n<p class=\"callout__title callout__icon\"><em class=\"fas fa-info-circle\">\u00a0<\/em>[et_pb_text admin_label=&#8221;Note&#8221; _builder_version=&#8221;4.4.2&#8243; background_color=&#8221;#F0F8FF&#8221; hover_enabled=&#8221;0&#8243; border_width_all=&#8221;1px&#8221; border_color_all=&#8221;#b0c4de&#8221;]<\/p>\n<div class=\"callout callout--info\">\n<p>Please note that the <a href=\"\/test-automation\/testrail-cli\/overview-and-installation\/\" target=\"_blank\" rel=\"noopener\">TestRail CLI<\/a> requires that a compatible <strong>JUnit report<\/strong> is generated by your test automation framework.<\/p>\n<\/div>\n<p>[\/et_pb_text]<\/p>\n<\/div>\n<h2 id=\"01G770WY46XAVB3C95PPWXPNTM\">Using the TestRail CLI in CircleCI workflows<\/h2>\n<p>Automated processes can be configured in CircleCI using workflow configuration files. These are YAML files that allow you to specify your processes in a structured manner and make use of CircleCI for each step of the way to make it easier to configure your execution environment, as well as execute any step you require.<\/p>\n<p>The easiest way to integrate TestRail with CircleCI is by configuring your workflow to use the TestRail CLI to send automated test results to TestRail. Below is a sample of how a workflow file using the <a href=\"\/test-automation\/testrail-cli\/overview-and-installation\/\" target=\"_blank\" rel=\"noopener\">TestRail CLI<\/a> to send test results to TestRail would look like.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">version: 2.1\norbs:\n  browser-tools: circleci\/browser-tools@1.4.1\nworking_directory: ~\/automation-framework-integration\njobs:\n  build-and-test:\n    docker:\n      - image: cimg\/openjdk:15.0\n    steps:\n      - browser-tools\/install-browser-tools:\n          chrome-version: 109.0.5414.74\n      - checkout  # Performs code checkout\n      - run:\n          name: Build and run the tests\n          command: |\n            chmod 777 drivers\/linux\/chromedriver\n            mvn clean compile test\n      - persist_to_workspace:\n          root: .\/\n          paths:\n            - target\/TEST-junit-jupiter.xml\n  install-trcli-and-upload-results:\n    docker:\n      - image: cimg\/python:3.11\n    steps:\n     - attach_workspace:\n         at: .\/automation-framework-integration\n     - run:\n         name: Install TR CLI and upload the test results to TestRail\n         command: |\n           pip install trcli\n           trcli -y \\\n             -h https:\/\/INSTANCE.testrail.io\/ \\\n             --project \"PROJECT NAME\" \\\n             -u USER_EMAIL \\\n             -p PASSWORD \\\n             parse_junit \\\n             --title \"Automated Tests from CircleCI workflow\" \\\n             --run-description $CIRCLE_BUILD_URL \\\n             -f \".\/automation-framework-integration\/target\/TEST-junit-jupiter.xml\"\n\n# Invoke configured jobs using a workflow:\nworkflows:\n  sample:  # Name of the workflow\n    jobs:\n      - build-and-test\n      - install-trcli-and-parse-results:\n         requires:\n            - build-and-test<\/pre>\n<p>A CircleCI job is a collection of sequential steps. All job steps are executed in a single unit within a fresh container or a virtual machine. Jobs are orchestrated using <a href=\"https:\/\/circleci.com\/docs\/workflows\/\" target=\"_blank\" rel=\"noopener noreferrer\">CircleCI workflows.<\/a><\/p>\n<p>Breaking down the file, we notice that the workflow comprises two jobs.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul class=\"list-bullet\">\n<li>In the above-shown YAML file, we have our first job, <code class=\"inline-code\">build-and-test.<\/code> For this job, we have specified the working directory and the docker image <a href=\"https:\/\/circleci.com\/developer\/images\/image\/cimg\/openjdk\" target=\"_blank\" rel=\"noopener noreferrer\">(cimg\/openjdk)<\/a> on which we have to run the job. CircleCI maintains a fleet of <a href=\"https:\/\/circleci.com\/developer\/images\" target=\"_blank\" rel=\"noopener noreferrer\">convenience images<\/a> for various programming languages, databases, and operating systems. This job is responsible for checkout, building, and running the tests and persisting data to make it available to the second job.<\/li>\n<li>The second job, <code class=\"inline-code\">install-trcli-and-upload-results<\/code>, runs on a different image <a href=\"https:\/\/circleci.com\/developer\/images\/image\/cimg\/python\" target=\"_blank\" rel=\"noopener noreferrer\">(cimg\/python)<\/a>, and it installs the<a href=\"\/test-automation\/testrail-cli\/overview-and-installation\/\" target=\"_blank\" rel=\"noopener\"> TestRail CLI<\/a> and uploads test results to TestRail. In this case, the second job is a downstream job that runs only after the execution of the first job.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>The steps in both jobs define the commands to execute on the docker images. As a whole, these jobs contain the following steps:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol class=\"list-colored\">\n<li><code class=\"inline-code\">Install-browser-tools<\/code><\/li>\n<li><code class=\"inline-code\">Checkout<\/code><\/li>\n<li><code class=\"inline-code\">Build and run the tests<\/code><\/li>\n<li><code class=\"inline-code\">Persist workspace<\/code><\/li>\n<li><code class=\"inline-code\">Attach workspace<\/code><\/li>\n<li><code class=\"inline-code\">TestRail CLI upload results<\/code><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3 id=\"01G95A16E6QKXN0KVQAZ69S2M1\">Step 1: Install-browser-tools<\/h3>\n<p>This step Installs various browsers and browser-testing tools into any Debian\/Ubuntu based Docker image.<\/p>\n<h3 id=\"01G95A16E6QKXN0KVQAZ69S2M1\">Step 2: Checkout<\/h3>\n<p>The Checkout step executes the code checkout on the agent for your repository. In the example above, we have chosen the <a href=\"https:\/\/circleci.com\/developer\/images\/image\/cimg\/openjdk\" target=\"_blank\" rel=\"noopener noreferrer\">cimg\/openjdk<\/a> image for our execution container.<\/p>\n<h3 id=\"01G95A16E6QKXN0KVQAZ69S2M1\">Step 3: Build and run the tests<\/h3>\n<p>In this step, we make the Linux chromedriver executable and run the tests.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">- run:\n    name: Build and run the tests\n    command: |\n      chmod 777 drivers\/linux\/chromedriver\n      mvn clean compile test<\/pre>\n<h3 id=\"01G95A16E6QKXN0KVQAZ69S2M1\">Step 4: Persist workspace<\/h3>\n<p>This step adds files to a persistent workspace to be used by the second job. We need the <code class=\"inline-code\">TEST-junit-jupiter.xml<\/code> file for the second job to send the test results to TestRail with the help of the <a href=\"\/test-automation\/testrail-cli\/overview-and-installation\/\" target=\"_blank\" rel=\"noopener\">TestRail CLI<\/a>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">- persist_to_workspace:\n    root: .\/\n    paths:\n      - target\/TEST-junit-jupiter.xml<\/pre>\n<h3 id=\"01G95A16E6QKXN0KVQAZ69S2M1\">Step 5: Attach workspace<\/h3>\n<p>This step will download the workspace content into the file system of the new image.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">install-trcli-and-parse-results:\n  docker:\n    - image: cimg\/python:3.11\n  steps:\n    - attach_workspace:\n        at: .\/automation-framework-integration<\/pre>\n<h3 id=\"01G95A16E6QKXN0KVQAZ69S2M1\">Step 6: Install the TestRail CLI and upload test results<\/h3>\n<p>This step will do two different actions<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol class=\"list-colored\">\n<li>Install the <a href=\"\/test-automation\/testrail-cli\/overview-and-installation\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #4285f4;\">TestRail CLI<\/span><\/a><\/li>\n<li><span style=\"color: #202020;\">Call the TestRail CLI <\/span><span style=\"color: #202020;\">to parse the JUnit report generated by your test automation framework and send the results to TestRail<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>The TestRail CLI is a Python package hosted on the Python Package Index (<a href=\"https:\/\/pypi.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">PyPI<\/a>). To install it, we execute the command <code class=\"inline-code\">pip install trcli<\/code>.<\/p>\n<p>After the TestRail CLI is installed, there are a few <strong>mandatory arguments<\/strong> that we need to pass along with <code class=\"inline-code\">trcli -y<\/code>command, such as your TestRail instance address and credentials, the project you want to report to, the title for your test run, and the path to the JUnit report.<\/p>\n<p class=\"wysiwyg-text-align-justify\"><span style=\"color: #202020;\">For more information about arguments, please check the TestRail CLI <\/span><span style=\"color: #202020;\">documentation.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">- run:\n    name: Install TR CLI and upload the test results to Testrail\n    command: |\n      pip install trcli\n      trcli -y \\\n        -h https:\/\/INSTANCE.testrail.io\/ \\\n        --project \"PROJECT NAME\" \\\n        -u USER_EMAIL \\\n        -p PASSWORD \\\n        parse_junit \\\n        --title \"Automated Tests from CircleCI workflow\" \\\n        --run-description $CIRCLE_BUILD_URL \\\n        -f \".\/automation-framework-integration\/target\/TEST-junit-jupiter.xml\"<\/pre>\n<h2 id=\"01G95BJ3RDABWHKR22DY7YS4DN\">Working example using JUnit5 and Selenium<\/h2>\n<p>CircleCI supports many version control tools like GitHub, GitLab, and Bitbucket. In this article, we will walk you through using a GitHub repository.<\/p>\n<p>Below is an example that illustrates how to run a JUnit5 project with selenium tests on CircleCI and then report the results to TestRail.<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol class=\"list-colored\">\n<li><a href=\"https:\/\/docs.github.com\/en\/get-started\/quickstart\/create-a-repo\" target=\"_blank\" rel=\"noopener noreferrer\">Create a new repository on GitHub<\/a><\/li>\n<li><span style=\"color: #202020;\">Download the files from the <\/span><a href=\"https:\/\/github.com\/gurock\/automation-frameworks-integration\/tree\/main\/samples\/java\/junit5-selenium\" target=\"_blank\" rel=\"noopener noreferrer\">JUnit5-Selenium<\/a> sample project<span style=\"color: #202020;\"> (you can find the CircleCI <code class=\"inline-code\">config.yml<\/code> file under the <code class=\"inline-code\">.circleci folder<\/code>).<\/span><\/li>\n<li><span style=\"color: #202020;\">Replace <\/span><strong><span style=\"color: #202020;\">TESTRAIL_INSTANCE<\/span><\/strong><span style=\"color: #202020;\">, <\/span><strong><span style=\"color: #202020;\">PROJECT NAME<\/span><\/strong><span style=\"color: #202020;\">, <\/span><strong><span style=\"color: #202020;\">USER_EMAIL, <\/span><\/strong><span style=\"color: #202020;\">and <\/span><strong><span style=\"color: #202020;\">PASSWORD<\/span><\/strong><span style=\"color: #202020;\"> on the CircleCI <code class=\"inline-code\">config.yml<\/code> file under the <code class=\"inline-code\">.circleci<\/code>\u00a0folder<\/span><span style=\"color: #202020;\">\u00a0(we recommend not replacing the password directly and using the <\/span><a href=\"https:\/\/circleci.com\/docs\/set-environment-variable\/\" target=\"_blank\" rel=\"noopener noreferrer\">CircleCI environment variables<\/a><span style=\"color: #202020;\"> instead).<\/span><\/li>\n<li><a href=\"https:\/\/docs.github.com\/en\/repositories\/working-with-files\/managing-files\/adding-a-file-to-a-repository\" target=\"_blank\" rel=\"noopener noreferrer\">Upload the project to your GitHub repository<\/a><span style=\"color: #202020;\">.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3 id=\"01G95C09AE4AMDZNBQ7CQ5858P\">Executing the workflow<\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol class=\"list-colored\">\n<li>On the <a href=\"https:\/\/circleci.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">CircleCI<\/a> website, click the <strong>Log In<\/strong> button.<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_01.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_01.png\" alt=\"\" width=\"1564\" height=\"796\" class=\"aligncenter size-full wp-image-24268\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_01.png 1564w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_01-1280x651.png 1280w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_01-980x499.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_01-480x244.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1564px, 100vw\" \/><\/a><\/li>\n<li>Log in to CircleCI with your GitHub credentials.<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_02.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_02.png\" alt=\"\" width=\"1600\" height=\"780\" class=\"aligncenter size-full wp-image-24269\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_02.png 1600w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_02-1280x624.png 1280w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_02-980x478.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_02-480x234.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1600px, 100vw\" \/><\/a><\/li>\n<li>Authorize CircleCI to access your GitHub account.<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_03.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_03.png\" alt=\"\" width=\"1047\" height=\"804\" class=\"aligncenter size-full wp-image-24270\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_03.png 1047w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_03-980x753.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_03-480x369.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1047px, 100vw\" \/><\/a><\/li>\n<li><strong>Set up the code<\/strong> by selecting the <strong>Organization<\/strong>, <strong>Repository<\/strong>, and <strong>config.yml<\/strong>\u00a0file.<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_04.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_04.png\" alt=\"\" width=\"911\" height=\"843\" class=\"aligncenter size-full wp-image-24271\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_04.png 911w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_04-480x444.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 911px, 100vw\" \/><\/a><\/li>\n<li>Select your repository and <strong>config.yml<\/strong> file, then click <strong>Set Up Project<\/strong>.<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_05.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_05.png\" alt=\"\" width=\"867\" height=\"652\" class=\"aligncenter size-full wp-image-24272\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_05.png 867w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_05-480x361.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 867px, 100vw\" \/><\/a><\/li>\n<li>Once you click on the <strong>Set Up Project<\/strong> button, you will navigate to the <strong>Dashboard<\/strong> of CircleCI, where you will see that the pipeline is already in <strong>Running<\/strong>\u00a0status.<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_06.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_06.png\" alt=\"\" width=\"1577\" height=\"550\" class=\"aligncenter size-full wp-image-24273\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_06.png 1577w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_06-1280x446.png 1280w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_06-980x342.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_06-480x167.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1577px, 100vw\" \/><\/a><\/li>\n<li>Once the pipeline status is <strong>Success<\/strong>, it will be displayed with green color as displayed in the screenshot below.<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_07.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_07.png\" alt=\"\" width=\"1571\" height=\"529\" class=\"aligncenter size-full wp-image-24274\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_07.png 1571w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_07-1280x431.png 1280w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_07-980x330.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_07-480x162.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1571px, 100vw\" \/><\/a><\/li>\n<li>You can click on the workflow to see the details. The execution log is divided into two jobs. In the image below, we can see that both of the workflow jobs went well, and hence the pipeline was executed successfully.<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_08.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_08.png\" alt=\"\" width=\"1568\" height=\"575\" class=\"aligncenter size-full wp-image-24275\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_08.png 1568w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_08-1280x469.png 1280w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_08-980x359.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_08-480x176.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1568px, 100vw\" \/><\/a><\/li>\n<li>By clicking on a specific job, we can see the details for each step.<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_09.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_09.png\" alt=\"\" width=\"1550\" height=\"909\" class=\"aligncenter size-full wp-image-24276\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_09.png 1550w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_09-1280x751.png 1280w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_09-980x575.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_09-480x281.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1550px, 100vw\" \/><\/a><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_10.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_10.png\" alt=\"\" width=\"1578\" height=\"862\" class=\"aligncenter size-full wp-image-24277\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_10.png 1578w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_10-1280x699.png 1280w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_10-980x535.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_10-480x262.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1578px, 100vw\" \/><\/a>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_11.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_11.png\" alt=\"\" width=\"944\" height=\"557\" class=\"aligncenter size-full wp-image-24278\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_11.png 944w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_11-480x283.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 944px, 100vw\" \/><\/a><\/li>\n<li>Finally go to your TestRail instance and see your Test Run results.<br \/>\n<a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_12.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_12.png\" alt=\"\" width=\"1082\" height=\"532\" class=\"aligncenter size-full wp-image-24279\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_12.png 1082w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_12-980x482.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-content\/uploads\/circleci_12-480x236.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1082px, 100vw\" \/><\/a><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2 id=\"01G74W5ZPGTYQ0PY1K37T54TF0\">What next?<\/h2>\n<p>Now that you have centralized your test results on TestRail, not only can you check the results of your automated test runs, along with the error messages for failed tests, but you can also aggregate both your manual and automated testing efforts on reports that show you the full test coverage surrounding your app and even track test automation progress. You can also report a bug directly from the automated test result to an issue tracker of your preference as you would do for your manual test results!<\/p>\n<p>You can look into the <a href=\"https:\/\/www.youtube.com\/watch?v=XXygDfOD2MY\" target=\"_blank\" rel=\"noopener\"><strong>TestRail\u2019s Reports and Test Metrics video<\/strong><\/a> to learn about how you can leverage TestRail\u2019s reporting capabilities.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CircleCI is a CI\/CD (Continuous Integration and Deployment) tool that helps development teams release code rap [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":24160,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-24253","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-json\/wp\/v2\/pages\/24253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-json\/wp\/v2\/comments?post=24253"}],"version-history":[{"count":15,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-json\/wp\/v2\/pages\/24253\/revisions"}],"predecessor-version":[{"id":25463,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-json\/wp\/v2\/pages\/24253\/revisions\/25463"}],"up":[{"embeddable":true,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-json\/wp\/v2\/pages\/24160"}],"wp:attachment":[{"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/9\/wp-json\/wp\/v2\/media?parent=24253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}