الانتقال إلى المحتوى الرئيسي

نظرة عامة

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

المتطلبات الأساسية

قبل استخدام تكامل Linear، تأكد من توفر ما يلي:
  • حساب CrewAI AMP مع اشتراك فعّال
  • حساب Linear بصلاحيات مساحة العمل المناسبة
  • ربط حساب Linear الخاص بك عبر صفحة التكاملات

إعداد تكامل Linear

1. ربط حساب Linear الخاص بك

  1. انتقل إلى تكاملات CrewAI AMP
  2. ابحث عن Linear في قسم تكاملات المصادقة
  3. انقر على Connect وأكمل عملية OAuth
  4. امنح الصلاحيات اللازمة لإدارة المشكلات والمشاريع
  5. انسخ رمز المؤسسة من إعدادات التكامل

2. تثبيت الحزمة المطلوبة

uv add crewai-tools

3. إعداد متغير البيئة

لاستخدام التكاملات مع Agent(apps=[]), يجب تعيين متغير البيئة CREWAI_PLATFORM_INTEGRATION_TOKEN برمز المؤسسة الخاص بك.
export CREWAI_PLATFORM_INTEGRATION_TOKEN="your_enterprise_token"
أو أضفه إلى ملف .env:
CREWAI_PLATFORM_INTEGRATION_TOKEN=your_enterprise_token

الإجراءات المتاحة

الوصف: إنشاء مشكلة جديدة في Linear.المعاملات:
  • teamId (string, مطلوب): معرّف الفريق للمشكلة الجديدة.
  • title (string, مطلوب): العنوان.
  • description (string, اختياري): الوصف.
  • statusId (string, اختياري): الحالة.
  • priority (string, اختياري): الأولوية كعدد صحيح.
  • dueDate (string, اختياري): تاريخ الاستحقاق بصيغة ISO 8601.
  • cycleId (string, اختياري): معرّف الدورة المرتبطة.
  • additionalFields (object, اختياري): حقول إضافية.
الوصف: تحديث مشكلة في Linear.المعاملات:
  • issueId (string, مطلوب): معرّف المشكلة المراد تحديثها.
  • title (string, اختياري): العنوان.
  • description (string, اختياري): الوصف.
  • statusId (string, اختياري): الحالة.
  • priority (string, اختياري): الأولوية.
  • dueDate (string, اختياري): تاريخ الاستحقاق.
الوصف: الحصول على مشكلة بواسطة المعرّف في Linear.المعاملات:
  • issueId (string, مطلوب): معرّف المشكلة المراد جلبها.
الوصف: البحث عن المشكلات في Linear.المعاملات:
  • queryTerm (string, مطلوب): مصطلح البحث.
  • issueFilterFormula (object, اختياري): فلتر بصيغة التعبير العادي المنفصل.
الوصف: حذف مشكلة في Linear.المعاملات:
  • issueId (string, مطلوب): معرّف المشكلة المراد حذفها.
الوصف: أرشفة مشكلة في Linear.المعاملات:
  • issueId (string, مطلوب): معرّف المشكلة المراد أرشفتها.
الوصف: إنشاء مشكلة فرعية في Linear.المعاملات:
  • parentId (string, مطلوب): معرّف المشكلة الأصلية.
  • teamId (string, مطلوب): معرّف الفريق.
  • title (string, مطلوب): العنوان.
  • description (string, اختياري): الوصف.
الوصف: إنشاء مشروع جديد في Linear.المعاملات:
  • teamIds (object, مطلوب): معرّف (معرّفات) الفريق المرتبطة بالمشروع.
  • projectName (string, مطلوب): اسم المشروع.
  • description (string, اختياري): وصف المشروع.
الوصف: تحديث مشروع في Linear.المعاملات:
  • projectId (string, مطلوب): معرّف المشروع المراد تحديثه.
  • projectName (string, اختياري): اسم المشروع.
  • description (string, اختياري): وصف المشروع.
الوصف: الحصول على مشروع بواسطة المعرّف في Linear.المعاملات:
  • projectId (string, مطلوب): معرّف المشروع المراد جلبه.
الوصف: حذف مشروع في Linear.المعاملات:
  • projectId (string, مطلوب): معرّف المشروع المراد حذفه.
الوصف: البحث عن الفرق في Linear.المعاملات:
  • teamFilterFormula (object, اختياري): فلتر بصيغة التعبير العادي المنفصل.

أمثلة الاستخدام

إعداد Agent أساسي لـ Linear

from crewai import Agent, Task, Crew
from crewai import Agent, Task, Crew

# Create an agent with Linear capabilities
linear_agent = Agent(
    role="Development Manager",
    goal="Manage Linear issues and track development progress efficiently",
    backstory="An AI assistant specialized in software development project management.",
    apps=['linear']  # All Linear actions will be available
)

# Task to create a bug report
create_bug_task = Task(
    description="Create a high-priority bug report for the authentication system and assign it to the backend team",
    agent=linear_agent,
    expected_output="Bug report created successfully with issue ID"
)

# Run the task
crew = Crew(
    agents=[linear_agent],
    tasks=[create_bug_task]
)

crew.kickoff()

إدارة المشاريع والفرق

from crewai import Agent, Task, Crew

project_coordinator = Agent(
    role="Project Coordinator",
    goal="Coordinate projects and teams in Linear efficiently",
    backstory="An experienced project coordinator who manages development cycles and team workflows.",
    apps=['linear']
)

# Task to coordinate project setup
project_coordination = Task(
    description="""
    1. Search for engineering teams in Linear
    2. Create a new project for Q2 feature development
    3. Associate the project with relevant teams
    4. Create initial project milestones as issues
    """,
    agent=project_coordinator,
    expected_output="Q2 project created with teams assigned and initial milestones established"
)

crew = Crew(
    agents=[project_coordinator],
    tasks=[project_coordination]
)

crew.kickoff()

استكشاف الأخطاء وإصلاحها

المشاكل الشائعة

أخطاء الصلاحيات
  • تأكد من أن حساب Linear الخاص بك لديه الصلاحيات اللازمة لمساحة العمل المستهدفة
  • تحقق من أن اتصال OAuth يتضمن النطاقات المطلوبة لـ Linear API
معرّفات ومراجع غير صالحة
  • تحقق جيداً من معرّفات الفرق والمشكلات والمشاريع للتأكد من صحة صيغة UUID
  • تأكد من وجود الكيانات المشار إليها وإمكانية الوصول إليها
مشاكل التاريخ والوقت
  • استخدم صيغة ISO 8601 لتواريخ الاستحقاق والطوابع الزمنية
  • تأكد من معالجة المناطق الزمنية بشكل صحيح

الحصول على المساعدة

تحتاج مساعدة؟

تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Linear أو استكشاف الأخطاء وإصلاحها.