مواد پر جائیں

پائپ لائن ٹریگرز سیٹ کریں

ٹرگر ہی وہ چیز ہے جو پائپ لائن شروع کرتا ہے۔ ہر ٹرگر کینوس پر ایک نوڈ ہوتا ہے، جو نوڈ لائبریری کے ٹرگرز حصے سے گھسیٹ کر لایا جاتا ہے۔ اُس نوڈ کو منتخب کرنے پر اس کا انسپیکٹر دائیں طرف کھل جاتا ہے — نہ کوئی ہمہ وقت موجود ٹرگرز کی فہرست ہے، نہ ٹرگرز ٹیب، اور نہ ٹرگرز اسکرین۔

  1. ترتیبات → ورک اسپیس → پائپ لائن ٹیمپلیٹس پر جائیں۔
  2. ایڈیٹر کھولنے کے لیے ٹیمپلیٹ کی قطار پر پنسل دبائیں۔
  3. کینوس پر کوئی ٹرگر نوڈ منتخب کریں۔ دایاں پینل اُس ٹرگر کی ترتیبات کے ساتھ ظاہر ہوتا ہے۔ کچھ منتخب نہ ہونے پر پینل چھپا رہتا ہے۔

نوڈ لائبریری کا ٹرگرز حصہ ہر اسٹارٹ قسم کو اپنے الگ نوڈ کے طور پر دکھاتا ہے: دستی، شیڈول، ویب ہک، اور فی ڈومین ایونٹ ایک کارڈ۔ 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 اسکرپٹ ہو۔
  • کسی بیرونی نظام پر ردِ عمل دیں — ایک ویب ہک ٹرگر، جس میں بلانے والا نظام اپنے درخواست باڈی پر اوپر کے مطابق دستخط کرے۔