如何在 GitHub Action 中使用 GitHub cli (gh) 通过 Github 进行身份验证并创建 PR?

Pat*_*ick 8 github-actions github-cli

在 GitHub 操作中,我使用脚本创建一个文件。然后我可以使用 git 创建一个分支,添加文件,提交文件并将分支推送到存储库。全部使用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 }}"
Run Code Online (Sandbox Code Playgroud)

但我收到错误。

GH CLI Auth
/home/runner/work/_temp/<GUID_CENSORED>.sh: line 13: ***: No such file or directory
Error: Process completed with exit code 1.
Run Code Online (Sandbox Code Playgroud)

我授予 GitHub 令牌对代码和拉取请求的写入权限。

permissions:
  contents: write
  pull-requests: write
Run Code Online (Sandbox Code Playgroud)

我很困惑。谢谢您的帮助!

fre*_*nky 9

您可以为此使用环境变量。或者GH_TOKENGITHUB_TOKEN请查看文档以了解详细信息。

这是一个例子:

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 }}
Run Code Online (Sandbox Code Playgroud)