如何在GitHub Pull Request中自动添加含PR编号的链接
实现GitHub PR自动添加带编号的预览链接的方法
方法一:GitHub Actions(最灵活可靠)
通过自定义GitHub Action,在PR创建时自动生成并插入对应编号的预览链接,步骤如下:
- 在仓库的
.github/workflows目录下创建一个新的工作流文件,比如add-preview-link.yml - 写入以下配置代码:
name: 自动添加PR预览链接 on: pull_request: types: [opened] jobs: update-pr-description: runs-on: ubuntu-latest steps: - name: 更新PR描述 uses: actions/github-script@v6 with: script: | // 获取当前PR编号 const prNumber = context.issue.number; // 生成带编号的预览链接(Markdown格式) const previewLink = `[www.pr-${prNumber}.com](http://www.pr-${prNumber}.com)`; // 获取当前PR的描述内容 const currentBody = context.payload.pull_request.body || ''; // 避免重复添加链接 if (!currentBody.includes(`pr-${prNumber}.com`)) { // 组合新的描述内容,将链接追加到末尾 const newBody = `${currentBody}\n\n---\n预览应用:${previewLink}`; // 调用GitHub API更新PR描述 github.rest.pulls.update({ owner: context.repo.owner, repo: context.repo.repo, pull_number: prNumber, body: newBody }); }
这个工作流会在PR被创建时触发:自动获取PR编号,生成对应预览链接,检查描述中是否已存在该链接(避免重复),如果不存在则将链接追加到PR描述的末尾。
方法二:PR模板辅助(半手动)
如果不需要完全自动,可以在PR模板中预留占位符,方便后续补充:
- 在仓库的
.github/PULL_REQUEST_TEMPLATE.md文件中添加如下内容:
<!-- 请填写PR相关描述 --> --- 预览应用:[www.pr-{{ PR_NUMBER }}.com](http://www.pr-{{ PR_NUMBER }}.com)
用户创建PR后,只需将 {{ PR_NUMBER }} 替换为实际的PR编号即可。如果想进一步自动化,也可以结合上述GitHub Action,在PR创建后自动替换占位符。
补充说明
如果你的预览应用是由CI/CD工具自动部署的,这类工具通常自带PR预览链接自动添加功能,可直接在工具的GitHub集成设置中开启;如果是自定义的预览地址,上述GitHub Action方法是最适配的方案。
内容的提问来源于stack exchange,提问作者itye1970
相关产品推荐
相关产品推荐

