پائپ لائن ٹریگرز سیٹ کریں
ٹرگر ہی وہ چیز ہے جو پائپ لائن شروع کرتا ہے۔ ہر ٹرگر کینوس پر ایک نوڈ ہوتا ہے، جو نوڈ لائبریری کے ٹرگرز حصے سے گھسیٹ کر لایا جاتا ہے۔ اُس نوڈ کو منتخب کرنے پر اس کا انسپیکٹر دائیں طرف کھل جاتا ہے — نہ کوئی ہمہ وقت موجود ٹرگرز کی فہرست ہے، نہ ٹرگرز ٹیب، اور نہ ٹرگرز اسکرین۔
ٹرگر انسپیکٹر کھولیں
سیکشن کا عنوان “ٹرگر انسپیکٹر کھولیں”- ترتیبات → ورک اسپیس → پائپ لائن ٹیمپلیٹس پر جائیں۔
- ایڈیٹر کھولنے کے لیے ٹیمپلیٹ کی قطار پر پنسل دبائیں۔
- کینوس پر کوئی ٹرگر نوڈ منتخب کریں۔ دایاں پینل اُس ٹرگر کی ترتیبات کے ساتھ ظاہر ہوتا ہے۔ کچھ منتخب نہ ہونے پر پینل چھپا رہتا ہے۔
ٹرگر شامل کریں
سیکشن کا عنوان “ٹرگر شامل کریں”نوڈ لائبریری کا ٹرگرز حصہ ہر اسٹارٹ قسم کو اپنے الگ نوڈ کے طور پر دکھاتا
ہے: دستی، شیڈول، ویب ہک، اور فی ڈومین ایونٹ ایک کارڈ۔ merged، ticket یا ٹائپ کا
نام (PrMerged) تلاش کریں اور کارڈ کو کینوس پر گھسیٹیں۔ نئے ٹیمپلیٹ میں انٹری
اینکر پر ٹرگر شامل کریں کا ایک بھوت ٹائل بھی دکھائی دیتا ہے — اُسی تلاش کے
قابل فہرست میں سے چنیں۔
ٹرگر فوراً داخل ہو جاتا ہے۔ نئے خودکار ٹرگرز غیر فعال حالت میں شروع ہوتے ہیں تاکہ آپ کی کنفیگریشن سے پہلے کوئی ڈراپ رن نہ چلا دے۔ اسے آن کرنے کے لیے انسپیکٹر کا فعال سوئچ استعمال کریں، یا اسے حذف کرنے کے لیے بن کا آئیکن۔
دستی رنز کی اجازت دیں
سیکشن کا عنوان “دستی رنز کی اجازت دیں”دستی رن گھسیٹ کر لائیں (یا بھوت ٹائل سے چنیں) اور اس کے انسپیکٹر میں فعال
آن کریں۔ یہی وہ چیز ہے جو ٹیمپلیٹ کو رن لانچر میں دکھاتی ہے۔ یہ کوئی خاص کیس نہیں
— سوئچ ایک عام ٹرگر قطار لکھتا ہے جس کا ایونٹ ٹائپ manual ہوتا ہے۔ یہ فوراً
محفوظ ہو جاتا ہے؛ محفوظ کرنے کے لیے کچھ نہیں۔
ایڈیٹر ہیڈر میں دستی رن کے پیچھے بھی یہی سوئچ ہے، جہاں یہ ٹیمپلیٹ کے اعلان شدہ اِن پٹس کے ساتھ بیٹھتا ہے۔
ایونٹ پر
سیکشن کا عنوان “ایونٹ پر”یہ ایونٹس ایک رن شروع کرتے ہیں:
| پکر لیبل | ایونٹ |
|---|---|
| بیرونی PR کھلا | ExternalPrDetected |
| PR شائع ہوا | PullRequestPublished |
| PR اسٹیٹس بدلا | PullRequestStatusChanged |
| PR مرج ہوا | PrMerged |
| پیغام موصول | MessageReceived |
| ٹکٹ بن گیا | TicketCreated |
| ٹکٹ کی حیثیت بدل گئی | TicketStatusChanged |
| ٹکٹ تفویض ہوا | TicketAssigned |
| ٹکٹ مکمل | TicketCompleted |
| ٹکٹ ناکام | TicketFailed |
| ٹکٹ منسوخ | TicketCancelled |
| بجٹ حد پار ہوئی | BudgetThresholdCrossed |
| ریپوزٹری شامل ہوئی | RepoAdded |
| میٹنگ ریکارڈنگ رک گئی | MeetingRecordingStopped |
| مہارت اپ ڈیٹ ہوئی | SkillUpdated |
| اسپیس حذف ہو گئی | SpaceDeleted |
SpaceDeleted وہی ہے جس پر بلٹ اِن worktree صفائی والی پائپ لائن سنتی ہے: یہ حذف
شدہ اسپیس کی id ساتھ لاتا ہے، اس لیے رن پورے ورک اسپیس کی صفائی کے بجائے عین اُسی
اسپیس کے worktrees دوبارہ حاصل کرتا ہے۔
ہر ایونٹ اپنے ساتھ جو پے لوڈ کلیدیں لاتا ہے، اُن کے لیے ڈومین ایونٹس حوالہ دیکھیں۔
ایونٹ ٹرگر فلٹر کریں
سیکشن کا عنوان “ایونٹ ٹرگر فلٹر کریں”PR اسٹیٹس بدلا نوڈ منتخب کریں۔ انسپیکٹر کی اسٹیٹس چپس ہی وہ واحد فلٹر ہیں جو
UI سے لکھا جا سکتا ہے۔ merged، closed، approved، opened، reopened میں سے
کوئی بھی ٹیپ کریں؛ پھر ٹرگر صرف اُس وقت چلتا ہے جب ایونٹ کا status ان میں سے
کسی سے مماثل ہو۔ ہر چپ کو غیر منتخب چھوڑنے کا مطلب ہے کوئی فلٹر نہیں۔
کوئی آزادانہ JSON فلٹر فیلڈ نہیں ہے۔ ایسی فلٹر کلید جسے ایونٹ کا پے لوڈ ساتھ نہ لاتا ہو کبھی مماثل نہیں ہوتی، اس لیے ایسی کلید کے خلاف خود کوئی فلٹر نہ لکھیں جس کی تصدیق آپ نے ڈومین ایونٹس حوالے میں نہ کی ہو۔
شیڈول پر
سیکشن کا عنوان “شیڈول پر”شیڈول نوڈ منتخب کریں تاکہ اس کے چلنے کا وقت ترمیم کر سکیں۔ انسپیکٹر کے فیلڈز جیسے آپ چھوڑتے ہیں ویسے ہی محفوظ رہتے ہیں:
| فیلڈ | وضاحت |
|---|---|
| شیڈول (cron یا every:seconds) | پانچ فیلڈ والا cron اظہار جیسے 0 9 * * 1، یا کوئی انٹرول جیسے every:86400۔ خالی عدد کو every:<n> میں بدل دیا جاتا ہے۔ |
| ٹائم زون (اختیاری) | کوئی IANA زون جیسے Europe/Paris۔ ڈیفالٹ UTC ہے۔ |
| چھوٹے رنز پر | سرور بند ہونے کے دوران چھوٹ جانے والے فائرز کا کیا کرنا ہے: ایک بار چلائیں ری اسٹارٹ پر ہر چھوٹے ہوئے سلاٹ کو ایک فائر میں سمیٹ دیتا ہے (ڈیفالٹ)، چھوڑیں اگلے آنے والے سلاٹ سے دوبارہ شروع کرتا ہے۔ |
کینوس ٹائل کی سمری لائن صرف every:<seconds> شکل کے لیے انٹرول تفصیل سے لکھتی
ہے؛ cron اظہار صرف “شیڈول” دکھائی دیتا ہے۔
ویب ہک کے ذریعے
سیکشن کا عنوان “ویب ہک کے ذریعے”ویب ہک گھسیٹ کر لانے سے ایک بے ترتیب ٹوکن بنتا ہے۔ راستہ POST /webhooks/<token>
انسپیکٹر سے کاپی کرنے کے لیے نوڈ منتخب کریں۔
ٹوکن HMAC سیکرٹ بھی ہے: درخواست کے ساتھ
X-Hub-Signature-256: sha256=<hex> ہونا ضروری ہے، جہاں hex HMAC-SHA256(body, token)
ہوتا ہے۔ تصدیق میں ناکام ہونے والی ترسیل مسترد اور لاگ کر دی جاتی ہے اور دوبارہ
نہیں چلائی جا سکتی۔ نقول اپنی dedupe کلید کے ذریعے نظر انداز کر دی جاتی ہیں۔
ہر اسٹارٹ اپنا الگ گراف نوڈ ہے۔ شیڈول سے تار کھینچنے پر صرف شیڈول جڑتا ہے؛ دستی رن اُسی کام میں شامل ہونے سے پہلے کوئی مختلف راستہ (مثلاً کوئی کنڈیشن نوڈ) لے سکتا ہے۔ رن اُسی اسٹارٹ میں داخل ہوتا ہے جو اس کے ایونٹ ٹائپ سے مماثل ہو اور باقی اسٹارٹس سے تعلق رکھنے والے ذیلی گراف چھوڑ دیتا ہے۔
ٹرگر رن تک کیسے پہنچتا ہے
سیکشن کا عنوان “ٹرگر رن تک کیسے پہنچتا ہے”فعال ٹرگر جس کا ایونٹ ٹائپ اور فلٹر دونوں مماثل ہوں، ایونٹ کے پے لوڈ کو رن کے
ٹرگر پے لوڈ کے طور پر لے کر ایک رن شروع کرتا ہے — کسی قدم کے پرامپٹ یا اسکرپٹ میں
{{key}} اسی کے خلاف حل ہوتا ہے۔ جو ایونٹس قدرتی کلید ساتھ لاتے ہیں اُن کی نقل
ہٹا دی جاتی ہے، اس لیے ایک ہی ایونٹ کا دو بار چلنا دو رنز شروع نہیں کرتا۔
غیر فعال ٹیمپلیٹ سے انکار کر دیا جاتا ہے چاہے اس کا ٹرگر مماثل ہو۔ تیرہ بلٹ اِن ٹیمپلیٹس میں سے آٹھ غیر فعال آتے ہیں، اس لیے اُن کے سیڈ شدہ ٹرگرز خالی جگہ میں چلتے ہیں جب تک آپ ٹیمپلیٹ آن نہ کریں۔
کارآمد پیٹرنز
سیکشن کا عنوان “کارآمد پیٹرنز”- صرف دستی راستے پر گیٹ لگائیں — دستی رن کو کسی کنڈیشن نوڈ سے گزار کر جوڑیں، اور شیڈول کو سیدھا کام سے۔ ہر اسٹارٹ اپنی تاروں کا خود مالک ہے۔
- ہر نئے PR کا ریویو کریں —
pr_reviewٹیمپلیٹ پر PR شائع ہوا ایونٹ۔ - مرج کے بعد صفائی کریں — PR اسٹیٹس بدلا ایونٹ،
merged/closed/approvedپر فلٹر شدہ۔ بلٹ اِنpr_merged_cleanupٹیمپلیٹ پہلے ہی اسی طرح سنتا ہے، نیز ٹکٹ مکمل/منسوخ،SpaceDeleted، اور ایک روزانہ شیڈول جو ہر دوبارہ سیڈ پر زبردستی فعال کر دیا جاتا ہے کیونکہ یہ گاربیج کلیکشن ہے۔ - رات کی صفائی — ٹائم زون کے ساتھ شیڈول
0 2 * * *، ایسے ٹیمپلیٹ پر جس کا پہلا نوڈ bash اسکرپٹ ہو۔ - کسی بیرونی نظام پر ردِ عمل دیں — ایک ویب ہک ٹرگر، جس میں بلانے والا نظام اپنے درخواست باڈی پر اوپر کے مطابق دستخط کرے۔
متعلقہ گائیڈز
سیکشن کا عنوان “متعلقہ گائیڈز”- پائپ لائن ٹیمپلیٹ بنائیں
- پائپ لائن دستی طور پر چلائیں
- پائپ لائن رنز کی نگرانی کریں
- ڈومین ایونٹس حوالہ