Você pode executar CLI do GitHub Copilot em um fluxo de trabalho GitHub Actions para automatizar tarefas impulsionadas por IA como parte do seu processo de CI/CD. Por exemplo, você pode resumir a atividade recente do repositório, gerar relatórios ou estruturar o conteúdo do projeto. CLI do GitHub Copilot é executado no executor do Actions como qualquer outra ferramenta de CLI, para que você possa instalá-lo durante um trabalho e invocá-lo das etapas do fluxo de trabalho.
Noções básicas sobre o fluxo de trabalho
Você pode definir um trabalho em um fluxo de trabalho GitHub Actions que: instala CLI do Copilot no executor, autentica-o, executa-o no modo programático e então trata os resultados. O modo programático foi projetado para scripts e automação e permite que você passe um prompt de forma não interativa.
Os fluxos de trabalho podem seguir esse padrão:
-
**Gatilho**: iniciar o fluxo de trabalho de acordo com uma programação, em resposta a eventos do repositório ou manualmente. -
**Configuração**: código de check-out, ambiente de configuração. -
**Instalar**: instalar CLI do GitHub Copilot no executor. -
**Autenticar**: verifique se a CLI tem as permissões necessárias para acessar o repositório e fazer alterações. -
**Execute o CLI do Copilot**: invoque o CLI do Copilot com uma solicitação que descreve a tarefa que você deseja automatizar.
O fluxo de trabalho a seguir gera um resumo diário das alterações do repositório e imprime o resumo nos logs de fluxo de trabalho.
name: Daily summary
on:
workflow_dispatch:
# Daily at 8:25 UTC
schedule:
- cron: '25 8 * * *'
permissions:
contents: read
jobs:
daily-summary:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Set up Node.js environment
uses: actions/setup-node@v4
- name: Install Copilot CLI
run: npm install -g @github/copilot
- name: Run Copilot CLI
env:
COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
run: |
TODAY=$(date +%Y-%m-%d)
copilot -p "Review the git log for this repository and write a bullet point summary of all code changes that were made today ($TODAY). Include a brief description of what was changed."
name: Daily summary
on:
workflow_dispatch:
# Daily at 8:25 UTC
schedule:
- cron: '25 8 * * *'
permissions:
contents: read
jobs:
daily-summary:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Set up Node.js environment
uses: actions/setup-node@v4
- name: Install Copilot CLI
run: npm install -g @github/copilot
- name: Run Copilot CLI
env:
COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
run: |
TODAY=$(date +%Y-%m-%d)
copilot -p "Review the git log for this repository and write a bullet point summary of all code changes that were made today ($TODAY). Include a brief description of what was changed."
Trigger
Neste exemplo, o fluxo de trabalho é executado diariamente e também pode ser acionado manualmente.
`The workflow_dispatch` o gatilho permite executar o fluxo de trabalho manualmente na guia Ações, o que é útil ao testar alterações na configuração do prompt ou do fluxo de trabalho.
O schedule gatilho executa o fluxo de trabalho automaticamente em um momento especificado usando a sintaxe cron.
on:
# Allows manual triggering of this workflow.
workflow_dispatch:
# Daily at 8:30 UTC
schedule:
- cron: '30 8 * * *'
on:
# Allows manual triggering of this workflow.
workflow_dispatch:
# Daily at 8:30 UTC
schedule:
- cron: '30 8 * * *'
Configuração
Configure o trabalho para que CLI do Copilot possa acessar o repositório e executar no executor. Isso permite que CLI do Copilot analise o contexto do repositório quando gera o resumo diário.
O bloco permissions define o escopo concedido ao GITHUB_TOKEN incorporado. Como esse fluxo de trabalho lê os dados do repositório e imprime um resumo nos logs, ele requer contents: read.
permissions:
contents: read
jobs:
daily-summary:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
permissions:
contents: read
jobs:
daily-summary:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
Install
Instale CLI do Copilot no executor para que seu fluxo de trabalho possa invocá-lo como um comando. Você pode instalar CLI do GitHub Copilot usando qualquer método de instalação suportado. Para obter uma lista completa das opções de instalação, consulte Como instalar a CLI do GitHub Copilot.
Neste exemplo, o fluxo de trabalho instala CLI do GitHub Copilot globalmente com npm.
- name: Set up Node.js environment uses: actions/setup-node@v4 - name: Install Copilot CLI run: npm install -g @github/copilot
- name: Set up Node.js environment
uses: actions/setup-node@v4
- name: Install Copilot CLI
run: npm install -g @github/copilot
Authenticate
Para autenticar CLI do Copilot em um fluxo de trabalho, crie um fine-grained personal access token (PAT) com a permissão Solicitações do Copilot. Armazene o PAT como um segredo de repositório e, em seguida, passe-o para a CLI usando uma variável de ambiente. Para obter mais informações sobre como criar um PAT para a CLI, consulte Autenticando com um personal access token.
CLI do Copilot dá suporte a várias variáveis de ambiente de autenticação. Neste exemplo, o fluxo de trabalho usa COPILOT_GITHUB_TOKEN, que é específico de CLI do Copilot e evita confusão com a variável de ambiente interna GITHUB_TOKEN.
- name: Run Copilot CLI
env:
COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- name: Run Copilot CLI
env:
COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
Executar CLI do Copilot
Execute CLI do Copilot no modo programável quando quiser usá-lo na automação.
`copilot -p PROMPT` executa um prompt programaticamente e sai quando o comando é concluído.
Neste fluxo de trabalho, CLI do Copilot faz referência ao conteúdo do repositório disponível na área de trabalho. O comando imprime sua resposta à saída padrão e o resumo aparece nos logs de fluxo de trabalho.
- name: Run Copilot CLI
env:
COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
run: |
TODAY=$(date +%Y-%m-%d)
copilot -p "Review the git log for this repository and write a bullet point summary of all code changes that were made today ($TODAY). Include a brief description of what was changed."
- name: Run Copilot CLI
env:
COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
run: |
TODAY=$(date +%Y-%m-%d)
copilot -p "Review the git log for this repository and write a bullet point summary of all code changes that were made today ($TODAY). Include a brief description of what was changed."
Próximas etapas
Depois de confirmar que o fluxo de trabalho imprime um resumo nos logs, você pode adaptar o mesmo padrão a outras tarefas de automação. Comece alterando o prompt que você passa para copilot -p PROMPT, e depois decida o que fazer com a saída.
- Escreva o resumo em um arquivo para que as etapas posteriores possam usá-lo como entrada.
- Poste o resumo como um comentário sobre um problema ou uma mensagem em um chat de equipe.
- Resumir solicitações e gerar um log de alterações preliminar.
Leitura adicional
-
[AUTOTITLE](/copilot/reference/cli-command-reference) -
[AUTOTITLE](/copilot/reference/cli-plugin-reference)