Skip to main content

Automatización de tareas con la CLI de Copilot y Acciones de GitHub

Integre CLI de GitHub Copilot dentro de los flujos de trabajo de GitHub Actions.

¿Quién puede utilizar esta característica?

CLI de GitHub Copilot está disponible con todos los planes Copilot. Si recibes Copilot de una organización, la directiva de CLI de Copilot debe estar habilitada en la configuración de la organización.

Puede ejecutar CLI de GitHub Copilot en un flujo de trabajo de GitHub Actions para automatizar tareas con tecnología de IA como parte de su proceso de CI/CD. Por ejemplo, puede resumir la actividad del repositorio reciente, generar informes o estructurar el contenido del proyecto. CLI de GitHub Copilot se ejecuta en el ejecutor de Acciones como cualquier otra herramienta de la CLI, por lo que puede instalarlo durante un trabajo e invocarlo desde los pasos del flujo de trabajo.

Descripción del flujo de trabajo

Puede definir un trabajo en un flujo de trabajo de GitHub Actions que: instala CLI de Copilot en el ejecutor, lo autentica, lo ejecuta en modo de programación y, a continuación, controla los resultados. El modo de programación está diseñado para scripts y automatización y permite pasar un mensaje de forma no interactiva.

Los flujos de trabajo pueden seguir este patrón:
1. Desencadenador: inicie el flujo de trabajo según una programación, en respuesta a los eventos del repositorio o manualmente. 1. Configuración: código de desprotección, configuración del entorno. 1. Instalación: instale CLI de GitHub Copilot en el ejecutor. 1. Autenticación: asegúrese de que la CLI tiene los permisos necesarios para acceder al repositorio y realizar cambios. 1. Ejecute CLI de Copilot: Invoque CLI de Copilot con un mensaje que describa la tarea que desea automatizar.

El flujo de trabajo siguiente genera un resumen diario de los cambios del repositorio e imprime el resumen en los registros de flujo de trabajo.

YAML
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

En este ejemplo, el flujo de trabajo se ejecuta según una programación diaria y también se puede desencadenar manualmente.

          `The workflow_dispatch` El desencadenador permite ejecutar el flujo de trabajo manualmente desde la pestaña Acciones, lo que resulta útil al probar los cambios en la configuración del mensaje o del flujo de trabajo. 

El schedule desencadenador ejecuta el flujo de trabajo automáticamente en un momento especificado mediante la sintaxis cron.

YAML
on:
  # Allows manual triggering of this workflow.
  workflow_dispatch:
  # Daily at 8:30 UTC
  schedule:
    - cron: '30 8 * * *'

Configuración

Configure el trabajo para que CLI de Copilot pueda acceder al repositorio y ejecutarse en el ejecutor. Esto permite que CLI de Copilot analice el contexto del repositorio al generar el resumen diario.

El bloque permissions especifica el ámbito concedido a la función predefinida GITHUB_TOKEN. Dado que este flujo de trabajo lee los datos del repositorio e imprime un resumen en los registros, requiere contents: read.

YAML
permissions:
  contents: read
jobs:
  daily-summary:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5

Install

Instale CLI de Copilot en el ejecutor para que el flujo de trabajo pueda invocarlo como un comando. Puede instalar CLI de GitHub Copilot mediante cualquier método de instalación compatible. Para obtener una lista completa de las opciones de instalación, consulte Instalación de la CLI de GitHub Copilot.

En este ejemplo, el flujo de trabajo instala CLI de GitHub Copilot globalmente con npm.

YAML
- name: Set up Node.js environment
  uses: actions/setup-node@v4

- name: Install Copilot CLI
  run: npm install -g @github/copilot

Autenticar

Para autenticar CLI de Copilot en un flujo de trabajo, cree un fine-grained personal access token (PAT) con el permiso Solicitudes de Copilot. Almacene el PAT como secreto de repositorio y, a continuación, páselo a la CLI mediante una variable de entorno. Para obtener más información sobre cómo crear un PAT para la CLI, consulte Autenticación con un personal access token.

CLI de Copilot admite varias variables de entorno de autenticación. En este ejemplo, el flujo de trabajo utiliza COPILOT_GITHUB_TOKEN, que es específico de CLI de Copilot y evita confusiones con la variable de entorno integrada GITHUB_TOKEN.

YAML
- name: Run Copilot CLI
  env:
   COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}

Ejecución de la CLI de Copilot

Ejecute la CLI de Copilot en modo de programación cuando quiera usarla en la automatización.

          `copilot -p PROMPT` ejecuta un aviso de forma programada y se cierra cuando se completa el comando. 

En este flujo de trabajo, CLI de Copilot hace referencia al contenido del repositorio que está disponible en el espacio de trabajo. El comando imprime su respuesta a la salida estándar y el resumen aparece en los registros de flujo de trabajo.

YAML
- 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."

Pasos siguientes

Después de confirmar que el flujo de trabajo imprime un resumen en los registros, puede adaptar el mismo patrón a otras tareas de automatización. Empiece por cambiar la solicitud que pasa a copilot -p PROMPT y decida lo que desea hacer con el resultado.

  • Escriba el resumen en un archivo para que los pasos posteriores puedan usarlo como entrada.
  • Publique el resumen como comentario sobre un problema o un mensaje en un chat de equipo.
  • Resumir solicitudes y generar un borrador de registro de cambios.

Lectura adicional

  •         [AUTOTITLE](/copilot/reference/cli-command-reference)
    
  •         [AUTOTITLE](/copilot/reference/cli-plugin-reference)