تخطَّ إلى المحتوى

تكامل Linear

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

قبل استخدام تكامل Linear، تأكد من توفر ما يلي:

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

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

Section titled “2. تثبيت الحزمة المطلوبة”
Terminal window
uv add crewai-tools
Terminal window
export CREWAI_PLATFORM_INTEGRATION_TOKEN="your_enterprise_token"

أو أضفه إلى ملف .env:

CREWAI_PLATFORM_INTEGRATION_TOKEN=your_enterprise_token
linear/create_issue

الوصف: إنشاء مشكلة جديدة في Linear.

المعاملات:

  • teamId (string, مطلوب): معرّف الفريق للمشكلة الجديدة.
  • title (string, مطلوب): العنوان.
  • description (string, اختياري): الوصف.
  • statusId (string, اختياري): الحالة.
  • priority (string, اختياري): الأولوية كعدد صحيح.
  • dueDate (string, اختياري): تاريخ الاستحقاق بصيغة ISO 8601.
  • cycleId (string, اختياري): معرّف الدورة المرتبطة.
  • additionalFields (object, اختياري): حقول إضافية.
linear/update_issue

الوصف: تحديث مشكلة في Linear.

المعاملات:

  • issueId (string, مطلوب): معرّف المشكلة المراد تحديثها.
  • title (string, اختياري): العنوان.
  • description (string, اختياري): الوصف.
  • statusId (string, اختياري): الحالة.
  • priority (string, اختياري): الأولوية.
  • dueDate (string, اختياري): تاريخ الاستحقاق.
linear/get_issue_by_id

الوصف: الحصول على مشكلة بواسطة المعرّف في Linear.

المعاملات:

  • issueId (string, مطلوب): معرّف المشكلة المراد جلبها.
linear/search_issue

الوصف: البحث عن المشكلات في Linear.

المعاملات:

  • queryTerm (string, مطلوب): مصطلح البحث.
  • issueFilterFormula (object, اختياري): فلتر بصيغة التعبير العادي المنفصل.
linear/delete_issue

الوصف: حذف مشكلة في Linear.

المعاملات:

  • issueId (string, مطلوب): معرّف المشكلة المراد حذفها.
linear/archive_issue

الوصف: أرشفة مشكلة في Linear.

المعاملات:

  • issueId (string, مطلوب): معرّف المشكلة المراد أرشفتها.
linear/create_sub_issue

الوصف: إنشاء مشكلة فرعية في Linear.

المعاملات:

  • parentId (string, مطلوب): معرّف المشكلة الأصلية.
  • teamId (string, مطلوب): معرّف الفريق.
  • title (string, مطلوب): العنوان.
  • description (string, اختياري): الوصف.
linear/create_project

الوصف: إنشاء مشروع جديد في Linear.

المعاملات:

  • teamIds (object, مطلوب): معرّف (معرّفات) الفريق المرتبطة بالمشروع.
  • projectName (string, مطلوب): اسم المشروع.
  • description (string, اختياري): وصف المشروع.
linear/update_project

الوصف: تحديث مشروع في Linear.

المعاملات:

  • projectId (string, مطلوب): معرّف المشروع المراد تحديثه.
  • projectName (string, اختياري): اسم المشروع.
  • description (string, اختياري): وصف المشروع.
linear/get_project_by_id

الوصف: الحصول على مشروع بواسطة المعرّف في Linear.

المعاملات:

  • projectId (string, مطلوب): معرّف المشروع المراد جلبه.
linear/delete_project

الوصف: حذف مشروع في Linear.

المعاملات:

  • projectId (string, مطلوب): معرّف المشروع المراد حذفه.
linear/search_teams

الوصف: البحث عن الفرق في Linear.

المعاملات:

  • teamFilterFormula (object, اختياري): فلتر بصيغة التعبير العادي المنفصل.
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()

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

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

أخطاء الصلاحيات

  • تأكد من أن حساب Linear الخاص بك لديه الصلاحيات اللازمة لمساحة العمل المستهدفة
  • تحقق من أن اتصال OAuth يتضمن النطاقات المطلوبة لـ Linear API

معرّفات ومراجع غير صالحة

  • تحقق جيداً من معرّفات الفرق والمشكلات والمشاريع للتأكد من صحة صيغة UUID
  • تأكد من وجود الكيانات المشار إليها وإمكانية الوصول إليها

مشاكل التاريخ والوقت

  • استخدم صيغة ISO 8601 لتواريخ الاستحقاق والطوابع الزمنية
  • تأكد من معالجة المناطق الزمنية بشكل صحيح

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

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