Я планирую перенести свой форум технической поддержки из YouTrack в Discourse.
Мне нужно использовать API для выполнения следующих задач:
Извлечь пользователей (имя, имя пользователя, электронная почта) из YouTrack и создать аналогичных пользователей в Discourse. Пароли для них устанавливать не нужно!
Отправить всем этим пользователям приглашение зарегистрироваться в Discourse, используя те же имена пользователей и адреса электронной почты (чтобы они могли создать новые пароли).
Извлечь определённые темы, вложения и комментарии из YouTrack и создать их в Discourse.
Для этого в Discourse должны существовать те же пользователи, чтобы их можно было указать авторами тем и комментариев. Это необходимо сделать независимо от того, зарегистрировались ли такие пользователи в Discourse после получения приглашения или нет.
Проблемы:
a) В документации к API указано, что поле «password» обязательно при создании пользователя. Как можно обойти это ограничение?
b) Каким должно быть состояние такого пользователя (созданного через API, у которого уже есть темы под его именем, но который ещё не подтвердил регистрацию и не установил пароль)?
Я бы создал пользователей, категории, темы и сообщения с помощью скрипта импорта, а не через API.
Я не совсем уверен, как лучше всего отправить письмо каждому пользователю, но один из способов — настроить скрипт импорта так, чтобы он оставлял пользователей активными, позволяя им получать сводное письмо по электронной почте, и чтобы в этом письме содержались инструкции по доступу к новому форуму.
Я попробовал использовать этот ваш скрипт, который, похоже, должен помочь, но постоянно получаю сообщение об ошибке:
./create-user 'Test User Four' me@[domain] test4 41 default
Creating user: test4 user test4 created. . . Adding to group 41. . . {"errors":["You supplied invalid parameters to the request: usernames"],"error_type":"invalid_parameters"}
Не могу понять, что я сделал не так. Также возможно ли не указывать здесь группу и пароль?
Я в основном не знаю, но кажется, что у вас неверный номер группы, и возникает ошибка? Если речь идёт о добавлении пользователя, то, похоже, группа уже не устанавливается.
Думаю, вы можете изменить скрипт так, чтобы пароль не устанавливался, но установка случайного пароля, который никто не знает, практически равносильна отсутствию пароля.
Если вам нужна кастомизация и у вас есть бюджет, я, вероятно, смогу сделать это позже сегодня.
Номер группы верный, я взял его из /groups.json. В любом случае, моя текущая цель — найти решение с помощью любых доступных инструментов. Спасибо за ваше предложение и помощь!
Хм. Ну, скрипт определённо нужно обновить, чтобы отправлять пользователя API и ключ в заголовке, а не в URL. Хотя я почти уверен, что два года назад это работало, похоже, что его написал человек с опытом на два года меньше, чем у меня сейчас.
В нём нет проверки ошибок, чтобы убедиться, что пользователь действительно создан, так что это я бы изменил, если бы взялся за работу над ним.
Похоже, что если у вас нет никаких групп, то попытка добавить пользователя в группу будет пропущена.
Я нашел эту тему, когда искал подходы к переносу данных между Confluence, YouTrack и Discourse.
Не могли бы вы поделиться основными моментами перехода с YouTrack на Discourse? Была ли причина в стоимости, производительности или проблемах с поиском?
Обе причины верны. Мы хотели предоставлять поддержку нашим клиентам на открытом форуме, чтобы весь мир мог увидеть, насколько мы хороши А YouTrack не был подходящим инструментом для этого по нескольким причинам, и тот факт, что он взимает плату за пользователя, — одна из них.
Наша текущая настройка следующая:
Discourse для поддержки, запросов на новые функции и обсуждений. Формы «Связаться с нами» на наших сайтах также ведут туда (новые темы и «промежуточные» пользователи создаются автоматически через API)
YouTrack для разработки — задачи, баги и другие проблемы
Confluence для общей документации. Некоторые статьи, описывающие конкретные случаи использования, также публикуются в Discourse (вручную)
Мы также пробовали использовать Discourse как корпоративный блог, но позже предпочли Hashnode.
Спасибо, Дмитрий. Этот опыт будет для нас полезен.
Мы планируем перенести документацию из Confluence. У неё слабая функция поиска и дорогая оплата. В YouTrack есть функция базы знаний с поддержкой Markdown. Также там есть простой импорт, а функция поиска приемлемая. YouTrack — наша система отслеживания ошибок, и мы продолжим её использовать.
Если вы подтвердите, что база знаний YT работает медленно в продакшене, мы можем рассмотреть вариант отказа от её использования.
Discourse используется как система поддержки третьего уровня. Основная функция — сохранение решений клиентов и обмен лучшими практиками. К сожалению, использование Discourse клиентами затруднено. Команда поддержки клиентов использует Service Desk. Кроме того, слишком сложно создавать сотни частных категорий для каждого клиента.