Trigger.dev
ربط
اربط Trigger.dev من الطرفية. مرّر --help للأعلام التي يقبلها Trigger.dev، إضافة إلى --no-browser للبيئات بلا واجهة.
polylane cloud connect --provider triggerdevمفتاح سري للبيئة يُنشأ بالإعداد المسبق "No restrictions" من صفحة API Keys الخاصة بالبيئة.
- في Trigger.dev، افتح صفحة API Keys الخاصة بالبيئة وأنشئ مفتاحاً بالإعداد المسبق "No restrictions".
- الصق المفتاح في Polylane واضغط Connect. يسمّي المفتاح مشروعه وبيئته بنفسه، فلا حاجة لكتابة أي شيء آخر.
يرسم Polylane البيئة ونشرها والمهام والجداول والطوابير. المهمة التي ظهرت في عمليات التشغيل لكنها غائبة عن الإصدار الحالي تبقى على الخريطة ويتم تمييزها. المفاتيح مشفّرة ولا يراها الوكيل أبدًا.
ويب هوك النشر والتنبيهات
تنبيهات ويب هوك في Trigger.dev تفتح مشكلة عند فشل عملية تشغيل وتحل تنبيهات النشر عند النجاح التالي. تنبيه واحد لكل بيئة:
- في صفحة Alerts للبيئة، أضف تنبيه ويب هوك مع العنوان من Settings الحساب، ضمن Webhooks، وأحداث "Task run failure" و"Deployment failure" و"Deployment success".
- الصق سر التوقيع الذي يعرضه Trigger.dev مرة واحدة في بطاقة Webhooks نفسها.
استكشاف الأخطاء وإصلاحها
"Polylane needs a key created with the 'No restrictions' preset"
- لا يمكن استخدام مفاتيح Trigger only وObserver وDeploy only وTask operator وVariables only: يقرأ Polylane هوية المشروع عبر نقطة نهاية لا يستطيع استدعاءها إلا مفتاح "No restrictions". أنشئ مفتاح "No restrictions" في صفحة API Keys الخاصة بالبيئة واربطه.
"Trigger.dev did not recognize this key"
- تأكد من نسخ المفتاح كاملاً ومن أنه لم يُلغَ.
"Dev keys only work while trigger dev runs" و"Preview keys are per branch and not supported"
- استخدم مفتاح prod أو staging.
موارد مفقودة
- "Sync" في ترويسة الحساب يحدّث قبل الدورة التالية كل 15 دقيقة.
قطع الاتصال
اقطع الاتصال في Polylane، ثم احذف المفتاح من صفحة API Keys الخاصة بالبيئة.
اربط Trigger.dev من مهمة CI أو أي بيئة أخرى بلا متصفح.
لا يحتاج ربط Trigger.dev إلى متصفح: نقطة النهاية نفسها التي تستدعيها وحدة التحكم تناسب مهمة CI. ينشئ طلب POST موثَّق واحد الاتصال ويبدأ المزامنة الأولى.
المتطلبات الأساسية
- مفتاح API من Polylane بنطاقَي
cloud_accounts:writeوcloud_accounts:read. انظر مفاتيح API وOAuth. - معرّف مساحة عملك، الذي يبدأ بـ
ws_. اقرأه منGET /v1/workspacesبالمفتاح نفسه. - مفتاح سري للبيئة من Trigger.dev (
tr_prod_sk_…أوtr_stg_sk_…) من بيئة prod أو staging لمشروعك، تحت API Keys. أنشئه بالإعداد المسبق No restrictions: يقرأ Polylane هوية المشروع عبر نقطة نهاية لا يستطيع استدعاءها إلا مفتاح "No restrictions"، لذا تُرفض مفاتيح Trigger only وObserver وDeploy only وTask operator وVariables only، وكذلك مفاتيح dev وpreview.
إنشاء الاتصال
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "triggerdev",
"workspaceId": "ws_0abc123",
"apiKey": "<environment-secret-key>"
}'
يسمّي المفتاح مشروعه وبيئته بنفسه، وينتمي المفتاح إلى بيئة واحدة بالضبط، فيربط استدعاء واحد بيئة واحدة: مفتاح prod يربط الإنتاج ومفتاح staging يربط بيئة staging، كل منهما كحساب مستقل. إرسال مفتاح لبيئة مربوطة أصلاً يستبدل مفتاح الحساب. لا يوجد مفتاح تبديل للبيئة يجب ضبطه. ربط البيئة هو طريقة اختيار مراقبتها.
تسرد الاستجابة ما رُبط، مع المزامنة الأولى جارية أصلاً. مختصرة إلى الحقلين اللذين تقرؤهما بقية التدفق:
{
"success": true,
"result": {
"provider": "triggerdev",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
المفتاح الذي ترفضه الواجهة البرمجية يقع في failures بدلاً من accounts مع رسالة تشرح السبب، فلا يكرر تكرار الاستدعاء اتصالاً أبداً.
انتظار المزامنة الأولى
استطلع كل حساب مُعاد عبر id الخاص به حتى تصل status إلى ready (new عند التسجيل، وsyncing أثناء تدفق الموارد):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
أعطِ الحلقة موعداً نهائياً ليُفشل الربط الفاشل المهمة بدلاً من تعليقها. وبعد أن يصبح الحساب ready، تكون موارده في Topology ويكون Polylane قد بدأ فحصه الأول.
الفصل من API
يوقف حذف الاتصال كل مزامنة وفحص ويحذف بيانات الاعتماد التي احتفظ بها Polylane. يحتاج الاستدعاء إلى نطاق cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
ثم ألغِ مفتاح Trigger.dev على جانب المزود، كما هو موضح تحت الفصل أدناه.
فصل
يوقف الفصل كل مزامنة وفحص ويحذف بيانات الاعتماد التي احتفظ بها Polylane. يزيل Polylane ما تسمح له API الخاصة بـ Trigger.dev بإزالته. ويبقى ما يلي حتى تزيله بنفسك:
- Trigger.dev webhook alert
polylane cloud disconnect <id>الأدوات
5العمليات التي يستطيع الوكلاء إجراءها في المحادثات.
الموارد المدعومة
5أنواع الموارد التي تظهر في مخطط بنيتك التحتية.