Skip to main content

Использование Copilot CLI в GitHub Actions с GITHUB_TOKEN

Запускайте Copilot CLIGitHub Actions рабочий процесс с использованием встроенного GITHUB_TOKEN, без .personal access token

Для информации о вариантах аутентификации и о том, как работает выставление счетов при запуске Copilot CLIGitHub Actions, см. Об использовании Copilot CLI в GitHub Actions.

Поддержка политики

Чтобы рабочие процессы вашей организации могли Copilot CLI использовать с GITHUB_TOKEN, политика должна быть включена. Эта политика по умолчанию включена для организаций с Copilot CLI включённым режимом, но вы можете подтвердить или изменить её в настройках политики вашей организации.

  1. Перейдите в настройки политики вашей организации. См . раздел AUTOTITLE.
  2. В разделе «Copilot CLI», убедитесь, что выбрано «Разрешить использование Copilot CLI выставленного за счет организации ».

Рекомендуемый подход: GitHub агентные рабочие процессы

Для большинства случаев автоматизации мы рекомендуем использовать GitHub агентные рабочие процессы , а не copilot вызывать их напрямую в этапах процесса. Агентные рабочие процессы по умолчанию используют GITHUB_TOKEN аутентификацию и включают дополнительные ограничения, подходящие для автоматизированных сред.

Инструкции по настройке см. раздел «Быстрый старт » в GitHub документации Agentic Workflows. Ваш рабочий процесс также должен предоставлять разрешение copilot-requests: write . См. раздел «Разрешения » в документации GitHub Agentic Workflows.

Использование Copilot CLI напрямую в рабочем процессе

Если нужно вызвать Copilot CLI напрямую на этапе рабочего процесса, установите CLI с помощью npm.

Предупреждение

Прямой вызов Copilot CLI в этапах рабочего процесса даёт ему широкий доступ к вашей рабочей среде. Тщательно изучите триггеры и права вашего рабочего процесса перед использованием этого подхода. Особенно рискуют рабочие процессы, запускаемые pull request-запросами с форков.

Пример рабочего процесса

name: Copilot CLI example
on: [push]

permissions:
  contents: read
  copilot-requests: write

jobs:
  copilot:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 2
      - name: Install Copilot CLI
        run: npm install -g @github/copilot
      - name: Run Copilot
        run: copilot -p "Use git show HEAD to summarize the changes in this commit" -s --allow-tool='shell(git show:*)'
        env:
          GITHUB_TOKEN: ${{ github.token }}

Ключевые детали этого примера:

  • Параметр fetch-depth: 2 извлекает текущую фиксацию и ее родительскую фиксацию, позволяя git show HEAD вычислить изменения, введенные текущей фиксацией.
  • Этот --allow-tool='shell(git show:*)' параметр позволяет Copilot CLI выполнять git show команды без запроса утверждения. Неинтерактивные (-p) запуски не могут отображать интерактивный запрос на утверждение, поэтому любые действия, которые не утверждены предварительно, запрещены автоматически.
  • copilot-requests: write Разрешение требуется для подачи запросов в рабочем процессеCopilot.
  • Предоставляется GITHUB_TOKENGitHub Actions автоматический дескриптор проверки подлинности. Никаких дополнительных секретов не требуется.

Примечание.

Для использования Copilot CLI аутентификации вы должны быть на свежей версии.GITHUB_TOKEN Обновите с copilot updateпомощью , или переустановите последнюю версию с npm install -g @github/copilotпомощью .