مرحبا بالجميع!
تم تثبيت المكونات الإضافية Tempo لـ Atlassian Jira على عدد كبير من مثيلات Jira في كل من السحابة والخوادم. اضطررت إلى دمج البيانات من السحابة وخادم Jira وإعادة البيانات المجمعة إلى Cloud. بالإضافة إلى بيانات Jira القياسية ، كنت بحاجة أيضًا إلى دمج البيانات من مكون Tempo الإضافي. في هذه المقالة سأخبرك كيف فعلت اتحاد بيانات Tempo وترحيلها.
بيانات الإيقاع التي قمت بترحيلها:
- حسابات تيمبو (الحسابات)
- فرق تيمبو (الفرق)
- قيم حقول الحساب والفرق لجميع ishui في Jira
- Worklogs
عملية الاندماج والهجرة:
التقطت اثنين من Jira بالتهيئة التالية: Jira Software 7.11.2 و Jira Service Desk 3.14.2. ثم قمت بإزالة النسخة الاحتياطية من Jira Cloud وقمت بتثبيتها في المرة الأولى ، ثم قمت بإزالة النسخة الاحتياطية من Jira Server وقمت بتثبيتها في المثيل الثاني. بعد ذلك ، نقلت البيانات من المثيل الثاني إلى الأول باستخدام المكوّن الإضافي
مدير التهيئة (على الرغم من أنه من الممكن استخدام المكوّن الإضافي
Project Configurator ).
ونتيجة لذلك ، وجدت أنه في الحالة الأولى ، حيث كانت البيانات المجمعة موجودة بالفعل ، وجاهزة للنقل إلى السحابة ، كانت البيانات التالية من المكوّن الإضافي Tempo مفقودة:
- معلومات حساب تيمبو
- بيانات حول فرق تيمبو
- القيم في العش لحقلي الحساب والفريق
- مؤلفو سجلات العمل العشبية التي تم تنزيلها من Jira Cloud
كان من الضروري ملء هذه البيانات أثناء الترحيل.
كيف هاجرت بيانات البرنامج المساعد Tempo
الحسابات
كنت محظوظا بالحسابات. يحتوي المكون الإضافي Tempo على وظيفة مضمنة لتصدير واستيراد الحسابات.
كل ما كان علي فعله هو تصدير الحسابات من Jira Cloud و Jira Server إلى الملفات قبل تثبيت البيانات المدمجة في Jira Cloud ، وبعد ذلك ، بعد تحميل البيانات المدمجة في Jira Cloud ، استورد هذه الملفات إلى Cloud.
كانت هناك مشكلة واحدة فقط هي أن بعض مفاتيح الحساب في Jira Cloud و Jira Server كانت هي نفسها ، لذلك كنت بحاجة إلى تغيير هذه المفاتيح في أحد ملفاتهم. خلاف ذلك ، عند استيراد بيانات الحساب بنفس المفاتيح ، سيتم تحديث الحسابات أو أرشفتها ، ولكن لم يكن أي من هذه الخيارات يناسبني.
الفرق
مع الفرق كان الأمر أكثر صعوبة. لا توجد وظائف مضمنة لنقل الأوامر. لذلك ، كان علي استخدام Tempo Rest Api للحصول على البيانات في الأوامر ، ثم إنشاء هذه الأوامر في Jira Cloud.
استخدمت مكالمات الراحة التالية:
أردت أيضًا استخدام Tempo Rest Api لتعيين أذونات الأمر ، لكنني وجدت خطأً في هذا Api.
تحديد القيم الصحيحة في حقلي الحساب والفريق للجميع
نظرًا لعدم وجود معلومات حول معنى حقول الحساب والفريق في مثيل Jira المدمج ، كان عليّ حفظ هذه المعلومات قبل الترحيل.
بالنسبة إلى Jira Cloud ، استخدمت
Jira Rest Api للبحث عن جميع العناصر التي تم ملء حقول الحساب أو الفريق بها. ثم قمت بحفظ كل هذه العشائر بقيم الحقول في ملف.
بالنسبة إلى Jira Server ، استخدمت واجهة برمجة تطبيقات Jira Java للحصول على قيم حقلي الحساب والفريق.
ونتيجة لذلك ، حصلت على ملفين بمعلومات حول الحسابات والأوامر لـ ish من Jira Cloud و Jira Server.
كانت المشكلة أنه بعد أن قمت بترحيل البيانات المجمعة إلى Jira Cloud وإنشاء الحسابات والفرق ، لم تتطابق معرفات الفريق والحساب مع المعرّفات القديمة ، لذلك عندما قمت بتعيين القيم الصحيحة للفرق والحسابات لـ ish ، كان علي إعادة تعيين القيم القديمة معرف في جديدة.
لتحديث حقول الحساب والفريق ، استخدمت معيار
Jira Core Rest Api لتحديث Ishu .
سجلات الوظائف
لم تكن هناك مشاكل في سجلات العمل التي جاءت من ish مع Jira Server. تم تأجيل كل شيء دون أي تصحيحات ، ولكن كانت هناك مشاكل في السجلات حول العمل من العش مع Jira Cloud.
هذا يرجع إلى حقيقة أنه عندما تتم إضافة سجل عمل في Jira Cloud باستخدام المكوّن الإضافي Tempo ، تتم إضافة هذا السجل من مستخدم المكوّن الإضافي Tempo ، وليس من المستخدم الذي يصنع هذا السجل. لذلك ، من أجل الحصول على المستخدم المناسب ، تحتاج إلى الحصول على هذا المستخدم من قاعدة بيانات Tempo plugin.
لهذا السبب ، كان عليّ الحصول على المستخدمين المناسبين لسجلات عمل Jira Cloud قبل إجراء الترحيل.
تم ذلك على النحو التالي:
- لقد وجدت كل شيء في Jira Cloud ، حيث كان مستخدم سجل العمل مستخدمًا لمكون Tempo الإضافي. فعلت ذلك باستخدام مكالمة Jira Core Rest القياسية.
- ثم حصلت على جميع سجلات عمل Jira ID من تلك التي استلمتها Ish في الخطوة 1 بمساعدة مكالمة Rest هذه .
- ثم تلقيت بيانات من ملحق Tempo لجميع سجلات العمل التي تم الحصول عليها في الخطوة 2 وحفظها في ملف. تلقيت بيانات باستخدام Tempo Rest Api .
بعد ذلك ، بعد تثبيت النسخة الاحتياطية بالبيانات المدمجة ، قمت بحذف جميع سجلات العمل التي تمت إضافتها من المستخدم القياسي لملحق Tempo الإضافي وإضافة السجلات من الملف الذي تلقيته في الخطوة 3.
من الأفضل أيضًا تعيين حقل التقدير المتبقي عند إضافة سجل مهمة إلى اختياري. في هذه الحالة ، لن يكون من الضروري الحصول على القيمة الحالية لحقل التقدير المتبقي لكل مرة تقوم فيها بإضافة إدخال وظيفة.
مشاكل غير متوقعة
1. عند تثبيت المكون الإضافي Tempo Timesheets في Jira Cloud ، يتم إنشاء اتصال بين Jira Cloud وقاعدة بيانات Tempo ، وهو أمر مطلوب حتى تحصل على البيانات الخاصة بمثيل Jira عند تلقي البيانات من المكون الإضافي Tempo.
تكمن المشكلة في أنك إذا قمت باستعادة Jira Cloud من النسخة الاحتياطية ، فإن هذا الاتصال لم يعد مرئيًا من Jira Cloud ، وبالتالي يجب عليك إعادة تثبيت المكون الإضافي Tempo ، وبالتالي يتم تكوين اتصال جديد بين Jira Cloud و Tempo. ومع ذلك ، فإن الرابط القديم موجود بالفعل في قاعدة بيانات Tempo.
ونتيجة لذلك ، عند بدء العمل باستخدام ish ، يتم سحب البيانات من خلال الاتصالات القديمة والجديدة ، ويكون الاتصال القديم أساسيًا (على سبيل المثال ، إذا كان هناك في قاعدة بيانات Tempo القديمة أمر بنفس المعرّف كما في المعرّف الجديد ، فسيتم سحب اسم هذا الأمر من القديم DB تيمبو). ولكن إذا أدخلت إدارة الفرق والحسابات من خلال واجهة المستخدم الخاصة بالمسؤول ، فسوف نرى البيانات الصحيحة من آخر اتصال. وإذا قمنا بإنشاء تقرير Tempo مخصص ، فسوف نرى أيضًا البيانات الصحيحة. لذلك ، يجب حذف الاتصال القديم ، ولا يمكنك إزالته إلا من خلال الاتصال بدعم Tempo. الدعم الحقيقي عملت تيمبو بسرعة كبيرة وأنا ممتن لها.
2. بعد أن قمت بترحيل سجلات العمل مع Jira Server ، كان لدى بعض سجلات العمل تاريخ خصم قبل يوم واحد من الحاجة. كان هذا بسبب المنطقة الزمنية للمستخدم وتاريخ الخصم. اضطررت إلى كتابة برنامج للعثور على جميع سجلات العمل هذه وتغيير التاريخ.
بشكل عام ، هذا كل ما عليك القيام به ومعرفته لنقل البيانات بنجاح من المكوّن الإضافي Tempo. نأمل أن تكون هذه المعلومات مفيدة.