#
این مقاله درباره ادغام با Azure DevOps Boards و Work Items است. اگر به دنبال اطلاعاتی درباره ادغامهای CI/CD هستید، مستندات ادغام با Azure Pipelines را ببینید.
TestRail با Azure DevOps ادغام میشود تا تیم شما بتواند issueها را بین TestRail و Azure DevOps بهعنوان bug/defect ، requirement/reference ، یا هر دو، link کند، ببیند، اضافه کند و push کند. ادغام TestRail با Azure DevOps از use caseهای زیر پشتیبانی میکند:
- link کردن test caseها به requirementها
- شروع ایجاد requirementها از داخل TestRail
- مشاهده requirementها در TestRail
- link کردن defectها به test resultها
- ثبت defectهای جدید در Azure DevOps
- ثبت defectهای جدید از TestRail
- مشاهده defectها در TestRail
لازم نیست از همه گزینههای ادغام فهرستشده استفاده کنید؛ میتوانید این integration را همراه با ابزارهای دیگر، به هر شکلی که نیاز دارید، به کار ببرید. پیکربندی integration معمولاً فقط چند دقیقه زمان میبرد. این راهنما توضیح میدهد integration را چطور پیکربندی کنید و این integration چطور کار میکند.
link کردن test caseها به requirementها #
برای تنظیم test coverage، هنگام ایجاد یا ویرایش test caseها، کافی است یک یا چند work item ID را که با کاما از هم جدا شدهاند، در فیلد References وارد کنید.

مقادیر References که در test caseهای خود تنظیم میکنید، به لینک مستقیم به work itemهای Azure DevOps تبدیل میشوند.

پیکربندی Reference View Url #
برای link کردن test caseها به requirementها، باید Reference View Url مربوط به Azure DevOps را در TestRail با مراحل زیر پیکربندی کنید.
- به صفحه Admin بروید، گزینه Integration را برای پیکربندی سراسری یا Projects را برای یک project مشخص انتخاب کنید و تب References را باز کنید.
- مقدار Reference View Url با الگوی زیر
https://<Azure_DevOps_URL>/<Project>/_workitems/edit/%id%/
- روی Save Settings کلیک کنید
#
حتماً <Azure_DevOps_URL> و <Project> را با URL واقعی instance و نام Project در Azure DevOps که میخواهید با آن یکپارچه شوید، جایگزین کنید.

شروع ایجاد نیازمندیها از TestRail #
در TestRail، لینک Add در نمای ویرایش test case وجود دارد که شما را سریع به صفحه ایجاد work item در Azure DevOps میبرد. با این کار میتوانید نیازمندیهای جدیدی را که میخواهید در test caseهای خود trace کنید، سریع بسازید. توجه کنید که پس از ایجاد work item جدید، باید ID آن را کپی کنید و در فیلد References وارد کنید.

پیکربندی Reference Add URL #
برای شروع ایجاد نیازمندیهای جدید از TestRail، باید Reference Add URL مربوط به Azure DevOps را در TestRail طبق مراحل زیر پیکربندی کنید.
- به صفحه Admin بروید، Integration را برای پیکربندی سراسری انتخاب کنید، یا Projects را برای یک project مشخص انتخاب کنید و سپس تب References را باز کنید
- مقدار Reference Add URL را با الگوی زیر وارد کنید
https://<Azure_DevOps_URL>/<Project>/_workitems/create/issue
- روی Save Settings کلیک کنید

مشاهده نیازمندیها در TestRail #
TestRail میتواند از IDهایی که در فیلد References برای موجودیتهای TestRail مانند test case، test run و milestone وارد شدهاند، اطلاعات تکمیلی دریافت کند. کافی است نشانگر ماوس را روی لینکها نگه دارید تا پنجرهای باز شود و آخرین اطلاعات را بدون نیاز به رفتن به Azure DevOps نشان دهد.

پیکربندی Reference Plugin #
برای مشاهده مستقیم نیازمندیها در TestRail، باید Reference Plugin مربوط به Azure DevOps را در TestRail طبق مراحل زیر پیکربندی کنید.
- یک User Variable ایجاد کنید برای رمز عبور Azure DevOps یا Personal Access Token (PAT)
- به صفحه Admin بروید و Integration را برای پیکربندی سراسری انتخاب کنید، یا Projects را برای یک project انتخاب کنید و تب References را باز کنید
- نوع Azure_DevOps_ مناسب خود را از فهرست کشویی Reference Plugin انتخاب کنید (اگر تیم شما از Azure DevOps Services استفاده میکند، CLOUD را انتخاب کنید؛ اگر از Azure DevOps Server استفاده میکند، SERVER را انتخاب کنید)
- تنظیمات اتصال را در بخش [connection] پیکربندی کنید
-
address:
https://<Azure_DevOps_URL> - project: نام project شما
- user: username شما
- password: User Variable شما برای رمز عبور Azure DevOps یا Personal Access Token (PAT)
-
address:
- روی Save Settings کلیک کنید
همچنین میتوانید فیلدهایی را که با بردن نشانگر ماوس روی link نمایش داده میشوند، سفارشی کنید. اطلاعات بیشتر درباره روش انجام این کار را در بخش سفارشیسازی Requirement/Defect Plugins بخوانید.
Defect Plugin از Azure DevOps API استفاده میکند؛ بنابراین برای اتصال به API به اطلاعات ورود معتبر نیاز دارید. باید یک Azure Personal Access Token با سطح دسترسی Full Access یا Custom Defined با همه permissions مربوط به Work Items ایجاد کنید.
لینک کردن defectها به test resultها #
گزینهی Defect View URL برای ساخت لینک به Azure DevOps بر اساس Defect ID استفاده میشود؛ بنابراین کافی است روی یک ID کلیک کنید تا issue مستقیماً در Azure DevOps باز شود.
وقتی یکپارچهسازی Defect View URL با Azure DevOps Issues را تنظیم میکنید، میتوانید ID یک issue در Azure DevOps را در فیلد Defects یک test result وارد کنید. TestRail این ID را بهصورت خودکار به لینکی قابل کلیک تبدیل میکند تا بتوانید issue را در Azure DevOps ببینید. با این کار تیم شما میتواند testها را به issueهای Azure DevOps لینک کند و در TestRail گزارشهای defect و traceability بسازد.

پیکربندی Defect View URL #
برای لینک کردن defectها به test resultها در TestRail، باید Azure DevOps Defect View URL را در TestRail با دنبال کردن مراحل زیر پیکربندی کنید.
- به صفحهی Admin بروید، Integration را برای پیکربندی سراسری یا Projects را برای یک project انتخاب کنید، سپس Defects tab را باز کنید
- مقدار Defect View URL را با استفاده از الگوی زیر وارد کنید
https://<Azure_DevOps_URL>/<Project>/_workitems/edit/%id%/
- روی Save Settings کلیک کنید
#
حتماً <Azure_DevOps_URL> و <Project> را با URL واقعی instance و نام Project در Azure DevOps که میخواهید با آن یکپارچه شوید، جایگزین کنید.

ثبت defectهای جدید در Azure DevOps #
TestRail برای گزارش defect با رابط Azure DevOps، مسیر دسترسی سریعی در اختیار شما میگذارد. این کار را میتوانید از دو بخش انجام دهید: منوی Defects و دیالوگ Add Test Result.
منوی Defects که با قابلیت Defect From Anywhere در TestRail هم شناخته میشود، برای دسترسی سریع در بالای بیشتر صفحهها نمایش داده میشود.

دیالوگ Add Test Result نمایش میدهد لینک Add کنار فیلد Defects برای اینکه وقتی test شما fail میشود، سریع و راحت به DevOps بروید و یک defect ثبت کنید.

توجه داشته باشید که پس از ایجاد defect در Azure DevOps، باید work item ID را کپی کنید و در Defects وارد کنید تا بتوانید test result را به Azure DevOps ردیابی کنید.
پیکربندی Defect Add URL #
برای اینکه بتوانید سریع به Azure DevOps بروید و یک defect جدید ایجاد کنید، باید Defect URL را در TestRail با مراحل زیر پیکربندی کنید.
- به صفحه Admin بروید، Integration را برای پیکربندی سراسری انتخاب کنید، یا Projects را برای یک project خاص انتخاب کنید و تب Defects را باز کنید.
- Defect Add URL خود را با الگوی زیر وارد کنید.
https://<Azure_DevOps_URL>/<Project>/_workitems/create/issue
- روی Save Settings
#
حتما <Azure_DevOps_URL> و <Project> را با URL واقعی instance و نام Project در Azure DevOps که میخواهید با آن یکپارچه شود جایگزین کنید.
بهطور پیشفرض، پیشنهاد میکنیم از /issue در Defect Add URL استفاده کنید. Azure Basic Process شامل Bug Work Item type نیست، اما اگر از Agile/SCRUM/CMMI Process استفاده میکنید، میتوانید /issue را با /bug یا هر type دیگری که ترجیح میدهید جایگزین کنید.

ثبت defectهای جدید از TestRail #
برای یکپارچهسازی عمیقتر در گزارش defectها، TestRail یک Azure DevOps defect plugin آماده استفاده دارد. این plugin به شما امکان میدهد بدون خروج از TestRail، issueهای جدید را به Azure DevOps ارسال کنید.
با استفاده از دیالوگ Push Defect ، میتوانید بهسرعت یک defect جدید با عنوان، توضیحات و هر فیلد دیگری که Azure DevOps پشتیبانی میکند ایجاد کنید.

میتوانید dialog ارسال defect را از دو بخش باز کنید: منوی Defects و dialog افزودن Test Result.
منوی Defects که با نام ویژگی Defect From Anywhere در TestRail هم شناخته میشود، برای دسترسی سریع در بالای بیشتر صفحهها نمایش داده میشود.

در dialog افزودن Test Result ، لینک Push کنار فیلد Defects نمایش داده میشود تا هنگام ثبت test result بتوانید defect را سریع گزارش کنید.

پیکربندی Defect Plugin #
برای ارسال defectهای جدید مستقیماً از TestRail، باید Defect Plugin Azure DevOps را در TestRail با مراحل زیر پیکربندی کنید.
- یک User Variable برای رمز عبور Azure DevOps یا Personal Access Token (PAT) ایجاد کنید.
- به صفحه Admin بروید، Integration را برای پیکربندی سراسری انتخاب کنید، یا Projects را برای یک project مشخص انتخاب کنید و تب Defects را باز کنید.
- variant مربوط به Azure_DevOps_ را در فهرست کشویی Defect Plugin انتخاب کنید (اگر تیم شما از Azure DevOps Services استفاده میکند CLOUD، و اگر از Azure DevOps Server استفاده میکند SERVER).
- تنظیمات اتصال را در [connection] بخش
-
address:
https://<Azure_DevOps_URL> - project: نام project شما
- user: نام کاربری شما
- password: User Variable مربوط به رمز عبور Azure DevOps یا Personal Access Token (PAT)
-
address:
- روی Save Settings کلیک کنید
همچنین میتوانید فیلدهایی را که هنگام hover کردن روی لینکها نمایش داده میشوند، سفارشی کنید. اطلاعات بیشتر درباره انجام این کار را در Customizing the Requirement/Defect Plugins بخش ببینید.
Defect Plugin از Azure DevOps API استفاده میکند، بنابراین برای اتصال به API به credentials معتبر نیاز دارید. باید یک Azure Personal Access Token ایجاد کنید با سطح دسترسی Full Access یا Custom Defined با همه مجوزهای مربوط به Work Items.
مشاهده defectها در TestRail #
کافی است روی لینکهای defectها hover کنید تا یک dialog آخرین اطلاعات را بدون نیاز به رفتن به Azure DevOps به شما نشان دهد. این لینکها مستقیماً در test results و همچنین در بخش Defects مربوط به test runها، test planها و milestoneها در دسترس هستند.

پیکربندی Defect Plugin #
برای مشاهده اطلاعات defectها بهصورت مستقیم در TestRail، باید Defect Plugin Azure DevOps را در TestRail پیکربندی کنید. اگر قبلاً Defect Plugin را برای ارسال defectها به TestRail تنظیم کردهاید، آمادهاید. در غیر این صورت، مراحل زیر را دنبال کنید.
- به صفحه Admin بروید، Integration را برای پیکربندی سراسری انتخاب کنید، یا Projects را برای یک project مشخص انتخاب کنید، سپس Defects تب
- گزینهٔ Azure_DevOps_ مناسب را در Defect Plugin از فهرست کشویی انتخاب کنید (اگر تیم شما از Azure DevOps Services استفاده میکند CLOUD را انتخاب کنید و اگر از Azure DevOps Server استفاده میکند SERVER را انتخاب کنید)
- تنظیمات اتصال را در بخش [connection] پیکربندی کنید
-
address:
https://<Azure_DevOps_URL> - project: نام project شما
- user: نام کاربری شما
- password: رمز عبور Azure DevOps یا Personal Access Token (PAT) شما
-
address:
- روی Save Settings کلیک کنید
همچنین میتوانید فیلدهایی را که هنگام نگهداشتن ماوس روی لینک نمایش داده میشوند، سفارشی کنید. برای اطلاعات بیشتر درباره روش انجام این کار، به بخش Customizing the Requirement/Defect Plugins مراجعه کنید.
Defect Plugin از Azure DevOps API استفاده میکند؛ بنابراین برای اتصال به API به اطلاعات احراز هویت معتبر نیاز دارید. باید یک Azure Personal Access Token ایجاد کنید که سطح دسترسی آن Full Access یا Custom Defined با همهٔ مجوزهای Work Items.
سفارشیسازیهای پیشرفته #
User Variables #
توصیه میکنیم هنگام تنظیم اطلاعات احراز هویت برای هر یکپارچهسازی، از User Variables استفاده کنید. این کار به شما امکان میدهد اطلاعات احراز هویت مشترک را بدون افشای آنها وارد کنید و همچنین به کاربران اجازه میدهد برای کنترل دسترسی بهتر، اطلاعات احراز هویت خودشان را در تنظیمات شخصی تعریف کنند. در ادامه نمونهای از نحوه تنظیم متغیرها در پیکربندی را میبینید.
user=%azure_username%
password=%azure_password%

سفارشیسازی Requirement/Defect Plugins #
پلاگین Azure DevOps برای کار با پیکربندی استاندارد Azure DevOps ساخته شده است. TestRail به شما اجازه میدهد فیلدهایی را که در Push dialog و همچنین هنگام نگهداشتن ماوس روی شناسههای work item نمایش داده میشوند، هم برای requirements و هم برای defects سفارشی کنید. فیلدهای push و hover ازپیشپیکربندیشده را میتوانید روی on یا off در بخشهای مربوط به [push.fields] و [hover.fields] تنظیم کنید؛ همچنین میتوانید ترتیب آنها را تغییر دهید و این تغییر در UI نمایش داده میشود.
#
برخی فیلدها، مثل عنوان، همیشه فعالاند و ممکن است در این بخشها نمایش داده نشوند، چون TestRail یا Azure DevOps همیشه آنها را الزامی میداند.
#
این plugin هم برای Azure DevOps Cloud و هم برای Azure DevOps Server در دسترس است و بهجز یک فیلد، عملکرد یکسانی دارد. plugin مربوط به Azure DevOps Server از فیلد assignee پشتیبانی نمیکند ، چون API محدودیتهایی دارد.
Azure DevOps Defect Plugin از تغییر ویژگیهای فیلدها و همچنین custom fieldها هم پشتیبانی میکند.
[push.types]
Bug=on
Epic=off
Issue=on
Task=on
UserStory=off
بهطور پیشفرض، این plugin از item typeهای تعریفشده در بالا پشتیبانی میکند، اما در ابتدا فقط Bug، Issue و Task فعال هستند. در Azure DevOps، item typeهای مختلف فیلدهای توضیحی متفاوتی دارند. برای مثال، یک Bug در Azure DevOps فیلدهای Reproduction Steps و System Info دارد، اما item type نوع Issue از فیلد Description استفاده میکند. این سه نوع فیلد را میتوان برای هر item type، با استفاده از [type.settings.<item_type>] بخش مربوطه فعال یا غیرفعال کرد. مقدار default برای مشخص کردن این استفاده میشود که توضیحات bug تنظیمشده در TestRail در کجا قرار بگیرد.
[type.settings.Bug]
description=off
repro_steps=default
system_info=on
علاوه بر فعال کردن، غیرفعال کردن یا مرتبسازی دوباره فیلدها طبق توضیحات بالا، میتوانید گزینههای دیگری را هم برای هر فیلد تغییر دهید. برای این کار، باید برای آن فیلد یک بخش تعریف کنید؛ مثلا [push.field.description] و گزینههای اضافی را داخل همین بخش مشخص کنید.
[push.field.description]
label=Detailed Description
required=true
فهرست کامل گزینههای فیلد و توضیح هرکدام را در ادامه میبینید:
| گزینه | توضیح |
|---|---|
api_field |
کلید فیلد در پاسخ API. برای مثال api_field=System.Description و api_field=Microsoft.VSTS.Common.AcceptanceCriteria (برای custom fieldها الزامی است)
|
api_list_id |
مقدار ID یک فیلد list، مانند 661eb38e-6f0b-484a-bc53-27a57c2e2d50. این مقدار از Azure DevOps API گرفته میشود. (برای custom fieldهایی که type=dropdownدارند الزامی است)
|
label |
نام نمایشی فیلد را در پنجره Push Defect مشخص میکند (برای custom fieldها الزامی است) |
size |
مشخص میکند که فیلد بهصورت compact field نمایش داده شود (compact) یا تمام عرض پنجره را بگیرد (full)
|
remember |
مشخص میکند که مقدارهای قبلا انتخابشده برای این فیلد ذخیره شوند و دفعه بعد که پنجره Push Defect باز میشود، دوباره نمایش داده شوند یا نه |
required |
مشخص میکند این فیلد اجباری است یا اختیاری، و آیا کاربران باید در پنجره Push Defect برای آن مقداری وارد کنند یا نه |
type |
نوع این فیلد را مشخص میکند. برای دیدن فهرست نوعهای فیلد پشتیبانیشده، بخش Custom fields در ادامه را ببینید. (برای custom fieldها الزامی است – اگر type=dropdown برای یک custom field تنظیم شده باشد، پس api_list_id هم الزامی است)
|
Custom fields #
برای اضافه کردن custom fieldها به پنجره Push Defect در TestRail هم میتوانید از روش بالا استفاده کنید. برای این کار، کافی است یک خط شامل custom field خودتان را به [push.fields] بخش مربوط به افزودن فیلد اضافه کنید.
[push.fields]
# ...
description=on
customfield_customer=on
سپس یک [field.settings.customfield_<field_name>] بخش اضافه کنید. این بخش لازم است تا plugin بتواند دادهها را به ابزار شما ارسال کند و/یا از آن دریافت کند. <field_name> میتواند هر مقداری باشد، چون ویژگیهای فیلد داخل بخش متناظر تعریف میشوند. نمونه زیر را ببینید.
[field.settings.customfield_customer]
api_field=System.Customer
label=Customer
size=compact
type=dropdown
required=true
نوعهای فیلد زیر پشتیبانی میشوند:
| نوع فیلد | توضیح |
|---|---|
bool |
یک منوی کشویی Yes/No برای مقدارهای دودویی مانند True/False، Yes/No یا موارد مشابه |
date |
یک فیلد متنی که مقدار تاریخ را با قالب YYYY-MM-DD یا ساختاری مشابه میپذیرد. قالببندی ممکن است به نیازهای ابزار یکپارچهشده بستگی داشته باشد. |
datetime |
یک فیلد متنی که مقدار تاریخ و زمان را با قالب YYYY-MM-DD HH:MM یا ساختاری مشابه میپذیرد. قالببندی ممکن است به نیازهای ابزار یکپارچهشده بستگی داشته باشد. |
dropdown |
یک فهرست کشویی که به کاربران اجازه میدهد یکی از چند گزینه را انتخاب کنند |
string |
یک فیلد کوچک برای متن آزاد، با حداکثر ۲۵۰ کاراکتر. |
text |
یک فیلد بزرگ برای متن آزاد، بدون محدودیت عملی در اندازه. |
پیوستها #
Azure DevOps Defect Plugin از ارسال پیوستها به Azure DevOps نیز پشتیبانی میکند. این فیلد را میتوان روشن یا خاموش کرد، اما قابل سفارشیسازی نیست. برای ارسال یک یا چند پیوست به Azure DevOps، کافی است پیوست را به بخش attachments یا description در پنجره push بکشید و رها کنید، یا روی آن بخش کلیک کنید و یک پیوست را از file system خود انتخاب کنید.

