dm.linov
(Dmitry)
2020 年1 月 25 日 16:14
1
我正在将支持论坛从帮助台系统(YouTrack)迁移到 Discourse。
我想通过 API 实现以下功能:
从 YouTrack 拉取用户(姓名、用户名、邮箱),并在 Discourse 中创建对应的用户。不为这些用户设置密码!
向所有这些用户发送邀请,让他们使用相同的用户名和邮箱在 Discourse 注册(以便他们创建新密码)。
从 YouTrack 拉取特定的主题、附件和评论,并在 Discourse 中创建相同的内容。
为此,这些用户必须先在 Discourse 中存在,以便将他们设为主题和评论的作者。无论这些用户在收到邀请后是否已在 Discourse 注册,都必须完成此操作。
问题:
a) API 文档指出,创建用户时“password”字段为必填项。我该如何绕过这一限制?
b) 通过 API 创建的用户(已有一些以其名义发布的主题,但尚未确认,也未设置密码)应处于何种状态?
1 个赞
pfaffman
(Jay Pfaffman)
2020 年1 月 25 日 17:49
2
我会使用导入脚本而非 API 来创建用户、分类、主题和帖子。
我不太确定如何最好地向每一位用户发送邮件,但一种可行的方法是让导入脚本在创建用户时保持其激活状态,并允许他们接收摘要邮件。这样,摘要邮件中就可以包含访问新论坛的操作说明。
2 个赞
pfaffman
(Jay Pfaffman)
2020 年1 月 26 日 13:30
4
请查看 scripts/import 目录下的导入脚本。
1 个赞
dm.linov
(Dmitry)
2020 年1 月 27 日 16:39
5
我尝试使用了你的这个脚本 ,看起来确实能解决问题,但一直收到错误信息:
./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"}
我不明白自己哪里做错了。另外,是否可以在这里不设置组和密码?
pfaffman
(Jay Pfaffman)
2020 年1 月 27 日 16:42
6
dm.linov:
另外,这里是否可以不设置组和密码?
我不太确定,但看起来你使用了一个无效的组号,因此出现了错误?如果是添加用户的话,那似乎意味着它并没有预设组。
我想你可以修改脚本,使其不设置密码,但设置一个无人知晓的随机密码,其效果几乎等同于不设密码。
如果你需要定制且有预算,我今天晚些时候大概可以处理。
dm.linov
(Dmitry)
2020 年1 月 27 日 16:50
7
组号是正确的,我是从 /groups.json 中获取的。不过,我目前的目标是利用现有工具找到解决方案。尽管如此,还是要感谢你的提议和帮助!
1 个赞
pfaffman
(Jay Pfaffman)
2020 年1 月 27 日 18:17
8
嗯,也许那个 API 变了。我想它现在需要一个组名。如果你想到了什么方案,欢迎提交 PR。
在我能更仔细地查看这个问题之前,我还有很多事情要处理。
dm.linov
(Dmitry)
2020 年1 月 27 日 18:38
9
pfaffman:
我认为现在它将使用组名称。
不。如果我使用组名称而不是 ID,会得到
{"status":404,"error":"Not Found"}
奇怪的是,尽管错误消息出现在 user test6 created. . . Adding to group 之后,但该用户实际上并未被创建。
pfaffman
(Jay Pfaffman)
2020 年1 月 27 日 21:52
10
嗯,这个脚本确实需要更新,改为在请求头中传递 API 用户和密钥,而不是放在 URL 中。虽然我相当确定它在两年前还能正常工作,但看起来它的作者当时的经验比我现在的少两年。
它没有进行任何错误检查来确认用户是否真的被创建,如果由我来修改,我会加入这部分逻辑。
看起来,如果你没有任何用户组,脚本会跳过将用户添加到组的步骤。
1 个赞
你好,Dmitry @dm.linov !
我在搜索关于在 Confluence、YouTrack 和 Discourse 之间迁移的任何方法时,发现了这个主题。
您能否分享一下从 YouTrack 迁移到 Discourse 的主要要点?原因是成本、性能还是搜索问题?
dm.linov
(Dmitry)
2021 年9 月 25 日 17:55
12
你好,Ivan,
这两个原因都是成立的。我们希望在公开论坛上为客户提供支持,让全世界都能看到我们的卓越之处 而 YouTrack 并不适合作为此类平台,原因有很多,其中一点就是它按用户收费。
我们目前的设置如下:
Discourse 用于支持、功能请求和讨论。我们网站上的“联系我们”表单也会提交到这里(新主题和“临时”用户会通过 API 自动创建)
YouTrack 用于开发——任务、缺陷和其他问题
Confluence 用于一般文档。一些描述特定用例的文章也会手动发布到 Discourse 上
我们也曾尝试将 Discourse 用作公司博客,但后来更倾向于使用 Hashnode。
3 个赞
谢谢,德米特里。这次经历对我们很有用。
我们正计划将文档从 Confluence 迁移。Confluence 的搜索功能较弱,且费用昂贵。YouTrack 拥有支持 Markdown 的知识库功能,导入便捷,搜索功能也可接受。YouTrack 是我们的缺陷跟踪系统,我们将继续使用它。
如果您能确认 YouTrack 知识库在生产环境中运行缓慢,我们可以考虑不使用它。
Discourse 被用作三级支持系统。其主要功能是保存客户解决方案并分享最佳实践。遗憾的是,让客户使用 Discourse 存在困难。因为客户支持团队使用的是服务台系统。此外,为每位客户创建数百个私密分类也过于困难。
无论如何,Discourse 总体来说非常出色:slight_smile:。
1 个赞
dm.linov
(Dmitry)
2021 年9 月 25 日 19:50
14
据我所知,我们从未使用过 YT 知识库,因此我无法对此发表任何意见。
至于 Confluence,我们目前也在寻找替代方案 但并不急于求成。
3 个赞
blake
(Blake Erickson)
2021 年9 月 26 日 17:37
15
3 个赞