Claude Code GitHub Actions
Узнайте об интеграции Claude Code в ваш рабочий процесс разработки с помощью Claude Code GitHub Actions
Claude Code GitHub Actions привносит автоматизацию на основе ИИ в ваш рабочий процесс GitHub. С простым упоминанием @claude
в любом PR или issue, Claude может анализировать ваш код, создавать pull request’ы, реализовывать функции и исправлять ошибки - все это следуя стандартам вашего проекта.
Claude Code GitHub Actions в настоящее время находится в бета-версии. Функции и функциональность могут развиваться по мере того, как мы совершенствуем опыт.
Claude Code GitHub Actions построен поверх Claude Code SDK, который обеспечивает программную интеграцию Claude Code в ваши приложения. Вы можете использовать SDK для создания пользовательских рабочих процессов автоматизации помимо GitHub Actions.
Зачем использовать Claude Code GitHub Actions?
- Мгновенное создание PR: Опишите, что вам нужно, и Claude создаст полный PR со всеми необходимыми изменениями
- Автоматизированная реализация кода: Превращайте issues в рабочий код одной командой
- Следует вашим стандартам: Claude соблюдает ваши рекомендации
CLAUDE.md
и существующие паттерны кода - Простая настройка: Начните работу за минуты с нашим установщиком и API ключом
- Безопасность по умолчанию: Ваш код остается на runner’ах Github
Что может делать Claude?
Claude Code предоставляет мощные GitHub Actions, которые трансформируют то, как вы работаете с кодом:
Claude Code Action
Это GitHub Action позволяет вам запускать Claude Code в ваших рабочих процессах GitHub Actions. Вы можете использовать это для создания любого пользовательского рабочего процесса поверх Claude Code.
Claude Code Action (Base)
Основа для создания пользовательских рабочих процессов GitHub с Claude. Эта расширяемая платформа дает вам полный доступ к возможностям Claude для создания индивидуальной автоматизации.
Настройка
Быстрая настройка
Самый простой способ настроить это действие - через Claude Code в терминале. Просто откройте claude и выполните /install-github-app
.
Эта команда проведет вас через настройку GitHub приложения и необходимых секретов.
- Вы должны быть администратором репозитория для установки GitHub приложения и добавления секретов
- Этот метод быстрого старта доступен только для прямых пользователей Anthropic API. Если вы используете AWS Bedrock или Google Vertex AI, пожалуйста, смотрите раздел Использование с AWS Bedrock и Google Vertex AI.
Ручная настройка
Если команда /install-github-app
не работает или вы предпочитаете ручную настройку, пожалуйста, следуйте этим инструкциям по ручной настройке:
- Установите Claude GitHub приложение в ваш репозиторий: https://github.com/apps/claude
- Добавьте ANTHROPIC_API_KEY в секреты вашего репозитория (Узнайте, как использовать секреты в GitHub Actions)
- Скопируйте файл рабочего процесса из examples/claude.yml в
.github/workflows/
вашего репозитория
После завершения быстрой настройки или ручной настройки, протестируйте действие, отметив @claude
в комментарии issue или PR!
Примеры случаев использования
Claude Code GitHub Actions может помочь вам с различными задачами. Для полных рабочих примеров смотрите директорию examples.
Превращение issues в PR
В комментарии issue:
Claude проанализирует issue, напишет код и создаст PR для рассмотрения.
Получение помощи с реализацией
В комментарии PR:
Claude проанализирует ваш код и предоставит конкретные рекомендации по реализации.
Быстрое исправление ошибок
В issue:
Claude найдет ошибку, реализует исправление и создаст PR.
Лучшие практики
Конфигурация CLAUDE.md
Создайте файл CLAUDE.md
в корне вашего репозитория для определения рекомендаций по стилю кода, критериев рассмотрения, правил, специфичных для проекта, и предпочтительных паттернов. Этот файл направляет понимание Claude стандартов вашего проекта.
Соображения безопасности
Никогда не коммитьте API ключи напрямую в ваш репозиторий!
Всегда используйте GitHub Secrets для API ключей:
- Добавьте ваш API ключ как секрет репозитория с именем
ANTHROPIC_API_KEY
- Ссылайтесь на него в рабочих процессах:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
- Ограничьте разрешения действий только необходимыми
- Рассматривайте предложения Claude перед слиянием
Всегда используйте GitHub Secrets (например, ${{ secrets.ANTHROPIC_API_KEY }}
) вместо жесткого кодирования API ключей напрямую в ваших файлах рабочих процессов.
Оптимизация производительности
Используйте шаблоны issues для предоставления контекста, держите ваш CLAUDE.md
кратким и сфокусированным, и настройте подходящие таймауты для ваших рабочих процессов.
Затраты на CI
При использовании Claude Code GitHub Actions учитывайте связанные затраты:
Затраты на GitHub Actions:
- Claude Code работает на размещенных GitHub runner’ах, которые потребляют ваши минуты GitHub Actions
- Смотрите документацию по биллингу GitHub для подробного ценообразования и лимитов минут
Затраты на API:
- Каждое взаимодействие с Claude потребляет API токены на основе длины промптов и ответов
- Использование токенов варьируется в зависимости от сложности задачи и размера кодовой базы
- Смотрите страницу ценообразования Claude для текущих тарифов токенов
Советы по оптимизации затрат:
- Используйте конкретные команды
@claude
для уменьшения ненужных API вызовов - Настройте подходящие лимиты
max_turns
для предотвращения чрезмерных итераций - Установите разумные
timeout_minutes
для избежания неконтролируемых рабочих процессов - Рассмотрите использование контролей параллелизма GitHub для ограничения параллельных запусков
Примеры конфигурации
Для готовых к использованию конфигураций рабочих процессов для различных случаев использования, включая:
- Базовая настройка рабочего процесса для комментариев issues и PR
- Автоматизированные рассмотрения кода на pull request’ах
- Пользовательские реализации для конкретных потребностей
Посетите директорию examples в репозитории Claude Code Action.
Репозиторий examples включает полные, протестированные рабочие процессы, которые вы можете скопировать напрямую в вашу директорию .github/workflows/
.
Использование с AWS Bedrock и Google Vertex AI
Для корпоративных сред вы можете использовать Claude Code GitHub Actions с вашей собственной облачной инфраструктурой. Этот подход дает вам контроль над резидентностью данных и биллингом, сохраняя ту же функциональность.
Предварительные требования
Перед настройкой Claude Code GitHub Actions с облачными провайдерами вам нужно:
Для Google Cloud Vertex AI:
- Проект Google Cloud с включенным Vertex AI
- Workload Identity Federation, настроенная для GitHub Actions
- Сервисный аккаунт с необходимыми разрешениями
- GitHub App (рекомендуется) или использование стандартного GITHUB_TOKEN
Для AWS Bedrock:
- Аккаунт AWS с включенным Amazon Bedrock
- GitHub OIDC Identity Provider, настроенный в AWS
- IAM роль с разрешениями Bedrock
- GitHub App (рекомендуется) или использование стандартного GITHUB_TOKEN
Создание пользовательского GitHub App (Рекомендуется для сторонних провайдеров)
Для лучшего контроля и безопасности при использовании сторонних провайдеров, таких как Vertex AI или Bedrock, мы рекомендуем создать ваше собственное GitHub App:
- Перейдите на https://github.com/settings/apps/new
- Заполните базовую информацию:
- Имя GitHub App: Выберите уникальное имя (например, “YourOrg Claude Assistant”)
- URL домашней страницы: Веб-сайт вашей организации или URL репозитория
- Настройте параметры приложения:
- Webhooks: Снимите флажок “Active” (не нужно для этой интеграции)
- Установите необходимые разрешения:
- Разрешения репозитория:
- Contents: Read & Write
- Issues: Read & Write
- Pull requests: Read & Write
- Разрешения репозитория:
- Нажмите “Create GitHub App”
- После создания нажмите “Generate a private key” и сохраните загруженный файл
.pem
- Запишите ваш App ID со страницы настроек приложения
- Установите приложение в ваш репозиторий:
- Со страницы настроек вашего приложения нажмите “Install App” в левой боковой панели
- Выберите ваш аккаунт или организацию
- Выберите “Only select repositories” и выберите конкретный репозиторий
- Нажмите “Install”
- Добавьте приватный ключ как секрет в ваш репозиторий:
- Перейдите в Settings вашего репозитория → Secrets and variables → Actions
- Создайте новый секрет с именем
APP_PRIVATE_KEY
с содержимым файла.pem
- Добавьте App ID как секрет:
- Создайте новый секрет с именем
APP_ID
с ID вашего GitHub App
Это приложение будет использоваться с действием actions/create-github-app-token для генерации токенов аутентификации в ваших рабочих процессах.
Альтернатива для Anthropic API или если вы не хотите настраивать собственное Github приложение: Используйте официальное приложение Anthropic:
- Установите с: https://github.com/apps/claude
- Дополнительная конфигурация для аутентификации не нужна
Настройка аутентификации облачного провайдера
Выберите вашего облачного провайдера и настройте безопасную аутентификацию:
Добавление необходимых секретов
Добавьте следующие секреты в ваш репозиторий (Settings → Secrets and variables → Actions):
Для Anthropic API (Прямой):
-
Для аутентификации API:
ANTHROPIC_API_KEY
: Ваш Anthropic API ключ с console.anthropic.com
-
Для GitHub App (если используете собственное приложение):
APP_ID
: ID вашего GitHub AppAPP_PRIVATE_KEY
: Содержимое приватного ключа (.pem)
Для Google Cloud Vertex AI
-
Для аутентификации GCP:
GCP_WORKLOAD_IDENTITY_PROVIDER
GCP_SERVICE_ACCOUNT
-
Для GitHub App (если используете собственное приложение):
APP_ID
: ID вашего GitHub AppAPP_PRIVATE_KEY
: Содержимое приватного ключа (.pem)
Для AWS Bedrock
-
Для аутентификации AWS:
AWS_ROLE_TO_ASSUME
-
Для GitHub App (если используете собственное приложение):
APP_ID
: ID вашего GitHub AppAPP_PRIVATE_KEY
: Содержимое приватного ключа (.pem)
Создание файлов рабочих процессов
Создайте файлы рабочих процессов GitHub Actions, которые интегрируются с вашим облачным провайдером. Примеры ниже показывают полные конфигурации как для AWS Bedrock, так и для Google Vertex AI:
Устранение неполадок
Claude не отвечает на команды @claude
Проверьте, что GitHub App установлен правильно, убедитесь, что рабочие процессы включены, убедитесь, что API ключ установлен в секретах репозитория, и подтвердите, что комментарий содержит @claude
(не /claude
).
CI не запускается на коммитах Claude
Убедитесь, что вы используете GitHub App или пользовательское приложение (не Actions user), проверьте, что триггеры рабочего процесса включают необходимые события, и проверьте, что разрешения приложения включают триггеры CI.
Ошибки аутентификации
Подтвердите, что API ключ действителен и имеет достаточные разрешения. Для Bedrock/Vertex проверьте конфигурацию учетных данных и убедитесь, что секреты правильно названы в рабочих процессах.
Расширенная конфигурация
Параметры действия
Claude Code Action поддерживает эти ключевые параметры:
Параметр | Описание | Обязательный |
---|---|---|
prompt | Промпт для отправки Claude | Да* |
prompt_file | Путь к файлу, содержащему промпт | Да* |
anthropic_api_key | Anthropic API ключ | Да** |
max_turns | Максимальное количество ходов разговора | Нет |
timeout_minutes | Таймаут выполнения | Нет |
*Требуется либо prompt
, либо prompt_file
**Требуется для прямого Anthropic API, не для Bedrock/Vertex
Альтернативные методы интеграции
Хотя команда /install-github-app
является рекомендуемым подходом, вы также можете:
- Пользовательское GitHub App: Для организаций, нуждающихся в брендированных именах пользователей или пользовательских потоках аутентификации. Создайте ваше собственное GitHub App с необходимыми разрешениями (contents, issues, pull requests) и используйте действие actions/create-github-app-token для генерации токенов в ваших рабочих процессах.
- Ручные GitHub Actions: Прямая конфигурация рабочего процесса для максимальной гибкости
- Конфигурация MCP: Динамическая загрузка серверов Model Context Protocol
Смотрите репозиторий Claude Code Action для подробной документации.
Настройка поведения Claude
Вы можете настроить поведение Claude двумя способами:
- CLAUDE.md: Определите стандарты кодирования, критерии рассмотрения и правила, специфичные для проекта, в файле
CLAUDE.md
в корне вашего репозитория. Claude будет следовать этим рекомендациям при создании PR и ответе на запросы. Ознакомьтесь с нашей документацией по памяти для более подробной информации. - Пользовательские промпты: Используйте параметр
prompt
в файле рабочего процесса для предоставления инструкций, специфичных для рабочего процесса. Это позволяет вам настроить поведение Claude для различных рабочих процессов или задач.
Claude будет следовать этим рекомендациям при создании PR и ответе на запросы.