您如何使用 Github 进行身份验证并在 GitHub 操作中使用 GitHub cli (gh) 创建 PR?

How do you authenticate with Github and create PRs using GitHub cli (gh) in a GitHub Action?

在 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

我很难过。感谢您的帮助!

您可以为此使用环境变量。 GH_TOKENGITHUB_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 }}