#
این مقاله درباره یکپارچهسازی با GitHub Issues است. اگر دنبال اطلاعات مربوط به یکپارچهسازیهای CI/CD هستید، مستندات یکپارچهسازی با GitHub Actions را ببینید.
TestRail با GitHub یکپارچه میشود تا تیم شما بتواند issueها را بین TestRail و GitHub بهعنوان bug/defect ، requirement/reference ، یا هر دو link کند، مشاهده کند، اضافه کند و push کند. یکپارچهسازی TestRail با GitHub از کاربردهای زیر پشتیبانی میکند:
- Link کردن test caseها به requirementها
- شروع ساخت requirementها از TestRail
- مشاهده requirementها در TestRail
- Link کردن defectها به نتایج تست
- ثبت defectهای جدید در GitHub
- ثبت defectهای جدید از TestRail
- مشاهده defectها در TestRail
لازم نیست از همه گزینههای یکپارچهسازی فهرستشده استفاده کنید؛ میتوانید این integration را همراه با ابزارهای دیگر و بهصورت ترکیبی به کار ببرید. پیکربندی این integration معمولاً فقط چند دقیقه زمان میبرد. این راهنما توضیح میدهد integration را چطور پیکربندی کنید و این قابلیت چگونه کار میکند.
Link کردن test caseها به requirementها #
برای تنظیم test coverage، هنگام ساخت یا ویرایش test caseها، کافی است یک یا چند work item ID را، که با کاما از هم جدا شدهاند، به فیلد References اضافه کنید.

مقدارهای References که در test caseهای خود تنظیم میکنید، به لینک مستقیم به issueهای GitHub تبدیل میشوند.

شروع ساخت requirementها از TestRail #
issueهای GitHub میتوانند بهعنوان منبع requirementها استفاده شوند و referenceهای ارزشمندی برای test caseها باشند. TestRail یک قابلیت کاربردی برای لینک Add در نمای ویرایشگر test case ارائه میکند که شما را مستقیم به صفحه issueهای GitHub میبرد. این قابلیت ساخت requirementهای جدیدی را که میخواهید به test caseهای خود مرتبط کنید سریعتر میکند. به خاطر داشته باشید که بعد از ساخت work item جدید، باید ID آن را کپی کنید و در فیلد References قرار دهید تا traceability بهدرستی برقرار شود.

پیکربندی Reference Add URL #
برای شروع ساخت requirementهای جدید از TestRail، باید Reference Add URL مربوط به GitHub را در TestRail با مراحل زیر پیکربندی کنید.
- به صفحه Admin بروید و Integration را برای پیکربندی سراسری انتخاب کنید، یا Projects را برای یک project انتخاب کنید و تب References را باز کنید
- مقدار Reference Add URL را با الگوی زیر وارد کنید
https://github.com/<OWNER>/<REPOSITORY>/issues/new - روی Save Settings کلیک کنید
مشاهده نیازمندیها در TestRail #
TestRail میتواند از IDهایی که در فیلد References موجودیتهای TestRail، مانند test case، test run و milestone وارد شدهاند، اطلاعات بیشتری دریافت کند. کافی است نشانگر را روی لینکها ببرید تا یک پنجره اطلاعات بهروز را بدون نیاز به رفتن به GitHub نمایش دهد.

پیکربندی Reference Plugin #
برای مشاهده نیازمندیها بهصورت مستقیم در TestRail، باید GitHub Reference Plugin را در TestRail با انجام مراحل زیر پیکربندی کنید.
- یک User Variable برای GitHub Personal Access Token (PAT) ایجاد کنید
- به صفحه Admin بروید و گزینه Integration را برای پیکربندی کلی انتخاب کنید، یا Projects را برای یک project انتخاب کنید و تب References را باز کنید
- نوع GitHub موردنظر خود را از فهرست کشویی Reference Plugin انتخاب کنید
- تنظیمات اتصال را در بخش [connection] پیکربندی کنید
- address: https://<GitHub_URL>/
- user: نام کاربری شما برای GitHub
- password: شما User Variable برای GitHub Personal Access Token (PAT)
- owner: مالک repository در GitHub
- name: نام repository در GitHub
- روی Save Settings

#
برای ایجاد GitHub API token در حساب GitHub خود، روی Settings ، سپس Developer Settings کلیک کنید. سپس روی Personal Access Tokens در منوی سمت چپ کلیک کنید. روی Generate new token.
لینک کردن defectها به test resultها #
فیلد Defect View URL برای ساختن لینک به GitHub بر اساس Defect ID استفاده میشود؛ بنابراین میتوانید فقط روی یک ID کلیک کنید تا issue مستقیماً در GitHub باز شود.
وقتی integration مربوط به Defect View URL را برای GitHub Issues تنظیم میکنید، میتوانید ID یک GitHub issue را در فیلد Defects یک test result وارد کنید. TestRail این ID را بهطور خودکار به یک لینک قابل کلیک تبدیل میکند تا بتوانید issue را در GitHub ببینید. با این کار، تیم شما میتواند testها را به GitHub issueها لینک کند و در TestRail گزارشهای defect و traceability بسازد.

پیکربندی Defect View URL #
برای لینک کردن defectها به test resultها در TestRail، باید GitHub Defect View URL را با مراحل زیر در TestRail پیکربندی کنید.
- به صفحه Admin بروید، Integration را برای پیکربندی global انتخاب کنید، یا Projects را برای یک project خاص انتخاب کنید و Defects tab را باز کنید
- مقدار Defect View URL را با الگوی زیر وارد کنید
https://github.com/<OWNER>/<REPOSITORY>/issues/%id% - روی Save Settings
نکته : لطفاً مطمئن شوید که <OWNER> و <REPOSITORY> را با repository واقعی و نام owner در GitHub که میخواهید با آن یکپارچه شوید جایگزین کردهاید.

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

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

پیکربندی Defect Add URL #
برای اینکه بتوانید سریع برای ایجاد defect جدید به GitHub بروید، باید GitHub Defect URL را در TestRail با مراحل زیر پیکربندی کنید.
- به صفحه Admin بروید، Integration را برای پیکربندی سراسری انتخاب کنید یا Projects را برای یک project مشخص انتخاب کنید، سپس Defects tab را باز کنید.
- Defect Add URL خود را با الگوی زیر وارد کنید.
https://github.com/<OWNER>/<REPOSITORY>/issues/new - روی Save Settings کلیک کنید.

توجه: لطفاً مطمئن شوید که <OWNER> و <REPOSITORY> را با repo واقعی و نام owner در GitHub که میخواهید با آن یکپارچه شوید جایگزین کردهاید.
ثبت defectهای جدید از TestRail #
برای سادهتر کردن گزارش defect، TestRail یک GitHub defect plugin از پیش پیکربندیشده ارائه میکند. با این plugin میتوانید issueهای جدید را مستقیماً از داخل TestRail در GitHub ثبت کنید.
با استفاده از پنجره Push Defect ، میتوانید بهسرعت یک defect جدید با عنوان، توضیحات و فیلدهای اضافی پشتیبانیشده در GitHub ایجاد کنید. این روند، مدیریت defectها را سادهتر و روانتر میکند.

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

پنجره Add Test Result ، لینک Push را کنار فیلد Defects نمایش میدهد تا هنگام ثبت نتایج test، بتوانید defect را بهراحتی گزارش کنید.

پیکربندی Defect Plugin #
برای ثبت defectهای جدید بهصورت مستقیم از TestRail، باید GitHub Defect Plugin را در TestRail طبق مراحل زیر پیکربندی کنید.
- به صفحه Admin بروید و Integration را برای پیکربندی سراسری یا Projects را برای پیکربندی یک project انتخاب کنید، سپس تب References را باز کنید.
- گزینه GitHub موردنظر خود را از فهرست کشویی Reference Plugin انتخاب کنید.
- تنظیمات اتصال را در بخش [connection] پیکربندی کنید.
- address: https://<GitHub_URL>/
- user: نام کاربری شما در GitHub
- password: personal access token شما در GitHub (PAT)
- owner: مالک repository در GitHub
- name: نام repository در GitHub
- روی Save Settings کلیک کنید

مشاهده defectها در TestRail #
کافی است نشانگر را روی لینکهای defect نگه دارید تا یک پنجره، آخرین اطلاعات را بدون نیاز به رفتن به GitHub نشان دهد. این لینکها هم مستقیماً در test resultها در دسترس هستند و هم در بخش Defects مربوط به test runها، test planها و milestoneها.

پیکربندی Defect Plugin #
برای ثبت defectهای جدید مستقیماً از TestRail، باید GitHub Defect Plugin را در TestRail با انجام مراحل زیر پیکربندی کنید.
- به صفحه Admin بروید، Integration را برای پیکربندی سراسری انتخاب کنید، یا Projects را برای یک project مشخص انتخاب کنید و تب References را باز کنید
- در فهرست کشویی Reference Plugin، گزینه GitHub مناسب خود را انتخاب کنید
- تنظیمات اتصال را در بخش [connection] پیکربندی کنید
- address: https://<GitHub_URL>/
- user: نام کاربری شما در GitHub
- password: personal access token شما در GitHub (PAT)
- owner: مالک repository در GitHub
- name: نام repository در GitHub
- روی Save Settings کلیک کنید

#
برای ایجاد GitHub API token در حساب GitHub خود، روی Settings و سپس روی Developer Settings کلیک کنید. بعد، در منوی سمت چپ روی Personal Access Tokens کلیک کنید. روی Generate new token کلیک کنید.
همچنین میتوانید فیلدهایی را که با hover کردن روی لینک نمایش داده میشوند سفارشی کنید. برای اطلاعات بیشتر درباره روش انجام این کار، به بخش سفارشیسازی پلاگینهای Requirement/Defect مراجعه کنید.
سفارشیسازیهای پیشرفته #
User Variables #
توصیه میکنیم هنگام پیکربندی credentialهای هر integration از User Variables استفاده کنید. با این کار میتوانید credentialهای عمومی را بدون افشای آنها وارد کنید و در عین حال به کاربران اجازه دهید برای کنترل دسترسی بهتر، credentialهای خودشان را در تنظیمات شخصی تعریف کنند. در ادامه نمونهای از نحوه تعریف variableها در پیکربندی را میبینید.
user=%github_username%
password=%github_password%

سفارشیسازی پلاگینهای Requirement/Defect #
پلاگین GitHub برای کار با پیکربندی استاندارد GitHub ساخته شده است. TestRail به شما امکان میدهد فیلدهایی را که در Push dialog و همچنین هنگام hover کردن روی work item IDها نمایش داده میشوند، هم برای Requirementها و هم برای Defectها سفارشی کنید. فیلدهای push و hover از پیش تنظیمشده را میتوانید روی on یا off تنظیم کرد؛ این کار در بخشهای مربوط به [push.fields] و [hover.fields] انجام میشود. همچنین میتوانید ترتیب آنها را تغییر دهید؛ این تغییر در UI هم نمایش داده میشود.
#
برخی فیلدها، مثل title، همیشه فعال هستند و ممکن است در این بخشها نمایش داده نشوند، چون برای TestRail یا GitHub الزامیاند.
علاوه بر فعالکردن، غیرفعالکردن یا مرتبسازی دوباره فیلدها طبق توضیح بالا، میتوانید گزینههای اضافی هر فیلد را هم تغییر دهید. برای این کار، بخشی برای همان فیلد تعریف میکنید، مثل [push.field.description] و گزینههای اضافی را در همان بخش مشخص میکنید.
[push.field.description]
label=Detailed Description
required=true
در ادامه فهرست کامل گزینههای موجود برای فیلدها و توضیح هرکدام را ببینید:
| گزینه | توضیح |
|---|---|
label |
نام نمایشی فیلد را در Push Defect dialog مشخص میکند (برای فیلدهای سفارشی الزامی است) |
size |
مشخص میکند که فیلد بهصورت compact نمایش داده شود (compact) یا از تمام عرض dialog استفاده کند (full)
|
remember |
مشخص میکند که آیا مقادیر قبلاً انتخابشده برای این فیلد ذخیره شوند و دفعه بعد که Push Defect dialog باز میشود، دوباره بازیابی شوند یا نه |
required |
مشخص میکند این فیلد اجباری است یا اختیاری، و آیا کاربران باید در پنجره Push Defect برای آن مقداری وارد کنند یا نه. |
پیوستها #
Defect Plugin مربوط به GitHub از ارسال پیوست به GitHub هم پشتیبانی میکند. این فیلد را میتوانید روشن یا خاموش کنید، اما قابل سفارشیسازی نیست. برای ارسال یک یا چند پیوست به GitHub، کافی است فایل پیوست را به بخش attachments یا description در پنجره push بکشید، یا روی آن بخش کلیک کنید و فایل را از سیستم خود انتخاب کنید.
#
برای فعال کردن پیوستها در پنجره push، مقدار «attachments=on» را به [push.fields] بخش تنظیمات Defect Plugin اضافه کنید.




