ديسكورس جيرا

|||
-|-|-|
:discourse: | ملخص | Discourse Jira يقوم بمزامنة المشاريع وأنواع المشكلات والحقول وحالات المشكلات وإدارة المشكلات.
:hammer_and_wrench: | رابط المستودع | https://github.com/discourse/discourse-jira
:open_book: | دليل التثبيت | كيفية تثبيت الإضافات في Discourse

الميزات

  • سيتم مزامنة مشاريع Jira وأنواع المشكلات والحقول وخيارات الحقول تلقائيًا.
  • إنشاء مشكلة Jira جديدة لمنشور Discourse باستخدام نموذج إنشاء المشكلات الديناميكي.
  • إرفاق مشكلة Jira موجودة بمنشور Discourse.
  • مزامنة حالة مشكلة Jira باستخدام خطافات الويب.

لقطات الشاشة

قائمة المنشورات

التكوين

قم بتعيين القيم لإعدادات الموقع أدناه قبل تمكين الإضافة.

  • discourse_jira_url: ضع عنوان URL لمثيل Jira الخاص بك. يجب أن ينتهي برمز /.
  • discourse_jira_username: اسم المستخدم الخاص بالمستخدم الذي سيتم إنشاء المشكلات نيابة عنه.
  • discourse_jira_password: مفتاح API المعين للمستخدم الذي ينشئ المشكلات. قد تعمل كلمة المرور ولكنها غير آمنة وقد تم إيقاف واجهة برمجة التطبيقات بواسطة Atlassian.
  • discourse_jira_enabled: تمكين إضافة Jira لـ Discourse.
  • discourse_jira_allowed_groups: حدد المجموعات التي يمكنها الوصول إلى ميزات إضافة Jira. الافتراضي هو المسؤولون والمشرفون.

خطاف الويب

قم بتعيين رمز سري للتحقق من صحة خطافات الويب الواردة من Jira.

  • discourse_jira_webhook_token: يجب تمرير هذا الرمز في معلمة الاستعلام ‘t’ لخطاف الويب.

على سبيل المثال، بالنظر إلى أن رمز خطاف الويب هو supersecret، وأن عنوان URL الأساسي لـ Discourse الخاص بك هو discourse.example.com، فستقوم بإعداد عنوان URL لخطاف الويب على أنه https://discourse.example.com/jira/issues/webhook?t=supersecret في إعدادات خطاف الويب لمثيل Jira الخاص بك.

للتحقق فقط من تشغيل خطاف الويب وأن الجسم المنبعث صحيح، يمكنك اختيار استخدام مواقع خارجية مثل RequestBin أو Webhook.site لإعداد عناوين URL مؤقتة لخطاف الويب.

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

discourse_jira_verbose_log: قم بتمكين هذا الإعداد لتسجيل حمولات كل من خطافات الويب الواردة وطلبات واجهة برمجة التطبيقات الصادرة.

\u003e:discourse2: مستضاف من قبلنا؟ هذه الإضافة متاحة في خطة Enterprise الخاصة بنا.

10 إعجابات

@vinothkannans لاحظنا أن المستخدمين لا يمكنهم رؤية حالة هذه التذاكر فعليًا، وأن المشرفين فقط هم من يمكنهم رؤيتها. هل يمكن فعل أي شيء لجعل “الحالة” أكثر وضوحًا للمستخدمين؟

أحد الخيارات يمكن أن يكون بالطبع جعل كتلة الاقتباس هذه مرئية، أو سيكون من الجيد أيضًا إذا كان بإمكانك تعيين حالات Jira إلى علامات، وأن يتم تحديث علامة الموضوع لتعكس تقدم التذكرة (#backlog، #in-progress، #complete، إلخ).

لإضافة إلى ما ذكره جوردان، لدي بعض الأفكار الإضافية لتحسين هذه الإضافة.

  1. القدرة على فصل تذكرة JIRA. لا أرى خيارًا لفصل أو حذف تذكرة JIRA التي قمت بربطها بمنشور.
  2. اختيار المجموعات التي يمكنها رؤية تذاكر JIRA المرفقة. حاليًا، يبدو أن مسؤولي الموقع فقط هم من يمكنهم رؤيتها، ولكننا نرغب في خيار تحديد مجموعة واحدة أو أكثر يمكنها رؤيتها.
  3. مستويات الرؤية. القدرة على تحديد أي جزء (أجزاء) من التذكرة سيظهر لغير المسؤولين. على سبيل المثال، قد نرغب في أن ترى جميع المجموعات رقم التذكرة وحالتها، ولكن ليس عنوان التذكرة، الذي قد يحتوي على معلومات حساسة. بعد ذلك، يمكننا تحديد مجموعات موثوقة يمكنها رؤية عنوان التذكرة.
إعجابَين (2)

ستعمل اقتراحاتك على تحسين تجربة هذا المكون الإضافي بشكل كبير.

نحن بحاجة حقًا إلى أن يكون المحتوى قابلاً للكشف لمجموعة معينة (ليست مسؤولين).

هل يوجد إصدار من OpenProject لهذا؟ سيكون رائعًا لو كان موجودًا حيث نستخدم OpenProject لإدارة مهامنا.

@jordan-violet @colin.mckibben هذه اقتراحات جيدة لجعل المكون الإضافي أكثر فائدة. سأضع ذلك في اعتباري عندما أعمل عليه في المرة القادمة.

إعجاب واحد (1)

مرحباً، لدي سؤال حول إعداد المكون الإضافي. كنت أتلقى أخطاء 500 عند إنشاء/إرفاق مشكلة، لذلك أعتقد أن إعداداتي ليست صحيحة تمامًا. ماذا فعلت بشكل خاطئ؟

أولاً، قمت بنسخ ولصق المكان الذي أصل منه عادةً إلى discourse jira url، على الرغم من أنني لست متأكدًا تمامًا من عنوان URL نظرًا لأنه يعتمد على طريقة عرض Jira المحددة، يختلف عنوان URL.

أولاً، قمت بتعيين اسم مستخدم عشوائي لـ discourse jira username، مع نسخ ولصق discourse jira password من رمز مميز تم إنشاؤه بواسطة Atlassian API.



ثم أضفت خطاف ويب Jira وقمت بتعيين عنوان URL لخطاف ويب Jira إلى عنوان URL لمثيل Discourse الخاص بي بالإضافة إلى /jira/issues/webhook?t=

ثم قمت بتعيين سر خطاف الويب، ونسخت ولصقت هذا السر مرة أخرى في حقل تكوين المكون الإضافي discourse jira webhook token.

أي أفكار؟ المساعدة محل تقدير كبير! شكرا.

هل يمكن لأي شخص مشاركة إعدادات المكون الإضافي العاملة لديك في Discourse (بدون كلمة المرور/الرمز المميز بالطبع) حتى أتمكن من رؤية كيف جعلته يعمل؟ شكرا!

لقد نسخت رمز الويب هوك مرة أخرى في عنوان URL في إعداد الويب هوك الخاص بـ Jira، لذا فهو يقول https://example.com/jira/issues/webhook?t=abcdefghijk، وأيضًا يجب أن يكون discourse_jira_url الخاص بك هو https://modernsquared.atlassian.net/ بدون المسار.

@vinothkannans لدي سؤال آخر: هل من الممكن تغيير المشكلة المرفقة بموضوع بعد إرفاقها، أو ببساطة إزالة/حذف المرفق؟ إذا لم يكن الأمر كذلك، فهل فكرت في تنفيذه؟

شكرًا @mikael.gundhus ، تمكنت من توصيل المكون الإضافي بـ Jira.

لكنني واجهت بعض الغرابة. لست متأكدًا مما إذا كنت الوحيد الذي يواجه هذه المشكلة، ولكن يبدو أن زر “إنشاء وإرفاق المشكلات” معكوس؟ عندما أنقر فوق زر “إنشاء مشكلة” يأخذني المكون الإضافي إلى شاشة إرفاق المشكلة:

وعندما أنقر فوق زر “إرفاق مشكلة” يأخذني المكون الإضافي إلى شاشة إنشاء مشكلة: MS-155 هي مشكلة موجودة في Jira. إذا كتبت مشكلة جديدة، لنقل MS-200، والتي لا توجد في Jira، فإنها تخبرني حدث خطأ: ليس لديك الإذن لعرض المورد المطلوب.

@mikael.gundhus نعم، يجب أن يكون هناك خيار لإزالة المرفق الحالي. @ckshen يبدو أن هناك عناوين خاطئة في نوافذ التنبيه. سنعمل على هذه الأمور في التكرار القادم.

هل هناك خطط لجعل هذا متاحًا للمستخدمين الذين ليسوا مسؤولين/مشرفين؟ لدينا فرق داخلية تتطلع إلى نقل عملياتها إلى Discourse، وكما هو الحال الآن، فإن الطريقة الوحيدة لهم لاستخدام أداة JIra هي منحهم امتيازات الإشراف على مستوى الموقع.

4 إعجابات

لقد قمت للتو بتحديث هذه الإضافة بأذونات المجموعات! وهي تتضمن افتراضيًا ويجب أن تتضمن دائمًا المسؤولين، ولكن مع هذا التحديث يمكن للمستخدمين الآن إنشاء تذاكر Jira دون الحاجة إلى أن يكونوا على مستوى المسؤول. استمتعوا!

5 إعجابات

أهلاً بالجميع،

هل نجح أي شخص في تشغيل هذه الإضافة مع خادم Jira أو Datacenter؟

لا أرى أي خيار للمرفقات وأرى خطأ في السجلات.

Job exception: DiscourseJira::InvalidURI

حتى الآن، قمنا ببناء هذا المكون الإضافي باستخدام واجهات برمجة التطبيقات الخاصة بـ Jira Cloud فقط. لذلك قد لا تنجح مع Jira DC.

وثائق REST الخاصة بـ Jira Cloud: https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-createmeta-get
وثائق REST الخاصة بـ Jira DC/Server: https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples

إعجاب واحد (1)

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

إعجابَين (2)

هل تعمل هذه الميزة مع مشاريع Jira Service Management أيضًا؟

يبدو أن هناك عدم توافق بين jira و reactions

إعجاب واحد (1)