این بخش توضیح میدهد چطور TestRail را با Redmine یکپارچه کنید. در حال حاضر سه روش برای یکپارچهسازی TestRail با Redmine وجود دارد:
- استفاده از Defect URLها برای لینک کردن نتایج تست به Redmine
- استفاده از defect plugin مخصوص Redmine برای ارسال و مشاهده اطلاعات issueهای Redmine
- استفاده از Reference URLها برای لینک کردن test caseها به Redmine
- استفاده از reference plugin مخصوص Redmine برای مشاهده issueهای Redmine در فیلد References موجودیتهای TestRail، مثل test caseها، test runها و milestoneها
لازم نیست از همه گزینههای یکپارچهسازی فهرستشده استفاده کنید؛ همچنین میتوانید این یکپارچهسازی را در کنار ابزارهای دیگر بهصورت ترکیبی به کار ببرید. پیکربندی این یکپارچهسازی معمولاً فقط چند دقیقه زمان میبرد. این راهنما توضیح میدهد چطور آن را پیکربندی کنید و این قابلیت چگونه کار میکند.
Defect URLها #
Defect URLها به TestRail میگویند که چطور یک Defect ID را به URL مربوط به نمونه Redmine شما تبدیل کند. دو نوع URL وجود دارد: View URL و Add URL.
از Defect View URL برای ساختن لینک به Redmine بر اساس Defect ID استفاده میشود؛ بنابراین کافی است روی یک ID کلیک کنید تا issue مستقیماً در Redmine باز شود.
از Defect Add URL برای ساختن لینک به صفحه ایجاد issue در Redmine استفاده میشود. پس از پیکربندی URL، یک لینک Add جدید کنار فیلد Defects در پنجره Add Test Result و در منوی Defects مربوط به قابلیت Push Defect From Anywhere در TestRail نمایش داده میشود. این لینک به شما اجازه میدهد برای گزارش یک bug جدید، مستقیماً به فرم New Issue در Redmine بروید.
اگر از لینک Add استفاده کنید، میتوانید ID مربوط به issue جدید Redmine را کپی کنید و آن را در هر فیلد Defects یا References داخل TestRail وارد کنید.
میتوانید URLهای Redmine را در TestRail بهصورت سراسری از مسیر Administration > Integration یا برای هر project جداگانه از داخل تنظیمات همان project پیکربندی کنید. برای تنظیم آدرسها از URLهای نمونه زیر استفاده کنید:
Redmine installation
Defect View Url: http://your-server/issues/%id%
Defect Add Url: http://your-server/projects/<projectid>/issues/new
Reference URLها #
Reference URLها بسیار شبیه Defect URLهایی که بالاتر توضیح داده شد پیادهسازی میشوند. تفاوت اصلی این است که Reference URLها برای فیلد References در موجودیتهای مختلف TestRail استفاده میشوند، نه برای فیلد Defects.
Reference View URL به همان روشی که بالاتر توضیح داده شد پیکربندی میشود و به TestRail اجازه میدهد بر اساس ID واردشده در فیلد References، یک لینک مستقیم به Redmine بسازد.
Reference Add URL نیز مانند Defect Add URL پیکربندی میشود. پس از پیکربندی، یک لینک Add کنار هر فیلد References در نمونه یا project شما نمایش داده میشود. اگر از لینک Add استفاده کنید، میتوانید ID مربوط به issue جدید Redmine را کپی کنید و آن را در هر فیلد Defects یا References داخل TestRail وارد کنید.
اگر Reference plugin را پیکربندی کرده باشید، میتوانید نشانگر ماوس را روی یک Reference ID نگه دارید و جزئیات issue را مستقیماً از داخل TestRail ببینید. برای آشنایی با نحوه استفاده و پیکربندی Defect Plugin و Reference Plugin، ادامه مطلب را بخوانید.
Defect Plugin #
از defect pluginها میتوان برای ایجاد یکپارچهسازی عمیقتر با bug tracker استفاده کرد. TestRail نیز یک Redmine defect plugin آماده استفاده دارد.
برای پیکربندی defect plugin، گزینه Administration > Integration و گزینه Redmine را در فهرست Defect Plugin انتخاب کنید. مرحله بعد این است که همه تنظیمات لازم برای اتصال را در فیلد Configuration پیکربندی کنید. در صورت نیاز، میتوانید pluginها و تنظیمات پیکربندی مخصوص هر project را در مسیر Administration > Projects مشخص کنید.
وقتی defect plugin پیکربندی شد، لینک جدیدی با عنوان Push کنار فیلد Defects در پنجره Add Test Result نمایش داده میشود. با کلیک روی این لینک، یک پنجره pop-up باز میشود که به شما امکان میدهد بدون خروج از TestRail، گزارش bug را به Redmine ارسال کنید. بعد از اضافه شدن test result، اگر نشانگر ماوس را روی issue ID نگه دارید، پنجرهای با اطلاعات مفید و جزئیات وضعیت آن issue در Redmine باز میشود.
لطفا توجه کنید: برای استفاده از یکپارچهسازی defect plugin، ابتدا باید REST API را در Redmine از مسیر Administration > Settings > Authentication > Enable REST web service فعال کنید.
Legacy mode #
اگر از نسخهای از Redmine استفاده میکنید که قدیمیتر از ۱.۳ است ، باید legacy mode مربوط به defect plugin را فعال کنید و categoryها و trackerهای project خود را بهصورت دستی پیکربندی کنید. دلیلش این است که نسخههای قدیمیتر Redmine هیچ API methodی برای دریافت فهرست categoryها و trackerها نداشتند؛ بنابراین باید این جزئیات را یکبار در TestRail پیکربندی کنید یا Redmine را ارتقا دهید. برای این کار، با اضافه کردن گزینه legacy به بخش connection در کادر پیکربندی defect plugin، که در مسیر Administration > Integration قرار دارد، legacy mode را فعال کنید:
[connection]
# ...
mode=legacy
بعد از آن باید trackerها و categoryهای project خود را نیز با اضافه کردن بخشهای زیر به کادر پیکربندی defect plugin اضافه کنید:
; tracker_id=tracker_name
[trackers]
1=Defect
2=Requirement
3=Support
# (etc...)
; project_id.category_id=category_name
[categories]
1.1=User Interface
1.2=Backend
1.3=Documentation
مطمئن شوید دقیقا از همان فرمتی استفاده میکنید که در بالا مشخص شده است. برای categoryها، باید project ID و category ID بهعنوان کلید هر ورودی.
سفارشیسازیها #
پلاگین Defect مربوط به Redmine برای کار با پیکربندی استاندارد Redmine ساخته شده است. TestRail به شما امکان میدهد فیلدهایی را که در پنجره Push نمایش داده میشوند، و همچنین فیلدهایی را که هنگام بردن نشانگر ماوس روی Defect IDها دیده میشوند، سفارشی کنید. فیلدهای ازپیشپیکربندیشده برای push و hover را میتوانید در بخشهای مربوطه، یعنی [push.fields] و [hover.fields]، روی «on» یا «off» بگذارید، یا با جابهجا کردن فیلدها در هر بخش، ترتیب نمایش آنها را تغییر دهید.
در نظر داشته باشید برخی فیلدها، مانند فیلد title، همیشه فعال هستند و چون TestRail یا Redmine همیشه به آنها نیاز دارد، ممکن است در این بخشها نمایش داده نشوند.
پلاگین Redmine Defect همچنین از تغییر ویژگیهای فیلدها و استفاده از فیلدهای سفارشی پشتیبانی میکند.
علاوه بر فعالسازی، غیرفعالسازی یا مرتبسازی دوباره فیلدها طبق توضیح بالا، میتوانید گزینههای اضافی هر فیلد را هم تغییر دهید. برای این کار، باید برای آن فیلد یک بخش تعریف کنید، مثل [push.field.description]، و گزینههای اضافی را داخل همان بخش مشخص کنید.
[push.field.description]
label=Detailed Description
required=true
برای فهرست کامل گزینههای موجود برای فیلدها و توضیح هرکدام، موارد زیر را ببینید:
| گزینه | توضیح |
|---|---|
| label | نام نمایشی فیلد را در پنجره Push Defect مشخص میکند (برای فیلدهای سفارشی الزامی است) |
| size | مشخص میکند فیلد بهصورت فشرده نمایش داده شود (compact) یا از تمام عرض پنجره استفاده کند (full) |
| remember | مشخص میکند مقدارهایی که قبلاً برای این فیلد انتخاب شدهاند ذخیره شوند و دفعه بعد که پنجره Push Defect باز میشود، دوباره نمایش داده شوند یا نه |
| required | مشخص میکند این فیلد اجباری است یا اختیاری، و آیا کاربران باید در پنجره Push Defect برای آن مقدار وارد کنند یا نه |
| type | نوع این فیلد را مشخص میکند. برای دیدن فهرست نوع فیلدهای پشتیبانیشده، بخش فیلدهای سفارشی را در ادامه ببینید. (برای فیلدهای سفارشی الزامی است) |
فیلدهای سفارشی #
برای افزودن فیلدهای سفارشی به پنجره Push Defect در TestRail نیز میتوانید از همین روش استفاده کنید. برای این کار، کافی است یک خط شامل فیلد سفارشی خود را به بخش [push.fields] اضافه کنید. فیلدهای سفارشی با این الگو مشخص میشوند: customfield_<id>.
[push.fields]
# ...
description=on
customfield_11002=on
فیلدهای سفارشی با این الگو مشخص میشوند: customfield_<id>. سپس یک بخش [field.settings.customfield_ اضافه کنید<id>] اضافه کنید. این بخش لازم است تا پلاگین بتواند دادهها را به ابزار شما push کند و/یا از آن دریافت کند. نمونه زیر را ببینید:
[field.settings.customfield_<field_name>]
label=Customer
size=compact
type=dropdown
required=true
نوع فیلدهای زیر پشتیبانی میشوند:
| نوع فیلد | توضیح |
|---|---|
| dropdown | یک لیست کشویی که کاربران میتوانند از بین چند گزینه، یکی را انتخاب کنند |
| چندانتخابی | به کاربران اجازه میدهد چند گزینه از پیش تعریفشده را انتخاب کنند |
| رشته | یک فیلد متن آزاد کوتاه، با حداکثر ۲۵۰ کاراکتر |
| متن | یک فیلد متن آزاد بلند، بدون محدودیت عملی برای اندازه متن |
پیوستها #
Redmine Defect Plugin از ارسال پیوستها به Redmine نیز پشتیبانی میکند. این فیلد را میتوان فعال یا غیرفعال کرد، اما امکان سفارشیسازی آن وجود ندارد. برای ارسال یک یا چند پیوست به Redmine، کافی است فایل پیوست را به بخش پیوستها یا توضیحات در پنجره Push بکشید، یا روی همان بخش کلیک کنید و فایل را از سیستم خود انتخاب کنید.
Reference Plugin #
از Reference plugin میتوان برای دریافت اطلاعات بیشتر بر اساس IDهایی استفاده کرد که در فیلد References موجودیتهای TestRail وارد شدهاند؛ مانند test case، test run و milestone. Reference Plugin در تب References از تنظیمات integration پیکربندی میشود، درست به همان روشی که Defect Plugin پیکربندی میشود.
این plugin از نمایش اطلاعات هنگام بردن نشانگر ماوس روی Reference IDها پشتیبانی میکند، اما برای فیلد References از Push dialog پشتیبانی نمیکند. همچنین میتوانید فیلدهایی را که هنگام hover روی لینک نمایش داده میشوند سفارشی کنید و همانطور که بالاتر توضیح داده شد، فیلدهای سفارشی اضافه کنید.
اگر Defect Plugin را از قبل برای Redmine پیکربندی کردهاید، میتوانید بخشهای [connection] و [hover.fields] را از تنظیمات Defect Plugin در پیکربندی Reference plugin کپی کنید. همچنین میتوانید فیلدهای متفاوتی را برای References و Defects نمایش دهید.
سفارشیسازیهای بیشتر #
TestRail از defect pluginهای سفارشی نیز پشتیبانی میکند. اگر تیم شما از TestRail Server استفاده میکند، میتوانید defect plugin را بیشتر سفارشی کنید، یا plugin اختصاصی خودتان را بسازید، تا از نوعهای فیلد بیشتر یا دادههای دیگر پشتیبانی کند. لطفاً برای اطلاعات بیشتر به مستندات defect pluginها مراجعه کنید.

