انتقل إلى المحتوى

Jira Todo Sync

كفى إمساك قائمتَي مهام. تعكس إضافة Jira Todo Sync مهام Turbo EA إلى مشروع Jira Cloud من اختياركم وتُبقي الجانبين متوافقين: فالمهمة المنشأة في Turbo EA تصير بندًا في Jira خلال ثوانٍ، وإنجازها ينقل البند إلى «منجَز»، أما بنود Jira المطابقة لمرشّح من اختياركم فتظهر بوصفها مهام. وتتزامن العناوين وتواريخ الاستحقاق والمسؤولون في الاتجاهين.

لمحة سريعة

الترخيص تجارية — يلزم حق ترخيص موقّع
الحد الأدنى لإصدار Turbo EA 2.68.0
الصلاحية ext.jira-todos.admin
تصاريح الوصول إلى البيانات core.todos.read، core.todos.write، core.events.todo، core.users.read
هل تلزم إعادة تشغيل الواجهة الخلفية نعم — تتضمن شيفرة للواجهة الخلفية
أين تظهر الإدارة → الإعدادات → عمليات التكامل → Jira Todo Sync · وسوم مفتاح البند في صفحة المهام وفي تبويب المهام داخل البطاقات

المدعوم هو Jira Cloud فقط. والاتصال صادر بالكامل — إذ تستدعي Turbo EA واجهة Jira البرمجية REST ببريد الحساب ورمز API. فلا يوجد ردّ نداء OAuth يلزم كشفه، ولا تطبيق Jira يلزم تثبيته، ولا وصول شبكي وارد، ومن ثمّ فهي تعمل على النسخ المستضافة ذاتيًا أو خلف جدار حماية.

الإعداد

1. أنشئوا رمز API من Atlassian

  1. انتقلوا إلى https://id.atlassian.com/manage-profile/security/api-tokens وسجّلوا الدخول بحساب Atlassian الذي ينبغي أن تعمل المزامنة باسمه. واستخدموا حساب خدمة مخصصًا إن توفر — فالبنود تُنشأ وتُنقل باسم هذا الحساب. (هذا الرابط المباشر هو الطريق الموثوق؛ إذ لم تعد صفحة الرموز متاحة عبر مسار قائمة واضح.)
  2. اضغطوا Create API token — الخيار العادي، لا Create API token with scopes. فالرموز ذات النطاقات غير مدعومة.
  3. سمّوه (مثلًا turbo-ea-sync) واختاروا مدة صلاحية. فـ Atlassian تشترط تحديدها وتحدّها بـسنة واحدة.
  4. انسخوا الرمز فورًا — فهو يُعرض مرة واحدة فقط.

الرموز تنتهي صلاحيتها

عند انتهاء صلاحية الرمز تتوقف المزامنة بأخطاء مصادقة إلى أن يُدخَل رمز جديد. دوّنوا تاريخ الانتهاء لحظة الإنشاء.

2. اربطوا Turbo EA

افتحوا الإدارة → الإعدادات → عمليات التكامل واختاروا التبويب الفرعي Jira Todo Sync.

ضمن اتصال Jira Cloud املؤوا:

الحقل ملاحظات
عنوان الموقع مثلًا https://your-site.atlassian.net
البريد الإلكتروني للحساب حساب Atlassian الذي يعود إليه الرمز
رمز API يُخزَّن مشفَّرًا. اتركوه فارغًا لاحقًا للإبقاء على الرمز المخزَّن

اضغطوا اختبار الاتصال. وعند النجاح تظهر الرسالة Connected as ….

3. حدّدوا النطاق

ضمن نطاق المزامنة:

  • مشروع Jira — اختاروه من القائمة التي تُحمَّل من Jira حالما تُملأ بيانات الاتصال. وتُنشأ المهام المدفوعة هناك بوصفها بنودًا من النوع Task.
  • مرشّح السحب (JQL) — البنود المطابقة لهذا الاستعلام تُعكس بوصفها مهام. اتركوه فارغًا للقيمة الافتراضية project = "<KEY>" AND statusCategory != Done.
  • فاصل الاستطلاع (ثوانٍ) — كل كم يُستعلَم Jira. القيمة الافتراضية 300 والحد الأدنى 60.

وضمن الاتجاهات ثلاثة مفاتيح:

المفتاح الافتراضي الأثر
إرسال المهام إلى Jira مفعّل المهام المنشأة في Turbo EA تصير بنودًا في Jira؛ وإنجاز المهمة ينقل بندها
سحب البنود من Jira مفعّل البنود المطابقة تظهر بوصفها مهام؛ وحلّ البند يُنجز مهمته
عكس مهام التوقيع (اتجاه واحد) معطّل توقيعات المخاطر والقرارات والمشاريع تصير بنودًا في Jira مع رابط عودة — لكن يظل إنجازها لازمًا داخل Turbo EA

اضغطوا حفظ الإعدادات. أما مزامنة الآن فتُشغّل دورة على الفور.

ولا يحتاج ربط المسؤولين إلى أي إعداد — إذ تربط Turbo EA الأشخاص بحسابات Jira تلقائيًا عبر عنوان البريد الإلكتروني.

كيف تتصرف المزامنة

الحدث الأثر
إنشاء مهمة في Turbo EA يُنشأ بند في Jira خلال ثوانٍ (عنوان، ووصف يتضمن رابط عودة، وتاريخ استحقاق، ومسؤول)
إنجاز المهمة أو تحريرها يُنقل البند إلى «منجَز» أو تُحدَّث حقوله
بند يطابق استعلام JQL يُعكس بوصفه مهمة
حلّ البند في Jira تُنجَز المهمة عند الاستطلاع التالي (والمهام المتكررة تنتقل إلى الدورة التالية)
إعادة فتح البند في Jira تُعاد المهمة إلى الفتح
تعديل من الجانبين يفوز التعديل الأحدث؛ وعند التساوي يفوز Jira
حذف المهمة في Turbo EA لا يُحذف البند أبدًا — بل يُضاف تعليق يوثّق الإزالة
حذف البند في Jira تُزال المهمة المسحوبة؛ أما المهمة المنشأة في Turbo EA فتُحفظ ويُشار إليها في السجل

الإرسال شبه فوري، والسحب دوري. فالتعديلات التي تُجرى في Turbo EA تصل Jira خلال ثوانٍ. أما التعديلات التي تُجرى في Jira فتُلتقط عند الاستطلاع التالي — أي خلال خمس دقائق افتراضيًا. وتُجري كل دورة كذلك مطابقة بين الجانبين، فيُصلح انقطاعُ Jira أو حدثٌ ضائع نفسه بنفسه بدل أن تضيع التعديلات.

وتبقى أربعة حقول متوافقة: العنوان وتاريخ الاستحقاق وحالة الإنجاز والمسؤول. ويقابل العنوانُ السطرَ الأول من نص المهمة، ولذا فإن إعادة تسمية بند في Jira تستبدل ذلك السطر بالتحديد وتُبقي أسطر التفاصيل التالية سليمة.

وسم مفتاح البند

تحمل المهمة المتزامنة مفتاح بندها في Jira (مثل PROJ-123) على هيئة رابط صغير، في صفحة المهام وفي تبويب المهام داخل البطاقة على السواء. والنقر عليه يفتح البند في Jira. والوسم للاسترشاد فحسب — إذ تُنجَز المهمة دائمًا في Turbo EA أو عبر المزامنة.

مهام التوقيع

طلبات التوقيع — مخاطرة أو قرار أو مشروع بانتظار موافقة أحدهم — هي مهام نظام ولا تُدفع أبدًا بوصفها مهامّ عادية. وحين يكون عكس مهام التوقيع مفعّلًا، تحصل على بند أحادي الاتجاه في Jira يرتبط مباشرة بالصفحة التي يجري فيها التوقيع فعلًا.

ولا يمكن منح التوقيع من Jira إطلاقًا. وإذا أغلق أحدهم البند المرآة بينما الالتزام ما زال قائمًا، أعادت المزامنة فتحه مع تعليق يحيل إلى Turbo EA. وحين يُستكمل التوقيع في Turbo EA يُنقل البند المرآة إلى «منجَز» عند الاستطلاع التالي.

وإطفاء المفتاح يمنع إنشاء مرايا جديدة فقط؛ أما القائمة منها فيستمر الحفاظ عليها.

المتابعة

يعرض سطر الحالة موعد آخر مزامنة، وأي خطأ وقع، وملخصًا لما أُنجز. وتحته يسرد النشاط الأخير أحدث 50 إجراءً مع الوقت والاتجاه (Turbo EA → Jira أو Jira → Turbo EA أو Sync) والبند ورسالة التفاصيل. والتحذيرات والأخطاء مميّزة بالألوان — وهنا يظهر أي مسؤول تعذّر ربطه أو أي انتقال حالة مرفوض.

الصلاحيات

الصلاحية تتيح
ext.jira-todos.admin إعداد المزامنة وتشغيلها — الاتصال والمشروع والمرشّحات والتشغيل اليدوي وسجل النشاط

والتبويب الفرعي مخفي تمامًا عن كل من لا يملكها. أما المستخدمون النهائيون فلا يحتاجون إلى أي صلاحية إضافية: إذ تظهر المهام المتزامنة ببساطة في قائمة مهامهم المعتادة مع وسم مفتاح البند.

إذا انتهى الترخيص أو عُطِّلت الإضافة

تتوقف مهمة المزامنة ومعالج أحداثها فورًا، وتُسحب تصاريح الوصول إلى البيانات. ولا يُحذف شيء — فالمهام تحتفظ بوسومها والإعدادات تبقى محفوظة. ويستأنف ترخيصٌ مُجدَّد المزامنة من حيث توقفت.

ورمز API مخزَّن مشفَّرًا في نسختكم ومستثنى من نقل مساحة العمل، فلا يغادر أبدًا النسخة التي أُدخل فيها.

استكشاف الأخطاء والحدود

  • Jira Cloud فقط. أما Jira Data Center فغير مدعوم.
  • مشروع واحد لكل نسخة، والبنود تُنشأ دائمًا بالنوع Task.
  • استطلاع دوري لا webhooks. فالتعديلات على جانب Jira تصل عند الاستطلاع التالي. إذ تتطلب webhooks في Jira Cloud تطبيق OAuth ونسخةً يمكن الوصول إليها من الإنترنت، ومع ذلك تظل الحاجة قائمة إلى استطلاع للمطابقة، ولذا فالمزامنة دورية عن قصد.
  • ربط المسؤولين وخصوصية البريد. تطابق Turbo EA الأشخاص بعنوان البريد أولًا، ثم تلجأ إلى مطابقة تامة للاسم المعروض بين الأشخاص القابلين للإسناد في المشروع. أما من كان بريده مخفيًا في Jira واختلف اسمه المعروض بين النظامين فلا يمكن ربطه؛ ويُترك هؤلاء المسؤولون دون تغيير، ويسجّل السجلُّ العنوانَ الذي تعذّرت مطابقته. ولا يؤدي تعذّر ربط مسؤول من Turbo EA أبدًا إلى إلغاء إسناد بند Jira في صمت.
  • مسح تاريخ الاستحقاق في Jira لا يُعكس رجوعًا. امسحوه في Turbo EA بدلًا من ذلك.
  • مرايا مهام التوقيع أحادية الاتجاه وقد تتأخر بمقدار فاصل استطلاع واحد، لأن مسارات التوقيع في النواة لا تُصدر أحداث تغيير.
  • تُجيب مزامنة الآن بالرسالة A sync is already running إذا كانت هناك دورة جارية بالفعل.
  • وبعد تدوير مفتاح SECRET_KEY الخاص بنسختكم، لا يعود بالإمكان فك تشفير الرمز المخزَّن وتعود اللوحة إلى الحالة Not configured yet — فأعيدوا إدخال الرمز.