→ المدونة
أدلة عملية8 د قراءةThe Taskfolk team5 مشاهدةحُدِّث في

كيف تنتقل من Jira أو Trello أو Asana من دون أن تفقد بياناتك

XLinkedIn

نقل فريق من Jira أو Trello أو Asana ليس الجزء المخيف. الجزء المخيف هو الأسبوع الذي يليه، حين يسأل أحدهم أين ذهبت تذكرة ما ولا تملك جوابًا. لذا قبل أن تصدّر أي شيء، من المفيد أن تعرف بالضبط ما الذي ينتقل، وما الذي لا ينتقل، وما الذي عليك أن تقرره بيدك.

هذا دليل عملي، لا عرض مبيعات لزر سحري. نحن من بنى الاستيراد في Taskfolk، وسأخبرك أين هو جيد فعلًا وأين سيترك فجوات عليك أن تسدها. لا أحد يشحن ترحيلًا بنقرة واحدة يحفظ كل شيء. ومن يدّعي ذلك يراهن على أنك لن تتحقق.

ما الذي ينتقل فعلًا

يستورد Taskfolk المهام بطريقتين: رفع ملف CSV، أو اتصال مباشر بأداتك الحالية. موصلات الخدمات تغطي Trello وJira وClickUp وMonday وAsana وLinear. تلصق رمز API للقراءة فقط مع معرّف اللوحة أو المشروع (معرّف لوحة Trello، أو مفتاح مشروع Jira مع نطاق الموقع، أو معرّف مشروع Asana، وهكذا)، فيسحب Taskfolk العناصر ويحوّل كل واحد منها إلى مهمة.

خطوة اختيار المصدر في معالج الاستيراد، حيث تختار CSV أو موصل خدمة

المساران يصبّان في المكان نفسه، فالمطابقة واحدة سواء رفعت جدول بيانات أو اتصلت بالمصدر مباشرة.

flowchart LR
    A[CSV upload] --> N[One normaliser]
    B[Service connector] --> N
    N --> M[Status, type, priority mapping]
    M --> P[Issues in your Taskfolk project]

إليك ما ينتقل نظيفًا:

  • العناوين والأوصاف. اسم البطاقة أو التذكرة يصبح عنوان المهمة، والمتن يصبح الوصف. تنسيق الوصف الغني في Jira وMarkdown في ClickUp يُسطّحان إلى نص Markdown عادي.
  • الحالة. يقرأ Taskfolk اسم العمود أو الحالة عندك ويطابقه مع فئة. "To Do" و"Doing" و"Done" من Trello، أو حالات Linear من الباكلوج إلى المكتمل، تقع كلها في مكانها الصحيح. وإن كان الاسم غير مألوف، يعود إلى قائمة الانتظار بدل إسقاط الصف.
  • النوع. أنواع مهام Jira تُطابق مع ملحمة / قصة / مهمة / خطأ في Taskfolk. تصبح "feature" قصة، و"defect" خطأ، وكل ما لم يُتعرف عليه يصبح مهمة.
  • الأولوية. "Urgent" و"blocker" و"minor" والمرادفات المعتادة تُطابق مع سلم الأولويات في Taskfolk.
  • التسميات والوسوم. كل تسمية على عنصر تُنشأ في المشروع الهدف إن لم تكن موجودة، ثم تُلحق به. لا حاجة لإنشائها مسبقًا.
  • المُسند إليهم، إن كان الشخص عضوًا في مساحة العمل أصلًا. المزيد عن هذه أدناه، لأنها النقطة التي يتعثر عندها الناس.
  • التعليقات وتواريخ الاستحقاق، حيثما يكشفها المصدر.

المستورد متسامح عمدًا مع المفردات. Trello وJira وملف CSV المعدل يدويًا تستخدم كلمات مختلفة للشيء نفسه، والموحّد يتحمل ذلك كي لا يضيع صف بصمت بسبب تسمية لم يتعرف عليها.

ما الذي يحتاج قرارًا منك

بعض الأشياء لا يمكن نقلها تلقائيًا، والتظاهر بغير ذلك سينقل المشكلة إلى الأسبوع المقبل فحسب.

المرفقات تنتقل روابطَ، لا ملفات. لا يعيد Taskfolk تنزيل كل ملف من Trello أو Jira ولا يعيد استضافته. بدل ذلك، تُضاف روابط المرفقات الأصلية إلى وصف المهمة في قائمة قصيرة. تبقى هذه الروابط صالحة ما دام الحساب القديم حيًا والملف قابلًا للقراءة هناك.

إن كنت تخطط لإغلاق الأداة القديمة نهائيًا، فنزّل المرفقات التي تهمك أولًا، أو أبقِ حساب المصدر مفتوحًا بوضع القراءة فقط لفترة سماح. هذه أكثر نقطة ينساها الناس على الإطلاق.

المهام الفرعية تتسطح إلى مهام. صف CSV، ومعظم حمولات الموصلات، مسطّح. لا يوجد أب موثوق للمهمة الفرعية في ذلك التدفق، لذا يستورد Taskfolk كل مهمة فرعية كمهمة عادية بدل تخمين الأب والوقوع في الخطأ. تحتفظ بعنصر العمل، وتعيد بناء رابط الأب/الابن يدويًا للقلة التي تستحق. عمليًا تجد معظم الفرق أن هذا يمس عددًا صغيرًا من المهام.

سير العمل وقواعد الانتقالات لا تنتقل. لدى Taskfolk نموذجه الخاص للحالات وسير العمل، بما فيه أعمدة اللوحة المخصصة، وحدود WIP لكل عمود، وقواعد الانتقالات المسموحة على طريقة Jira. لا شيء من تلك البنية يركب مع المهام، لأن كل أداة ترمّزها بطريقة مختلفة. جهّز أعمدتك وأي قواعد انتقالات في Taskfolk أولًا، ثم استورد إليها.

الحقول المخصصة لا تُطابق واحدًا لواحد. يدعم Taskfolk الحقول المخصصة، لكن لا مطابقة تلقائية بين حقول أداتك القديمة والحقول الجديدة. قرر أي الحقول المخصصة تحتاجها فعلًا، أنشئها في Taskfolk، وإن كانت قيمة حقل ما مهمة، فادمجها في الوصف أو في تسمية قبل الاستيراد.

السجل التاريخي والطوابع الزمنية الدقيقة. أنت تستورد الحالة الراهنة لعملك، لا سجل تدقيق كاملًا. طوابع الإنشاء والإغلاق من المصدر لا يُعاد بناؤها. إن كان التاريخ التنظيمي مهمًا عندك، فأبقِ النظام القديم مؤرشفًا بدل حذفه.

الترتيب الذي يجنّبك المفاجآت

تسوء الترحيلات حين يستورد الناس أولًا ويفكرون لاحقًا. اتبع هذا الترتيب بدل ذلك.

flowchart TD
    A[Test batch on one project] --> B[Set up statuses]
    B --> C[Invite the people]
    C --> D[Run the import]
    D --> E[Read the per row summary]
    E --> F[Verify against the source]
    F --> G[Cut over and freeze the old tool]

1. صدّر أو اربط دفعة تجريبية. ابدأ بمشروع واحد، لا الشركة كلها. صدّر ملف CSV من أداتك الحالية أو أنشئ رمزًا للقراءة فقط للموصل. شغّله على مشروع Taskfolk جديد كي يكلفك الخطأ حذفًا واحدًا، لا حملة تنظيف.

2. جهّز الحالات قبل الاستيراد. أنشئ أعمدة اللوحة التي تريدها واربط كل عمود بالفئة الصحيحة. أضف حدود WIP أو قواعد الانتقالات الآن إن كنت تستخدمها. الاستيراد إلى الأعمدة التي تريدها فعلًا أفضل من الاستيراد إلى الإعدادات الافتراضية ثم سحب مئات البطاقات لاحقًا.

تبويب حالات اللوحة في إعدادات المشروع، حيث تُضبط الأعمدة والفئات قبل الاستيراد

3. ادعُ الأشخاص أولًا. لا يُحل المُسند إليه إلا إذا كان بريد الشخص منتميًا إلى مساحة العمل أصلًا. يطابق Taskfolk بريد المُسند إليه في كل صف مع أعضائك، وإن لم يجد تطابقًا، يترك المهمة بلا إسناد بدل اختراع مستخدم. ادعُ فريقك قبل الاستيراد فتنتقل الإسنادات؛ استورد إلى مساحة عمل فارغة فيهبط كل شيء بلا إسناد. المشاهدون مجانيون، فدعوة الفريق كله مبكرًا لا تكلف شيئًا.

صفحة الأشخاص في مساحة العمل، حيث يُدعى الأعضاء قبل أن يمكن حل المُسند إليهم

4. شغّل الاستيراد الحقيقي واقرأ الملخص. كل استيراد يعيد نتيجة لكل صف: أُنشئ، أو تُخطي مع السبب. اقرأها. الصف المتخطى يعني عادةً عنوانًا ناقصًا أو مُسندًا إليه ليس عضوًا بعد، وكلاهما سريع الإصلاح وإعادة التشغيل. مسار CSV يتعامل مع ما يصل إلى 1,000 صف في المرة؛ والترحيل الأكبر يعمل في الخلفية بسقف أعلى كي لا يُبتر مشروع كبير.

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

6. انتقل، ثم جمّد المصدر. حين تبدو الدفعة صحيحة، كرر العملية لكل مشروع، ووجّه الفريق إلى Taskfolk، واضبط الأداة القديمة على القراءة فقط لفترة سماح بدل حذفها. فترة السماح تلك هي شبكة أمانك لروابط المرفقات ولأي شيء فاتك.

متى تتجاوز المستورد كليًا

إن كان ترحيلك في حقيقته إعادة بناء، أو كنت تنتقل من أداة تتبع مبنية داخليًا بلا تصدير نظيف، فغالبًا ما تكون واجهة REST API العامة الأداة الأفضل. نقطة الإنشاء الجماعي تقبل حتى 50 مهمة في الطلب الواحد وتعيد نتيجة لكل عنصر، فالفشل الجزئي يخبرك بالضبط أي العناصر لم تهبط بدل إفشال الدفعة كلها. وجّه سكربتًا إلى قاعدة بياناتك القديمة، شكّل المهام كما تريد، وأرسلها.

تحتاج مفتاح API بصلاحية issues:write، يُنشأ من صفحة المطوّر في مساحة العمل.

تبويب المفاتيح في صفحة المطوّر، حيث يُنشأ مفتاح API بصلاحية الكتابة

الطلب هو POST واحد بمصفوفة items:

curl -X POST "https://taskfolk.ai/api/v1/workspaces/acme/projects/WEB/issues/bulk" \
  -H "Authorization: Bearer tfk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "type": "bug", "title": "Login times out on slow connections", "priority": "high", "labels": ["auth"] },
      { "type": "task", "title": "Migrate billing exports", "assignee": "[email protected]" }
    ]
  }'
const res = await fetch(
  "https://taskfolk.ai/api/v1/workspaces/acme/projects/WEB/issues/bulk",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.TASKFOLK_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      items: oldRows.map((row) => ({
        type: "task",
        title: row.name,
        description_md: row.body,
        assignee: row.ownerEmail,
      })),
    }),
  },
);
const { data } = await res.json();
import requests

res = requests.post(
    "https://taskfolk.ai/api/v1/workspaces/acme/projects/WEB/issues/bulk",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={"items": [
        {"type": "task", "title": row["name"], "description_md": row["body"]}
        for row in old_rows
    ]},
)
for item in res.json()["data"]:
    if not item["ok"]:
        print(item["index"], item["error"]["message"])

الاستجابة تحمل مدخلًا واحدًا لكل عنصر، بالترتيب. الدفعة التي هبط كل ما فيها تعيد 201؛ وإن فشل أي عنصر تحصل على 207 وتحمل المدخلات الفاشلة السبب:

{
  "data": [
    { "index": 0, "ok": true, "data": { "key": "WEB-141", "title": "Login times out on slow connections" } },
    { "index": 1, "ok": false, "error": { "code": "validation", "message": "Title is required." } }
  ]
}

قسّم مصدرك إلى دفعات من 50، احتفظ بنتائج العناصر، وأعد تشغيل الفاشلة وحدها. ولمن يقود الانتقال عبر وكيل ذكاء اصطناعي أو خادم MCP، فهذه الواجهة نفسها هي ما يستخدمه الوكيل.

الخلاصة الصريحة

ينتقل نظيفًا يتحول إلى شيء آخر تجهّزه أنت أولًا
العناوين والأوصاف المرفقات تصبح روابط أعمدة اللوحة وسير العمل
الحالة والنوع والأولوية المهام الفرعية تتسطح إلى مهام الحقول المخصصة
التسميات والتعليقات السجل التاريخي لا يُعاد بناؤه أعضاء مساحة العمل
المُسند إليهم (إن دُعوا)

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

إن أردت أن تجرب، أنشئ مشروعًا وشغّل الاستيراد التجريبي لتشاهد المسار كله يعمل من أوله إلى آخره قبل أن تلمس بيانات حقيقية. كل مساحة عمل جديدة تحصل على تجربة Pro لمدة 14 يومًا بلا بطاقة، والمشاهدون مجانيون دائمًا، فتستطيع إحضار الفريق والتحقق من النتيجة قبل أن تلتزم. التسعير لكل منفّذ، لا لكل من يطّلع.

أسئلة شائعة

كيف أنتقل من Jira أو Trello أو Asana إلى Taskfolk؟

استورد مهامك إما برفع ملف CSV أو بربط المصدر مباشرة عبر رمز API للقراءة فقط؛ موصلات الخدمات تغطي Trello وJira وClickUp وMonday وAsana وLinear. ابدأ بدفعة تجريبية من مشروع واحد إلى مشروع Taskfolk جديد، كي يكلفك الخطأ حذفًا واحدًا لا حملة تنظيف.

ما البيانات التي تنتقل في الاستيراد؟

العناوين والأوصاف (مسطّحة إلى Markdown عادي)، والحالات مطابقةً مع الفئة الصحيحة، وأنواع المهام مطابقةً مع ملحمة أو قصة أو مهمة أو خطأ، والأولويات، والتسميات (تُنشأ تلقائيًا إن لم توجد)، والتعليقات وتواريخ الاستحقاق حيثما يكشفها المصدر. لا يُحل المُسند إليه إلا إذا كان بريد الشخص منتميًا إلى مساحة العمل أصلًا، فادعُ فريقك قبل الاستيراد؛ المشاهدون مجانيون، فدعوة الجميع مبكرًا لا تكلف شيئًا.

هل تنتقل المرفقات والمهام الفرعية؟

المرفقات تنتقل روابطَ إلى الملفات الأصلية، لا نسخًا معاد استضافتها، فنزّل الملفات التي تهمك أولًا أو أبقِ الحساب القديم بوضع القراءة فقط لفترة سماح. المهام الفرعية تتسطح إلى مهام عادية لأن تدفق الاستيراد لا يحمل رابط أب موثوقًا، وتعيد بناء رابط الأب/الابن يدويًا للقلة التي تستحق.

ما الذي أجهّزه في Taskfolk قبل الاستيراد؟

أنشئ أعمدة اللوحة وحدود WIP وأي قواعد انتقالات أولًا، لأن بنية سير العمل لا تنتقل مع المهام، والاستيراد إلى الأعمدة التي تريدها أفضل من سحب مئات البطاقات لاحقًا. ثم ادعُ الأشخاص، وبعد التشغيل اقرأ ملخص النتائج لكل صف، فالصف المتخطى يعني عادةً عنوانًا ناقصًا أو مُسندًا إليه ليس عضوًا بعد، وكلاهما سريع الإصلاح وإعادة التشغيل.

قراءات ذات صلة

أضف تعليقًا

ابدأ النقاش.