Skip to main content

Diese Version von GitHub Enterprise Server wird eingestellt am 2026-03-17. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise Server. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Verwenden GitHub CLI in Workflows

Du kannst mit GitHub CLI in GitHub Actions-Workflows skripten.

Hinweis

Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.

Die GitHub CLI ist auf allen GitHub-gehosteten Runnern vorinstalliert. Für jeden Schritt, der GitHub CLI verwendet, musst du eine Umgebungsvariable namens auf ein Token mit den erforderlichen Berechtigungsbereichen festlegen.

Du kannst alle GitHub CLI-Befehle ausführen. Dieser Workflow verwendet beispielsweise den -Unterbefehl, um einen Kommentar hinzuzufügen, wenn ein Issue geöffnet wird.

YAML
name: Comment when opened
on:
  issues:
    types:
      - opened
jobs:
  comment:
    runs-on: ubuntu-latest
    steps:
      - run: gh issue comment $ISSUE --body "Thank you for opening this issue!"
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          ISSUE: ${{ github.event.issue.html_url }}

Du kannst API-Aufrufe auch über GitHub CLI ausführen. Dieser Workflow verwendet beispielsweise zuerst den -Unterbefehl, um die GraphQL-API abzufragen und das Ergebnis zu analysieren. Anschließend speichert er das Ergebnis in einer Umgebungsvariablen, auf die er in einem späteren Schritt zugreifen kann. Im zweiten Schritt wird der spezielle Unterbefehl verwendet, um ein Problem zu erstellen, das die im ersten Schritt enthaltenen Informationen umfasst.

YAML
name: Report remaining open issues
on:
  schedule:
    # Daily at 8:20 UTC
    - cron: '20 8 * * *'
jobs:
  track_pr:
    runs-on: ubuntu-latest
    steps:
      - run: |
          numOpenIssues="$(gh api graphql -F owner=$OWNER -F name=$REPO -f query='
            query($name: String!, $owner: String!) {
              repository(owner: $owner, name: $name) {
                issues(states:OPEN){
                  totalCount
                }
              }
            }
          ' --jq '.data.repository.issues.totalCount')"

          echo 'NUM_OPEN_ISSUES='$numOpenIssues >> $GITHUB_ENV
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          OWNER: ${{ github.repository_owner }}
          REPO: ${{ github.event.repository.name }}
      - run: |
          gh issue create --title "Issue report" --body "$NUM_OPEN_ISSUES issues remaining" --repo $GITHUB_REPOSITORY
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}