You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Weblate API创建GitHub合并请求至dev分支?

解决方案

Weblate的API确实没有提供直接创建GitHub合并请求(PR)的功能,因为PR属于代码托管平台的操作,而非翻译管理范畴。你可以在现有的GitHub Action流程中,直接调用GitHub REST API来完成PR创建,具体步骤如下:

1. 在GitHub Action中添加PR创建步骤

在你调用Weblate API完成commit和push的步骤之后,新增一个步骤使用GitHub官方的actions/github-script工具调用API创建PR:

- name: 创建翻译更新PR到dev分支
  uses: actions/github-script@v6
  with:
    script: |
      // 替换head为Weblate推送翻译的目标分支(比如weblate/xxx-translations)
      const prResponse = await github.rest.pulls.create({
        owner: context.repo.owner,
        repo: context.repo.repo,
        head: 'weblate-translations',
        base: 'dev',
        title: '[自动更新] Weblate翻译内容同步',
        body: '此PR包含Weblate自动生成的最新翻译内容,已完成commit和推送。'
      });
      console.log(`PR已创建:${prResponse.data.html_url}`);
    github-token: ${{ secrets.YOUR_GITHUB_TOKEN }} // 使用你已配置的GitHub token

2. 关键注意事项

  • 分支名匹配:确保head参数是Weblate实际推送翻译的分支名称(Weblate默认会创建以自身命名的分支,比如weblate-项目名-组件名)。
  • 权限验证:你的GitHub token需要具备repo权限,确保能在目标仓库中创建PR。
  • 避免重复PR:可以在调用API前先检查是否已有相同head/base的开放PR,避免重复创建(可通过github.rest.pulls.list接口查询)。

这种方式完全兼容你现有的自动化流程,不需要依赖Weblate的额外功能,利用已配置的GitHub token即可完成PR创建。

内容的提问来源于stack exchange,提问作者klaucode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:12:06