如何在 GitHub Action 中使用 GitHub cli (gh) 向 Github 进行身份验证并创建 PR?
Posted
技术标签:
【中文标题】如何在 GitHub Action 中使用 GitHub cli (gh) 向 Github 进行身份验证并创建 PR?【英文标题】:How do you authenticate with Github and create PRs using GitHub cli (gh) in a GitHub Action? 【发布时间】:2022-01-19 06:18:08 【问题描述】:在 GitHub 操作中,我使用脚本创建了一个文件。然后我可以使用 git 创建一个分支,添加文件,提交文件并将分支推送到 repo。全部使用 git。
然后我想从我的操作中创建一个 PR,所以我正在使用 GH CLI。 在我的步骤中,这是 PR 相关部分:
echo "GH CLI Auth"
gh auth login --with-token < $ secrets.GITHUB_TOKEN
echo "Create PR"
gh pr create --reviewer myhandle --title "Show Notes $ env.NEWFILE_PATH " --body "Show Notes $ env.NEWFILE_PATH "
但我遇到了一个错误。
GH CLI Auth
/home/runner/work/_temp/<GUID_CENSORED>.sh: line 13: ***: No such file or directory
Error: Process completed with exit code 1.
我正在授予 GitHub 令牌对代码和拉取请求的写入权限。
permissions:
contents: write
pull-requests: write
我很难过。感谢您的帮助!
【问题讨论】:
【参考方案1】:您可以为此使用环境变量。 GH_TOKEN
或 GITHUB_TOKEN
,详情请查看 docs。
这是一个例子:
name: Create PR workflow example
on: push
jobs:
create_pr:
runs-on: ubuntu-latest
steps:
- run: gh pr create --title "The fix" --body "This fixes the issue"
env:
GITHUB_TOKEN: $ secrets.GITHUB_TOKEN
【讨论】:
我现在看到了,我是在我实际使用gh cli
之前的一步上这样做的。一旦我移动了它,正如你指出的那样它有效。谢谢!以上是关于如何在 GitHub Action 中使用 GitHub cli (gh) 向 Github 进行身份验证并创建 PR?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 GitHub Action 工作流程中推送或合并之前获取上一个提交?
GitHub Action appleboy/ssh-action:如何避免 SSH 密钥出现在服务器上?