Discourse Jira

:discourse: Краткое описание :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-ключ, назначенный пользователю, создающему задачи. Пароль может работать, но это небезопасно, и 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 вебхука в настройках вашего экземпляра Jira должен быть установлен как https://discourse.example.com/jira/issues/webhook?t=supersecret.

Для простой проверки того, что вебхук срабатывает и тело запроса корректно, вы можете использовать внешние сайты, такие как RequestBin или Webhook.site, чтобы создать временные URL вебхуков.

Отладка

discourse_jira_verbose_log: Включите эту настройку для ведения логов полезной нагрузки как входящих вебхуков, так и исходящих API-запросов.

:discourse2: Хостится нами? Этот плагин доступен в нашем корпоративном плане.

10 лайков

@vinothkannans Мы заметили, что пользователи не могут видеть статус этих заявок — это доступно только администраторам. Можно ли что-то сделать, чтобы статус был более заметен для пользователей?

Один из вариантов, конечно же, сделать видимым этот блок цитаты. Также было бы здорово, если бы вы могли сопоставить статусы Jira с тегами, и чтобы тег темы обновлялся в соответствии с прогрессом заявки (backlog, in-progress, #complete и т. д.).

Поддерживая мысль Джордана, у меня есть несколько дополнительных идей по улучшению этого плагина.

  1. Возможность открепить заявку JIRA. Я не вижу опции для открепления или удаления заявки JIRA, которую я связал с постом.
  2. Выбор групп, которые могут видеть прикрепленные заявки JIRA. Сейчас, похоже, их видят только администраторы сайта, но мы хотели бы иметь возможность выбрать одну или несколько дополнительных групп, которые смогут их видеть.
  3. Уровни видимости. Возможность указать, какая часть(и) заявки будет отображаться для неадминистраторов. Например, возможно, мы хотим, чтобы все группы видели номер заявки и её статус, но не заголовок заявки, который может содержать конфиденциальную информацию. Тогда мы сможем указать доверенные группы, которые смогут видеть заголовок заявки.
2 лайка

Ваши предложения действительно улучшат работу с этим плагином.

Нам крайне важно иметь возможность раскрывать контент для указанной группы (не являющейся группой администраторов).

Есть ли версия этого для OpenProject? Это было бы здорово, так как мы используем OpenProject для управления задачами.

@jordan-violet @colin.mckibben это отличные предложения, которые сделают плагин более полезным. Я учту это, когда в следующий раз займусь его разработкой.

1 лайк

Привет! У меня есть вопрос по настройке плагина. При создании или привязке задачи я получаю ошибки 500, поэтому, вероятно, мои настройки настроены не совсем правильно. Что я сделал не так?

Сначала я скопировал и вставил URL, по которому обычно обращаюсь к своему экземпляру Jira, в поле discourse jira url, хотя я не до конца уверен в правильности URL, так как он может отличаться в зависимости от выбранного представления Jira.

Затем я указал случайное имя пользователя в поле discourse jira username, а в поле discourse jira password вставил сгенерированный API-токен Atlassian.



Далее я добавил вебхук 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 Server или Data Center?

Я не вижу опции вложения и вижу ошибку в логах.

Job exception: DiscourseJira::InvalidURI

На данный момент мы создали этот плагин, используя только API для Jira Cloud. Поэтому у вас могут возникнуть трудности с Jira DC.

Документация по REST API для Jira Cloud: https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-createmeta-get
Документация по REST API для Jira DC/Server: https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples

1 лайк

Спасибо, Натали. После добавления нашего хоста в разрешенные внутренние хосты в разделе «Безопасность» мы смогли связаться и создать задачи. Это, вероятно, будет полезно знать всем, кто использует внутренний экземпляр Jira. Мы все еще работаем над синхронизацией комментариев, но, полагаю, это вопрос конфигурации.

2 лайка

Работает ли эта функция также с проектами Jira Service Management?

Похоже, существует несовместимость между jira и reactions

1 лайк