Discourse 与 Zendesk

:discourse2: 摘要 从 Discourse 主题创建 Zendesk 工单。
:open_book: 安装指南 此插件已随 Discourse 核心一起打包。无需单独安装该插件。

:warning: 由于 Zendesk 将于 2027 年 4 月 30 日永久停用 API 令牌身份验证,现有安装需要 迁移到通过 OAuth 进行身份验证

功能

创建 Zendesk 工单

此插件允许您从 Discourse 主题创建 Zendesk 工单。您可以通过配置插件,使某个分类中的所有主题自动生成 Zendesk 工单,或者通过点击每个主题下方显示给站点工作人员的“创建 Zendesk 工单”按钮,将单个主题推送到 Zendesk:

当工单创建后,主题第一帖的作者将被设置为 Zendesk 上的请求者(Requester)。他们还将被添加到您的 Zendesk 客户列表中。

在工单创建后,“创建 Zendesk 工单”按钮将更新为“在 Zendesk 中查看”。点击该按钮将带您前往关联的 Zendesk 工单:

将 Discourse 上创建的回复推送到 Zendesk

该插件允许您选择是否将 Discourse 主题的所有回复推送到 Zendesk 工单,或者仅推送由主题作者创建的回复。这两个功能都可以通过插件设置进行配置。

同步 Zendesk 评论与 Discourse

可以将 Zendesk 评论与工单来源的 Discourse 主题进行同步。

配置

可以从您的 Discourse 站点管理部分的“插件”页面访问 Discourse Zendesk 设置。在该页面上,点击“discourse-zendesk-plugin”条目对应的“设置”按钮。

配置 OAuth

首先,在 Zendesk 中创建一个 OAuth 客户端:

  1. 在 Zendesk 管理中心中,前往 应用和集成 > API > OAuth 客户端
  2. 点击 添加 OAuth 客户端
  3. 输入 名称描述,并选择 Confidential 作为客户端类型。不需要重定向 URL。
  4. 配置 范围(Scopes)tickets:readtickets:writeusers:readusers:write,以将 OAuth 客户端限制为仅插件所需的范围。
  5. 保存客户端。
  6. 复制客户端的 标识符(Identifier)密钥(Secret)。Zendesk 仅显示一次完整的密钥。

配置以下 Discourse 设置:

  • zendesk oauth client id:输入 OAuth 客户端的 标识符
  • zendesk oauth client secret:输入 OAuth 客户端的 密钥

其他设置

  • zendesk url:输入您的 Zendesk 账户 URL,后跟 /api/v2。例如,https://example.zendesk.com/api/v2

  • zendesk enabled:启用或禁用该插件。

  • zendesk jobs api token已弃用。现有安装应迁移到 OAuth。

  • zendesk jobs email已弃用。现有安装应迁移到 OAuth。

  • zendesk autogenerate all categories原为 zendesk enable all categories):为每个分类中的主题自动创建 Zendesk 工单。此设置默认禁用。

  • zendesk autogenerate categories原为 zendesk enabled categories):选择其新主题应自动创建 Zendesk 工单的 Discourse 分类。

  • zendesk job push all posts:将回复作为工单评论推送到 Zendesk。此设置默认启用。

  • zendesk job push only author posts:仅推送由原始主题作者编写的回复。当 zendesk job push all posts 启用时,此设置适用,且默认禁用。

  • sync comments from zendeskzendesk incoming webhook token:将 Zendesk 评论同步到 Discourse。请参阅 如何启用 Zendesk 双向同步

  • zendesk tags:一个可选的标签列表,用于添加到从 Discourse 创建的 Zendesk 工单中。

37 个赞

我很乐意为这个Zendesk集成提出功能请求:

将回复发送到Zendesk作为评论,以及从Zendesk拉取评论作为回复对我们来说都至关重要。然而,执行后者的唯一方法是让指定的Discourse类别主题自动创建Zendesk工单。

我更希望有一种方法可以让手动创建的Zendesk工单也能够将评论拉取为回复!这是因为我们有一个分类流程,其中只有一些客户创建的主题需要转发到Zendesk。我们不希望允许我们的最终用户在后台也创建Zendesk工单。

谢谢!

非常感谢您的插件,它对我们帮助很大!

我想寻求一些关于以下问题的帮助:

  • 在 Zendesk 中,当我们创建“内部备注”(私密备注)到工单时,这些内部备注不会产生 Discourse 的耳语
  • 我在 Zendesk 中实现了一个 webhook,为每个内部备注创建一个耳语,但是,由于插件的正常工作,该耳语随后又被推送到 Zendesk。

所以,我的问题是:是否有办法阻止插件在创建耳语时在 Zendesk 中创建新评论,如上所述?

我知道我可以禁用所有帖子的同步,但目标是不只同步我通过 Discourse API 创建的那些耳语

您知道是否有简单的解决方法吗?

1 个赞

嘿!

我不确定这里是否是报告错误的正确地方,所以如果我应该将此移至其他地方,请告诉我。

我们已经使用此插件几周了,总体而言效果很好。但是,我们发现了一个问题,即该插件似乎会双重同步评论。我认为发生的情况是:

  1. 用户在 Discourse 中发送帖子
  2. 它被同步到 Zendesk
  3. 同步插件在 Zendesk 中看到新评论,并将其同步回 Discourse

这是我们看到的视觉效果,其中 John(设置插件的管理员)有时会在没有他干预的情况下发送其他用户的消息的副本。这来自 discourse 同步插件:

在 Zendesk 端,我们没有看到任何重复的回复,只看到用户的回复(由于此论坛的限制,无法发布第二张截图)。

展开工单的历史记录视图在 Zendesk 上没有显示任何异常。

有什么关于可能出错的原因或如何调试此问题的想法吗?

谢谢!

6 个赞

嘿 Shane!我尝试测试了一下,看看是否能重现这个问题,但到目前为止我没有遇到同样的问题。

确认一下,听起来 ZD 只是自动将评论发送回 Discourse。John 没有引用或复制/粘贴评论?

在首次设置插件时,您是否在 ZD 上设置了任何 其他触发器

3 个赞

感谢您的介入!是的,这是一个软件问题,John 不是自己发布这些消息的。

我会查看我们的触发器,并尝试禁用它们,然后再重新启用。不幸的是,我还没有发现这些消息发生的时间或原因有任何相似之处,所以没有直接的方法可以重现。

2 个赞

我发现了一个触发器,每当有工单更新并且它带有 discourse 标签时,它就会通过 PUT 请求通知 Discourse 同步 webhook。我不是设置这个插件的人,但这可能是原因吗?

除了这个触发器之外,我看不到任何其他可能干扰的自动化。我已经要求我们的 Discourse 管理员返回 John 的所有评论列表(包括我们删除的评论),以便我可以交叉引用每个实例来尝试找到联系。

4 个赞

我一直在使用 Zendesk 插件,并且非常喜欢它。但是,刚刚发生了一些意想不到的事情。当团队中的另一名成员(以前是 Zendesk 的客服人员)回复 Discourse 中的一个帖子时,Zendesk 将消息回传给了 Discourse。因此,它在 Discourse 主题中发布了两次,一次是由在 Discourse 中发帖的团队成员发布的,另一次是由 Zendesk 中该工单的当前被分配人发布的。

有人遇到过这种情况并有解决方案吗?

您好,

我遇到了一个问题,即在社区端创建的私有主题未在 Zendesk 中生成。请问是否需要任何特定的设置或配置才能确保私有主题正确同步到 Zendesk?

提前感谢您的帮助。

1 个赞

我有一个功能请求 : )

我看到“创建/查看 Zendesk 工单”按钮仅对员工可见。

能否通过新的 zendesk_create_ticket_allowed_groupszendesk_view_ticket_allowed_groups 插件设置来控制这些按钮的可见性,以获得更大的灵活性?

我不一定想授予我们的支持团队管理员或版主角色。他们当然是(Zendesk)域的管理员,但恕我直言,这并不总是证明在 Discourse 上拥有扩展特权的合理性。

:partying_face: 此插件现已作为 Bundling more popular plugins with Discourse core 的一部分,捆绑到 Discourse 核心中。如果您是自托管用户并使用了此插件,则需要在下次升级前将其从 app.yml 中移除。

1 个赞

@gormus 我正在更新该插件以支持使用 OAuth 令牌进行 Zendesk 身份验证,并看到了你在这里的请求。我想知道,基于 Zendesk 按钮的群组可见性功能对你来说是否仍然有用。