{"id":18717,"date":"2023-01-12T01:56:39","date_gmt":"2023-01-12T01:56:39","guid":{"rendered":"https:\/\/44.225.35.201\/testrail\/docs\/753\/integrate\/requirements-and-defects-integrations\/available-integrations\/integrate-with-azure-devops\/"},"modified":"2023-02-01T17:20:52","modified_gmt":"2023-02-01T08:20:52","slug":"azure-devops","status":"publish","type":"page","link":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/integration-guide\/requirements-and-defects-integrations\/available-integrations\/azure-devops\/","title":{"rendered":"Integrate with Azure DevOps"},"content":{"rendered":"<p>TestRail integrates with Azure DevOps so your team can link, view, add, and push issues between TestRail and Azure DevOps as bugs\/defects, requirements\/references, or both.<\/p>\n<p>The TestRail integration with Azure DevOps supports all four methods of integrating TestRail with the issue, defect, and requirements trackers:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li aria-level=\"1\">Using defect URLs to link test results to Azure DevOps<\/li>\n<li aria-level=\"1\">Using the defect plugin for Azure DevOps to push and hover over Azure DevOps Issues<\/li>\n<li aria-level=\"1\">Using reference URLs to link test cases to Azure DevOps Issues<\/li>\n<li aria-level=\"1\">Using the reference plugin for Azure DevOps to look up Azure DevOps issues in the References field of TestRail entities such as test cases, test runs, and milestones<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>You don\u2019t have to use all the listed integration options; you can mix and match the integration with other tools. Configuring the integration usually only takes a few minutes. This guide explains how to configure the integration and how it works.<\/p>\n<p>You can find more information about TestRail\u2019s\u00a0<a href=\"\/requirements-and-defects-integrations\/introduction-reference-and-defect\/#i-2\" target=\"_blank\" rel=\"noopener\">bug, issue, and defect integrations here<\/a>, or read more about TestRail\u2019s integrations with\u00a0<a href=\"\/requirements-and-defects-integrations\/introduction-reference-and-defect\/#i\" target=\"_blank\" rel=\"noopener\">requirements and references management systems here<\/a>.<\/p>\n\n\n<iframe loading=\"lazy\" width=\"700\" height=\"394\" src=\"https:\/\/www.youtube.com\/embed\/bLQs_r8C3Eo\" title=\"How To Configure Azure DevOps with TestRail\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen=\"\"><\/iframe>\n\n\n<ul>\n<li style=\"list-style-type: none;\">\n<ul><\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"bDefectsb\">Configuring defects<\/h2>\n<h3>Defect URLs<\/h3>\n<p>The defect URLs are used to let TestRail know how to convert a Defect ID into a URL for your Azure DevOps instance. There are two types of URLs: View URLs and Add URLs.<\/p>\n<p>The\u00a0<strong>Defect View URL<\/strong>\u00a0is used to build a link to Azure DevOps based on the Defect ID, so you can simply click on an ID to open the issue directly in Azure DevOps.<\/p>\n<p>When you set up the Defect View URLs integration with Azure DevOps Issues, you can paste the ID of an Azure DevOps issue in the Defects field of a test result and TestRail will automatically convert that ID into a clickable link to view the issue in Azure DevOps. This allows your team to link tests with Azure DevOps issues and create defect and traceability reports in TestRail.\u00a0\u00a0<\/p>\n<p>The<strong>\u00a0Defect Add URL<\/strong>\u00a0is used to create a link to the issue creation screen inside Azure DevOps. Once the URL is configured, a new Add link appears next to the Defects field in the Add Test Result dialog and the \u2018Defects\u2019 menu in TestRail\u2019s\u00a0<a href=\"\/requirements-and-defects-integrations\/configuring-defect\/#i-9\" target=\"_blank\" rel=\"noopener\">Defect From Anywhere<\/a>\u00a0feature. This link allows you to jump to Azure DevOps\u2019s New Issue form to report a new bug.<\/p>\n<p><strong>Add\u00a0<\/strong>Defect link in the \u2018Add Result\u2019 dialog<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18697\" rel=\"attachment wp-att-18697\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Add_Defect-1024x585.png\" alt=\"\" width=\"1024\" height=\"585\" class=\"aligncenter size-large wp-image-18697\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Add_Defect-1024x585.png 1024w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Add_Defect-980x560.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Add_Defect-480x274.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p><strong>Add\u00a0<\/strong>Defect link in Defect From Anywhere menu<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18698\" rel=\"attachment wp-att-18698\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Add_DefectFromAnywhere-1024x632.png\" alt=\"\" width=\"1024\" height=\"632\" class=\"aligncenter size-large wp-image-18698\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Add_DefectFromAnywhere-980x605.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Add_DefectFromAnywhere-480x296.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p>If you see the \u2018Add\u2019 link, you can copy the ID of your new Azure DevOps issue and enter it into any Defects or References field inside TestRail.<\/p>\n<p>To configure Azure DevOps Defect URLs in TestRail, select\u00a0<strong>Administration<\/strong><em>\u00a0&gt;\u00a0<\/em><strong>Integration<\/strong>. You can alternatively enter separate bug tracker URLs for each project under\u00a0<strong>Administration<\/strong><em>\u00a0&gt;\u00a0<\/em><strong>Projects<\/strong>. Use the following example URLs to configure the addresses:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">Azure DevOps installation\nDefect View Url: https:\/\/&lt;Azure_DevOps_URL&gt;\/&lt;Project&gt;\/_workitems\/edit\/%id%\/\nDefect Add Url:  https:\/\/&lt;Azure_DevOps_URL&gt;\/&lt;Project&gt;\/_workitems\/create\/issue<\/pre>\n<p>[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<p>Please make sure to replace &lt;Azure_DevOps_URL&gt; and &lt;Project&gt; with the actual URL of the instance and the Project name in Azure DevOps you want to integrate with. Additionally, if the Bug item type is not enabled for your project, you should replace \u2018Bug\u2019 with \u2018Issue\u2019 or another item type.<\/p>\n<p><!-- END note --><\/p>\n<p>[\/et_pb_text]<\/p>\n<p><\/p>\n<p><strong>Example:<\/strong><\/p>\n<p>Here, the Azure DevOps instance is sharonishere and the project is testrail<\/p>\n<p><strong>Defect View URL:<\/strong>\u00a0https:\/\/dev.azure.com\/sharonishere\/testrail\/_workitems\/edit\/%Id%<\/p>\n<p><strong>Defect Add URL:<\/strong>\u00a0https:\/\/dev.azure.com\/sharonishere\/testrail\/_workitems\/create\/issue<\/p>\n<p>Here\u2019s how the Defect URLs look in TestRail:<\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18699\" rel=\"attachment wp-att-18699\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Defect_URLs-1024x438.png\" alt=\"\" width=\"1024\" height=\"438\" class=\"aligncenter size-large wp-image-18699\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Defect_URLs-980x419.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Defect_URLs-480x205.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p>Additionally, if you have the defect plugin configured, you\u2019ll also be able to hover over the defect ID to view the issue details directly from within TestRail.<\/p>\n<h3 id=\"defect_plugins\">Defect Plugin<\/h3>\n<p>Defect plugins can be used to implement a deeper bug tracker integration and TestRail comes with a ready-to-use Azure DevOps defect plugin.<\/p>\n<p>The TestRail defect plugin for Azure DevOps allows you to push new issues to Azure DevOps without leaving TestRail and automatically link them as defects. You can also hover over linked defects to view Azure DevOps Issues fields like Title, Assignees, Labels, Projects, Milestone, and Linked pull requests.<\/p>\n<p>To configure the defect plugin, select\u00a0<strong>Administration &gt; Integration\u00a0<\/strong>and select\u00a0<em>Azure DevOps<\/em>\u00a0in the\u00a0<strong>Defect Plugin<\/strong>\u00a0drop-down list. The next step is to configure all the necessary connection settings in the\u00a0<em>[connection]<\/em>\u00a0category. You can also configure the integration for a specific project by editing a project\u2019s settings.<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18700\" rel=\"attachment wp-att-18700\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Defect_Plugin-1024x511.png\" alt=\"\" width=\"1024\" height=\"511\" class=\"aligncenter size-large wp-image-18700\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Defect_Plugin-980x489.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Defect_Plugin-480x239.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p>The Defect Plugin utilizes Azure DevOps API, so valid credentials are needed to connect to the API. You can enter a single set of credentials here for all Azure DevOps users or you can insert User Variables to allow each TestRail user to configure their own credentials. These credentials may be a combination of an email address or username with a password or API key.<\/p>\n<p>We strongly recommend configuring User Variables. You can learn more about configuring these in our documentation\u00a0<a href=\"\/requirements-and-defects-integrations\/user-variables\/\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p><strong>How to configure the Azure DevOps plugin<\/strong><\/p>\n<p>Step 1:\u00a0Select\u00a0<strong>Administration<\/strong>\u00a0&gt;\u00a0<strong>Integration<\/strong>\u00a0<\/p>\n<p>Step 2: Select\u00a0<em>Azure DevOps\u00a0<\/em>in the Defect Plugin drop-down list.<\/p>\n<p>Step 3: Configure all the necessary connection settings in the following categorie<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[connection]\nuser=username  (Whatever the username you are signed in as within Azure DevOps)\npassword=ghp_ZE7tHmVtoken<\/pre>\n<p>Note: To generate an Azure DevOps API token in your account, click on <strong>User settings<\/strong>, then click on <strong>Personal access tokens<\/strong> in the left menu and select <strong>+ New Token.<\/strong><\/p>\n<p>Please make sure that all required permissions are enabled while generating the token by clicking and selecting one of the options below:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li aria-level=\"1\">Full Access<\/li>\n<li aria-level=\"1\">Custom Defined<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>[push.fields] and [hover.fields] are preconfigured. To do any customizations, refer to the Defect Plugin Customizations section.<\/p>\n<p>A plugin is available for both Azure DevOps Cloud, and Azure DevOps Server. These plugins have the same functionality with the exception of 1 field.\u00a0<strong>The Azure DevOps Server plugin does not support the assignee field, due to API limitations.<\/strong><\/p>\n<p>Once the connection settings are saved and the defect plugin configured, you should be able to \u2018Push\u2019 and \u2018hover\u2019 over the Azure DevOps issue ID within TestRail now.<\/p>\n<p>The option to push a new defect will appear in the <a href=\"\/requirements-and-defects-integrations\/configuring-defect\/#i-9\" target=\"_blank\" rel=\"noopener\">Defect from Anywhere<\/a>\u00a0menu, as well as in the Add Result dialog within a test run. This dialog allows you to create a new issue in Azure DevOps without leaving TestRail.<\/p>\n<p>Push Defect in &#8216;Defect from Anywhere&#8217; menu\u00a0<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18701\" rel=\"attachment wp-att-18701\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Push_DefectFromAnywhere-1024x632.png\" alt=\"\" width=\"1024\" height=\"632\" class=\"aligncenter size-large wp-image-18701\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Push_DefectFromAnywhere-980x605.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Push_DefectFromAnywhere-480x296.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p><strong>Push\u00a0<\/strong>Defect link in \u2018Add Result\u2019 dialog<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18702\" rel=\"attachment wp-att-18702\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Push_Defect-1024x585.png\" alt=\"\" width=\"1024\" height=\"585\" class=\"aligncenter size-large wp-image-18702\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Push_Defect-1024x585.png 1024w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Push_Defect-980x560.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Push_Defect-480x274.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p>TestRail shows the defect description when hovered over the defect\/issue ID\u00a0<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18703\" rel=\"attachment wp-att-18703\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Defect_Hover_Over-1024x729.png\" alt=\"\" width=\"1024\" height=\"729\" class=\"aligncenter size-large wp-image-18703\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Defect_Hover_Over-1024x729.png 1024w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Defect_Hover_Over-980x698.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/GitHub_Defect_Hover_Over-480x342.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<h4>Defect Plugin Customizations<\/h4>\n<p>The Azure DevOps defect plugin was built to work with a standard Azure DevOps configuration. TestRail allows you to customize the fields which appear in the Push dialog as well as when hovering over Defect IDs. Preconfigured push fields and hover fields can be set to \u2018on\u2019 or \u2018off\u2019 by typing the text (on\/off) in their respective [push.fields] and [hover.fields] sections, or changing the order in which they appear by the fields in each section.<\/p>\n<p>Note: Some fields (such as the title field) are always enabled and may not appear in these sections due to always being required by either TestRail or Azure DevOps.<\/p>\n<p>The Azure DevOps Defect Plugin also supports modifying field properties as well as custom fields.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[push.types]\nBug=on\nEpic=off\nIssue=on\nTask=on\nUserStory=off<\/pre>\n<p>By default, the plugin supports the item types defined above, with only Bug, Issue, and Task being enabled initially. Within Azure DevOps, different item types have different description-type fields. For example, a Bug in Azure DevOps has Reproduction Steps and System Info Fields, while an Issue item type uses a Description field. These three field types can be enabled and disabled on a per-item type basis using the [type.settings.&lt;item_type&gt;] section:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[type.settings.Bug]\ndescription=off\nrepro_steps=default\nsystem_info=on<\/pre>\n<p>The <em>default<\/em>\u00a0value is used to specify where the configured TestRail bug description will be populated.<\/p>\n<p>In addition to enabling, disabling, or re-organizing fields as described above, it\u2019s also possible to change additional options per field. To do this, you would define a section for the field, such as [push.field.description] and specify additional options within this section.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[push.field.description]\nlabel=Detailed Description\nrequired=true<\/pre>\n<p>Please see below for full list and explanation of the available field options:<\/p>\n<table class=\"table table--hover\" style=\"border-collapse: collapse; width: 100%;\">\n<thead>\n<tr>\n<th style=\"width: 100.586px;\"><strong>Option<\/strong><\/th>\n<th style=\"width: 576.445px;\"><strong>Description<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"width: 100.586px;\">api_field<\/td>\n<td style=\"width: 576.445px;\"><span data-sheets-formula-bar-text-style=\"font-size:13px;color:#000000;font-weight:normal;text-decoration:none;font-family:'Arial';font-style:normal;text-decoration-skip-ink:none;\">The key for the field in an API response. Examples are \u2018api_field=System.Description\u2019 and \u2018api_field=Microsoft.VSTS.Common.AcceptanceCriteria\u2019.\u00a0<em>(Required for custom fields)<\/em><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 100.586px;\">api_list_id<\/td>\n<td style=\"width: 576.445px;\">The ID value of a list field, such as \u2018661eb38e-6f0b-484a-bc53-27a57c2e2d50\u2019. The value is obtained from the Azure DevOps API.\u00a0<em>(Required for custom fields which have \u2018type=dropdown\u2019)<\/em><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 100.586px;\">label<\/td>\n<td style=\"width: 576.445px;\">Specifies the display name of the field in the Push Defect dialogue\u00a0<em>(Required for custom fields)<\/em><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 100.586px;\">size<\/td>\n<td style=\"width: 576.445px;\">Specifies whether the field is displayed as a compact field\u00a0<em>(compact)<\/em>\u00a0or uses the full width of the dialogue\u00a0<em>(full)<\/em><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 100.586px;\">remember<\/td>\n<td style=\"width: 576.445px;\">Specifies if previously selected values for this field should be remembered and restored the next time the Push Defect dialogue is opened<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 100.586px;\">required<\/td>\n<td style=\"width: 576.445px;\">Specifies if this field is mandatory or optional and whether users are required to enter a value for this field in the Push Defect dialogue<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 100.586px;\">type<\/td>\n<td style=\"width: 576.445px;\">Specifies the type of this field, please see section Custom fields below for a list of supported field types.\u00a0\u00a0<em>(Required for custom fields. If \u2018type=dropdown\u2019 for a custom field, then \u2018api_list_id\u2019 is also required.)<\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4 id=\"customizations\">Custom fields<\/h4>\n<p>You can also use the above-mentioned approach to add custom fields to TestRail\u2019s Push Defect dialogue. To do this, simply add a line with your custom field to the [push.fields] section to add a field:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[push.fields]\n# ...\ndescription=on\ncustomfield_customer=on<\/pre>\n<p>Then, add a [field.settings.customfield_&lt;field_name&gt;] section. This section is required so the plugin can push and\/or retrieve data from your tool. &lt;field_name&gt; can be any value, as the field\u2019s properties will be defined inside the corresponding section. The following is an example:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[field.settings.customfield_customer]\napi_field=System.Customer\nlabel=Customer\nsize=compact\ntype=dropdown\nrequired=true<\/pre>\n<p>The following field types are supported:<\/p>\n<table class=\"table table--hover\" style=\"border-collapse: collapse; width: 100%;\">\n<thead>\n<tr>\n<th style=\"width: 118.854px;\">Field Type<\/th>\n<th style=\"width: 558.177px;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"width: 118.854px;\">bool<\/td>\n<td style=\"width: 558.177px;\">A Yes\/No dropdown menu for True\/False, Yes\/No, or similar binary values<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 118.854px;\">date<\/td>\n<td style=\"width: 558.177px;\">A string field which accepts a YYYY-MM-DD or similarly structured date value. Formatting may depend on the integrated tool\u2019s requirements.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 118.854px;\">datetime<\/td>\n<td style=\"width: 558.177px;\">A string field which accepts a YYYY-MM-DD HH:MM or similarly structured date and time value. Formatting may depend on the integrated tool\u2019s requirements.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 118.854px;\">dropdown<\/td>\n<td style=\"width: 558.177px;\">A dropdown list that allows users to select one of the multiple options<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 118.854px;\">string<\/td>\n<td style=\"width: 558.177px;\">A small free-text field fr up to 250 characters.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 118.854px;\">text<\/td>\n<td style=\"width: 558.177px;\">A large free-text field without practical size limitations.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4 id=\"reference_urls\" class=\"sectionedit5\">Attachments<\/h4>\n<p>The Azure DevOps Defect Plugin supports submitting attachments to Azure DevOps as well. This field can be turned on and off, but cannot be customized. To submit one or more attachments to Azure DevOps, simply drag the attachment to the attachments or description areas of the push dialog or click on the area to choose an attachment from your file system.<\/p>\n<h2 id=\"References\" class=\"sectionedit5\">Configuring References<\/h2>\n<h3 id=\"reference_urls\" class=\"sectionedit5\">Reference URLs<\/h3>\n<p>The reference URLs are implemented in a very similar manner to Defect URLs described above. The primary difference is Reference URLs are used for the \u2018References\u2019 field on various TestRail entities (instead of the Defects field).<\/p>\n<p>The Reference\u00a0<strong>View URL<\/strong>\u00a0is configured in the same manner as described above and allows TestRail to create a direct link to Azure DevOps based on an ID entered into a References field.<\/p>\n<p>The Reference\u00a0<strong>\u00a0Add URL\u00a0<\/strong>is also configured in the same way as the Defect Add URL. Once configured, an\u00a0<strong>\u2018Add\u2019<\/strong>\u00a0link will appear next to each References field in your instance or project. If you use the\u00a0<strong>\u2018Add\u2019<\/strong>\u00a0link, you can copy the ID of your new Azure DevOps issue and enter it into any Defects or References field inside TestRail.<\/p>\n<p><strong>Add\u00a0<\/strong>References link in Testcase<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18704\" rel=\"attachment wp-att-18704\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Add_References-1024x632.png\" alt=\"\" width=\"1024\" height=\"632\" class=\"aligncenter size-large wp-image-18704\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Add_References-980x605.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Add_References-480x296.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p>To configure Azure DevOps Reference URLs in TestRail, select\u00a0<em>Administration &gt; Integration<\/em>. You can alternatively enter separate bug tracker URLs for each project under\u00a0<em>Administration &gt; Projects<\/em>. Use the following example URLs to configure the addresses:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">Azure DevOps installation\nReference View Url: https:\/\/&lt;Azure_DevOps_URL&gt;\/&lt;Project&gt;\/_workitems\/edit\/%id%\/\nReference Add Url:  https:\/\/&lt;Azure_DevOps_URL&gt;\/&lt;Project&gt;\/_workitems\/create\/issue<\/pre>\n<div class=\"callout callout--info\">\n<p>[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<p>Please make sure to replace &lt;Azure_DevOps_URL&gt; and &lt;Project&gt; with the actual URL of the instance and the Project name in Azure DevOps you want to integrate with. Additionally, if the Bug item type is not enabled for your project, you should replace \u2018Bug\u2019 with \u2018Issue\u2019 or another item type.<\/p>\n<p>[\/et_pb_text]<\/p>\n<p><strong>Example:<\/strong><\/p>\n<\/div>\n<p>Here, the Azure DevOps instance is sharonishere and the project is testrail<\/p>\n<p><strong>Reference View URL:<\/strong>\u00a0https:\/\/dev.azure.com\/sharonishere\/testrail\/_workitems\/edit\/%Id%<\/p>\n<p><strong>Reference Add URL:\u00a0<\/strong>https:\/\/dev.azure.com\/sharonishere\/testrail\/_workitems\/create\/issue<\/p>\n<p>Here\u2019s how the Reference URLs look in TestRail:<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18705\" rel=\"attachment wp-att-18705\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure-DevOps_Reference_URLs-1024x450.png\" alt=\"\" width=\"1024\" height=\"450\" class=\"aligncenter size-large wp-image-18705\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure-DevOps_Reference_URLs-980x431.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure-DevOps_Reference_URLs-480x211.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p>If you have the\u00a0Reference plugin\u00a0configured, you\u2019ll also be able to hover over a Reference ID to view the issue details directly from within TestRail. Keep reading to learn how to use and configure the\u00a0 Reference Plugin.<\/p>\n<h3 id=\"ReferencePlugin\" class=\"sectionedit3\">Reference Plugin<\/h3>\n<p>Reference plugins can be used to retrieve additional information from IDs entered into the References field of TestRail entities, such as test cases, test runs, and milestones. The Reference Plugin is configured on the References tab of the integration settings, in the same manner, the Defect Plugin is configured.<\/p>\n<p>To configure the reference plugin, select<strong>\u00a0Administration<\/strong>\u00a0&gt;\u00a0<strong>Integration\u00a0<\/strong>and select\u00a0<em>Azure DevOps\u00a0<\/em>in the Reference Plugin drop-down list. The next step is configuring all the necessary connection settings in the\u00a0<em>[connection]<\/em>\u00a0category. You can also configure the integration for a specific project by editing a project\u2019s settings.<\/p>\n<p>Note: If you have the Defect Plugin already configured for Azure DevOps, you can simply copy your [connection] and [hover.fields] sections from the Defect Plugin into the Reference plugin configuration. Alternatively, you can choose different fields to be displayed for References and Defects.<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18706\" rel=\"attachment wp-att-18706\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Reference_Plugin-1024x526.png\" alt=\"\" width=\"1024\" height=\"526\" class=\"aligncenter size-large wp-image-18706\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Reference_Plugin-1024x526.png 1024w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Reference_Plugin-980x504.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Reference_Plugin-480x247.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p><strong>Note: The reference plugin supports hovering over Reference IDs but does not support a Push dialog for the References field.<\/strong>\u00a0<\/p>\n<p>It is also possible to customize the fields which appear via link hovering and add custom fields, as described in the Defect Plugin Customizations section.<\/p>\n<p>Once the connection settings are saved, you should be able to \u2018hover\u2019 over the Azure DevOps issue ID within TestRail now.\u00a0<\/p>\n<p><a href=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/?attachment_id=18707\" rel=\"attachment wp-att-18707\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Reference_Hover-1024x750.png\" alt=\"\" width=\"1024\" height=\"750\" class=\"aligncenter size-large wp-image-18707\" srcset=\"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Reference_Hover-1024x750.png 1024w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Reference_Hover-980x718.png 980w, https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-content\/uploads\/Azure_DevOps_Reference_Hover-480x352.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/p>\n<p><span class=\"et_pb_image_wrap \"><\/span><\/p>\n<p>For more information, please read our documentation about <a href=\"\/requirements-and-defects-integrations\/configuring-reference\/\" target=\"_blank\" rel=\"noopener\">Reference plugins<\/a>.<\/p>\n<h2 id=\"AdditionalCustomizations\" class=\"sectionedit5\">Additional Customizations<\/h2>\n<p>TestRail also supports custom defect plugins. If your team uses TestRail Server, it is possible to further customize the defect plugin (or build your own) to support additional field types or other data. For additional information, please see our documentation about <a href=\"\/server-guide\/customizations-and-extensions\/building-custom-plugin\/\" target=\"_blank\" rel=\"noopener\">Custom plugins<\/a>.<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>TestRail integrates with Azure DevOps so your team can link, view, add, and push issues between TestRail and A [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":6734,"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-18717","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-json\/wp\/v2\/pages\/18717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-json\/wp\/v2\/comments?post=18717"}],"version-history":[{"count":34,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-json\/wp\/v2\/pages\/18717\/revisions"}],"predecessor-version":[{"id":21795,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-json\/wp\/v2\/pages\/18717\/revisions\/21795"}],"up":[{"embeddable":true,"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-json\/wp\/v2\/pages\/6734"}],"wp:attachment":[{"href":"https:\/\/docs.testrail.techmatrix.jp\/testrail\/docs\/753\/wp-json\/wp\/v2\/media?parent=18717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}