集成

GitHub (TMS)

文本由 Phrase Language AI 从英语机器翻译而得。

可用于

  • Team、Business 和 Enterprise 套餐

关于许可问题,请联系销售团队

可用于

  • Ultimate 和 Enterprise(原)套餐

关于许可问题,请联系销售团队

提示

有关 Phrase Strings 中 GitHub 集成的详细信息,请参阅 GitHub (Strings)

GitHub 连接器允许直接从 GitHub 存储库下载原文/源语文件,并将译文文件上传至该存储库。

该连接器使用 GitHub API 来实现集成。该连接器允许访问与 GitHub 账户关联的所有存储库。GitHub 账户身份验证也可以在 GitHub App 中完成。

用例

连接器有多种用例:

  • 项目经理可以直接在项目中添加线上存储库中的文件。

  • 设置 Submitter portal,允许提交者直接从线上存储库添加文件请求翻译。

  • 使用 自动项目创建 (APC),当检测到监控的文件或文件夹的 文件大小 发生更改时,自动创建新项目。

    • 此连接器支持绝对路径设置。译文文件只能存储在与原文/源语文件相同的分支中。

  • 设置 连续作业 以监控所选文件的更改。

GitHub (Beta)

注释

截至 2026 年 6 月,该连接器处于测试阶段。

身份验证

GitHub (Beta) 连接器使用 GitHub App 安装令牌,而不是个人用户账户。令牌有效期较短,并会自动续订。如果用户离开公司或失去存储库访问权限,连接器仍可继续工作。

GitHub (Beta) 连接器仅支持 GitHub App 身份验证。不支持原连接器中的 OAuth 选项。

导出

GitHub (Beta) 连接器将单次导出中的所有文件批量处理为一个提交和一个拉取请求,因此无论文件数量多少,CI 每次导出仅运行一次。

当所有内容共享相同的存储库所有者、存储库和分支时,文件会被批量处理为一个提交。

如果 APC 配置为在文件单独完成时上传,则每个文件将单独提交,而不是批量处理。

提交消息是自动生成的,无法自定义。如果导出为拉取请求,则可以自定义拉取请求名称和译文分支名称。

已知限制

  • 该连接器仅能列出、下载和上传文件。不支持在 GitHub 中删除或移动文件。任何删除或重命名操作必须直接在 GitHub 中完成。

  • 由于 GitHub API 限制,对于拥有超过 50,000 个文件的存储库,文件列表功能可能无法正常工作。

  • 目前不支持 GitHub Enterprise Server。

  • 新连接器不支持原连接器的 OAuth 流程。如果您的公司对 GitHub App 安装有限制,请在迁移前解决这些限制。

迁移到新的 GitHub (Beta) 连接器

由于身份验证模型发生更改,无法进行自动迁移。

先决条件:

  • 安装 GitHub App 所需的 GitHub 公司管理员访问权限。在公司级别安装它,以便它覆盖您的APC监控的所有存储库。

  • 现有的APC设置可见(在第二个选项卡中保持旧连接器打开)。

  • 一个测试分支或非生产存储库,以便在切换实时工作流之前进行验证。

遵循以下步骤:

  1. 安装Phrase GitHub App。

    1. 在Phrase TMS中,从设置Setup_gear.png页面,下拉到集成部分。

    2. 单击连接器

      连接器页面打开。

    3. 点击创建连接器

      创建连接器页面打开。

    4. 类型更改为GitHub (Beta)

    5. 点击连接

      Phrase重定向到GitHub以授权Phrase GitHub App。

    6. 在GitHub上,选择要授予访问权限的公司或账户以及存储库,然后确认安装。包含当前由现有连接器监控的每个存储库。

      GitHub自动重定向到Phrase。

    7. 选择要连接的用户或公司账户。

  2. 创建新连接器。

    1. 在Phrase TMS中,从设置Setup_gear.png页面,下拉到集成部分。

    2. 单击连接器

    3. 点击创建连接器

    4. 选择在第一步中设置的GitHub App安装。

    5. 从现有连接器复制设置:

      • 存储库和分支

      • 子文件夹路径(如果使用子文件夹监控)

      • 文件筛选正则表达式(如果已配置)

      • 导出模式:直接提交或拉取请求,以及译文分支

      • 拉取请求名称和译文分支名称(如果使用 PR 模式)

      可以在同一个 GitHub App 安装下创建多个连接器,每个连接器都有独立的设置。

  3. 使用试运行模式重新创建现有的 APC。

    暂且不要删除或禁用现有的 APC。

    1. 创建指向新连接器的新 APC,并镜像现有的 APC 配置。

    2. 在激活每个新 APC 之前,请启用 试运行 模式。试运行模式会扫描存储库并匹配文件,而不会触发翻译作业。

    3. 查看匹配的文件。确认范围与现有 APC 监控的范围一致。

  4. 通过测试导出进行验证。

    1. 对受监控范围内的文件进行小幅更改。

    2. 通过新连接器触发导出。

    3. 确认:

      • 创建单个提交(而非每个文件一个提交)。

      • 提交显示在 GitHub App 身份下,而非个人账户下。

      • CI 运行一次,而非每个文件运行一次。

  5. 切换实时工作流。

    验证通过后:

    1. 禁用原连接器上的 APC。

    2. 启用新连接器上的 APC(移除试运行模式)。

    3. 在停用原连接器之前,监控一到两个导出周期。

  6. 停用原连接器。

    确认新连接器稳定后:

    1. 删除旧的 APC。

    2. 从“设置”→“连接器”→“GitHub (原)”中删除原连接器。

    3. (可选)撤销原连接器所使用的用户账户的 OAuth 令牌。

GitHub 设置(原)

无需进行任何更改。

Phrase TMS 设置

重要

如果从自定义领域(例如 mydomain.phrase.jp)访问,请打开隐身浏览器窗口并通过 cloud.memsource.comus.cloud.memsource.com 登录,以应用创建或保存连接器所需的身份验证。保存后,即可通过自定义领域访问连接器。

  1. 在设置Setup_gear.png页面,下拉到集成部分。

  2. 单击连接器

    连接器页面打开。

  3. 点击创建连接器

    创建连接器页面打开。

  4. 类型 更改为 GitHub 并为连接器提供名称。

  5. (可选)选择 将译文导出为拉取请求 并提供 拉取请求分支

  6. 如果需要,选择 使用 Github 应用 以显示 Phrase GitHub 应用 URL,并使用 GitHub 应用授权流程导入/导出文件:

    1. 点击链接以在新选项卡中打开 Phrase 连接器官方页面:https://github.com/apps/phrase-app-connector-eu(欧盟数据中心)或 https://github.com/apps/phrase-app-connector-us(美国数据中心)。

    2. 将 Phrase GitHub 应用安装到译文 GitHub 账户。

      注释

      如果未将 GitHub 应用安装到用户的译文 GitHub 账户,则 GitHub 连接器只能看到公共存储库。

    3. 通过选择任何对 GitHub 连接器可见且可访问的私有存储库来完成安装程序。

    4. 返回 Phrase 连接器/创建 页面以授权 GitHub 应用并连接到 GitHub。

  7. 单击 Connect to GitHub。如果未使用 GitHub App 连接,则会弹出窗口或出现一个新的选项卡,要求进行授权。

  8. 如果需要,请提供 Commit message

  9. 单击 Authorize Phrase 按钮。

    如果使用 GitHub app,请单击 Authorize Phrase App Connector 按钮。

    如果成功,窗口/选项卡将消失,并且 Connect to GitHub 按钮旁边会出现一个小勾号。

  10. 点击保存

    连接器添加到了连接器页面的列表中。

    重要

    如果使用 GitHub app 授权流程创建 GitHub 连接器,则在保存连接器设置后,无法更改授权方法。

这篇文章有帮助吗?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.