Usar o GitHub CLI em fluxos de trabalho

Você pode fazero script com GitHub CLI em fluxos de trabalho GitHub Actions.

Para saber mais sobre GitHub CLI, consulte "Sobre GitHub CLI."

GitHub CLI está pré-instalado em todos os executores hospedados em GitHub. Para cada etapa que usa GitHub CLI, você deve definir uma variável de ambiente denominada GITHUB_TOKEN como um token com os escopos necessários.

Você pode executar qualquer comando de GitHub CLI. Por exemplo, este fluxo de trabalho usa o subcomando gh issue comment para adicionar um comentário quando um problema é aberto.

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:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          ISSUE: ${{ github.event.issue.html_url }}

Você também pode executar chamadas de API por meio de GitHub CLI. Por exemplo, este fluxo de trabalho usa primeiro o subcomando gh api para consultar a API do GraphQL e analisar o resultado. Em seguida, ele armazena o resultado de uma variável de ambiente a qual pode acessar em uma etapa posterior. Na segunda etapa, ele usa o subcomando gh issue create para criar um problema que contém as informações da primeira etapa.

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:
          GITHUB_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:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.