GitHub 导出/恢复

对话式 AI 客服 (Dialogflow CX) 与 GitHub 集成。 借助此集成,您可以轻松将代理导出为 JSON 以推送到 GitHub,也可以从 GitHub 拉取以恢复代理。推送到 GitHub 的 JSON 导出格式是导出代理的展开式 ZIP 文件内容。

借助此功能,你可以充分利用 GitHub 源代码控制功能,例如:

限制

存在以下限制:

  • GitHub 对每小时的请求数量设置了速率限制(非企业账号为 5,000 次,企业账号为 15,000 次)。如果代理推送内容超出此限制, Dialogflow CX 控制台将报告速率限制错误。 您可以在一小时后重试推送。
  • GitHub API 对单次提交中可更新的文件数量设有限制。如果文件数量超过 500 个,您可能无法从对话代理 (Dialogflow CX) 推送到 GitHub。在这种情况下,您可以导出
    将该代理压缩为 zip 文件,并使用计算机上的 Git CLI 将代理文件推送到 GitHub。 此限制将在后续的 Conversational Agents (Dialogflow CX) 版本中得到解决。
  • 专用访问通道 自行托管 代码库不受支持 因为 Conversational Agents (Dialogflow CX) 无法访问这些代码库。
  • GitHub 代码库不能包含代理文件以外的任何其他文件 通过代理导出功能导出的数据。代码库中的所有其他文件都将被移除 。

配置

如需配置此集成,请执行以下操作:

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 点击管理标签页。
  5. Git部署部分。
  6. 点击添加 Git 集成,系统随即会打开一个配置对话框。
  7. 输入以下内容: <ph type="x-smartling-placeholder">
      </ph>
    • GitHub 连接的显示名称。
    • GitHub 代码库网址(例如:https://api.github.com/repos/<repository_owner>/<repository_name>)。
    • 添加客服人员将与之互动的 GitHub 分支。您可以点击分支旁边的星形图标,将其指定为默认分支。
    • GitHub 个人令牌一经设置便无法查看,仅支持更新。 如果您使用精细的个人访问令牌,则需要拥有以下权限
      • 代码库权限 > 内容:读取和写入
      • 代码库权限 >元数据:只读(应自动选择) 之后)
  8. 点击连接

您可以随时点击“修改”图标来更改此配置。

推送和恢复

配置完成后,您可以将代理推送到/从 GitHub 推送/拉取。

推送按钮用于导出代理并将提交内容提交到 Git 分支下拉菜单中所选的 GitHub 分支。此提交包含整个代理,但不包含特定更改, 并删除代码库中的所有现有文件

对于新代码库,请确保至少有一项来自 GitHub 的提交 然后再使用 Dialogflow CX 控制台中的推送选项。

具有 Dialogflow Reader 角色的用户可以推送到 GitHub 代码库。为防止不必要的推送,请将这些代理配置为只读 或个人访问令牌

恢复按钮用于从 GitHub 分支拉取代理数据 并从中恢复对话代理 (Dialogflow CX) 代理, 数据。这将以与任何代理恢复操作相同的方式覆盖您的代理。

用例示例

以下示例说明了如何使用此功能 向生产代理提出不同的代理更改建议。

假设您的代理使用以下 GitHub 分支:

  • Prod:正式版代理的分支
  • Dev1:用于代理开发的分支
  • Dev2:用于客服人员开发的另一个分支

用户 1 想要提出代理更改建议,并执行以下步骤:

  1. 将生产代理导出到新的代理。
  2. 根据需要对此代理副本进行更改。
  3. 测试所做更改。
  4. 将更改后的代理推送到 Dev1 分支。
  5. 创建针对 Prod 分支的合并请求。

用户 2 想要提议代理更改,并执行以下步骤:

  1. 将生产代理导出到新的代理。
  2. 根据需要对此代理副本进行更改。
  3. 测试所做更改。
  4. 将经过更改的代理推送到 Dev2 分支。
  5. 创建一个针对 Prod 分支的合并请求。

用户 3 会审核这两位用户的合并请求,并执行以下步骤:

  1. 解决冲突。
  2. 提交已获批准的更改。
  3. 将正式版 GitHub 分支恢复为正式版对话式 AI 客服 (Dialogflow CX) 客服。