如何在 GitHub 操作中使用 GitHub CLI 自动关闭 GitHub 问题

问题描述 投票:0回答:1

我刚开始使用

GitHub
操作。我想在问题创建后自动关闭它。为此,我参考了 Actions 市场和此操作link。目前我在
yml
文件中的代码如下所示。 GitHub 令牌保存在 Actions >> Secrets 部分,它是私有存储库。每次我运行下面的代码时,我都会收到此错误
GraphQL: Could not resolve to an issue or pull request with the number of 1. (repository.issue)
。我不明白为什么工作流抱怨无法解决问题? 我需要在我的
GitHub
存储库中执行任何设置才能自动关闭问题吗?

name: CI
on:
  issues:
    types:
      - opened
jobs:
  titlePrefixCheck:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Set repo
        run: gh repo set-default user/private-repo

      - name: Close Issue
        run: gh issue close --comment "Auto-closing issue" "1"
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
github github-actions github-api cicd github-cli
1个回答
0
投票

GraphQL: Could not resolve to an issue or pull request with the number of 1. (repository.issue)

数字“1”不是该存储库中的有效问题编号。

issues
触发器的Webhook有效负载具有
issue.number
,它将给出新打开的问题的问题编号。因此,您可以使用
github.event.issue.number
来指代它。

示例:

name: close-issue-on-open

on:
  issues:
    types: [opened]

jobs:
  close-issue:
    runs-on: ubuntu-latest

    steps:
    - name: Close
      env:
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        REPO: ${{ github.repository }}
        ISSUE: ${{ github.event.issue.number }}
      run: gh issue close --repo "$REPO" --comment "Autoclosing issue $ISSUE" "$ISSUE"

对于您所描述的用例,根本不需要结帐步骤。

© www.soinside.com 2019 - 2024. All rights reserved.