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 SDK, который обеспечивает программную интеграцию Claude Code в ваши приложения. Вы можете использовать SDK для создания пользовательских рабочих процессов автоматизации помимо GitHub Actions.
Зачем использовать Claude Code GitHub Actions?
- Мгновенное создание PR: Опишите, что вам нужно, и Claude создаст полный PR со всеми необходимыми изменениями
- Автоматизированная реализация кода: Превращайте issues в рабочий код одной командой
- Следует вашим стандартам: Claude соблюдает ваши рекомендации
CLAUDE.md
и существующие паттерны кода - Простая настройка: Начните работу за минуты с нашим установщиком и API ключом
- Безопасность по умолчанию: Ваш код остается на раннерах Github
Что может делать Claude?
Claude Code предоставляет мощный GitHub Action, который трансформирует то, как вы работаете с кодом:
Claude Code Action
Этот GitHub Action позволяет вам запускать Claude Code в ваших рабочих процессах GitHub Actions. Вы можете использовать это для создания любого пользовательского рабочего процесса на основе Claude Code.
Настройка
Быстрая настройка
Самый простой способ настроить этот action - через 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/
вашего репозитория
После завершения быстрой настройки или ручной настройки, протестируйте action, отметив
@claude
в комментарии issue или PR!
Обновление с Beta
Claude Code GitHub Actions v1.0 вводит критические изменения, которые требуют обновления ваших файлов рабочих процессов для обновления до v1.0 с beta версии.
Если вы в настоящее время используете beta версию Claude Code GitHub Actions, мы рекомендуем обновить ваши рабочие процессы для использования GA версии. Новая версия упрощает конфигурацию, добавляя мощные новые функции, такие как автоматическое определение режима.
Основные изменения
Все пользователи beta должны внести эти изменения в свои файлы рабочих процессов для обновления:
- Обновите версию action: Измените
@beta
на@v1
- Удалите конфигурацию режима: Удалите
mode: "tag"
илиmode: "agent"
(теперь автоматически определяется) - Обновите входные данные промпта: Замените
direct_prompt
наprompt
- Переместите опции CLI: Конвертируйте
max_turns
,model
,custom_instructions
и т.д. вclaude_args
Справочник критических изменений
Старый Beta вход | Новый v1.0 вход |
---|---|
mode | (Удален - автоматически определяется) |
direct_prompt | prompt |
override_prompt | prompt с переменными GitHub |
custom_instructions | claude_args: --system-prompt |
max_turns | claude_args: --max-turns |
model | claude_args: --model |
allowed_tools | claude_args: --allowedTools |
disallowed_tools | claude_args: --disallowedTools |
claude_env | settings формат JSON |
Пример до и после
Beta версия:
GA версия (v1.0):
Action теперь автоматически определяет, запускаться ли в интерактивном режиме (отвечает на упоминания @claude
) или режиме автоматизации (запускается немедленно с промптом) на основе вашей конфигурации.
Примеры использования
Claude Code GitHub Actions может помочь вам с различными задачами. Директория примеров содержит готовые к использованию рабочие процессы для разных сценариев.
Базовый рабочий процесс
Использование slash команд
Пользовательская автоматизация с промптами
Общие случаи использования
В комментариях issue или PR:
Claude автоматически проанализирует контекст и ответит соответствующим образом.
Лучшие практики
Конфигурация CLAUDE.md
Создайте файл CLAUDE.md
в корне вашего репозитория для определения рекомендаций по стилю кода, критериев обзора, правил, специфичных для проекта, и предпочтительных паттернов. Этот файл направляет понимание Claude стандартов вашего проекта.
Соображения безопасности
Всегда используйте GitHub Secrets для API ключей:
- Добавьте ваш API ключ как секрет репозитория с именем
ANTHROPIC_API_KEY
- Ссылайтесь на него в рабочих процессах:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
- Ограничьте разрешения action только необходимыми
- Просматривайте предложения Claude перед слиянием
Всегда используйте GitHub Secrets (например, ${{ secrets.ANTHROPIC_API_KEY }}
) вместо жесткого кодирования API ключей напрямую в ваших файлах рабочих процессов.
Оптимизация производительности
Используйте шаблоны issues для предоставления контекста, держите ваш CLAUDE.md
кратким и сфокусированным, и настройте соответствующие таймауты для ваших рабочих процессов.
Затраты CI
При использовании Claude Code GitHub Actions, учитывайте связанные затраты:
Затраты GitHub Actions:
- Claude Code работает на раннерах, размещенных на GitHub, которые потребляют ваши минуты GitHub Actions
- Смотрите документацию по биллингу GitHub для подробного ценообразования и лимитов минут
Затраты API:
- Каждое взаимодействие Claude потребляет API токены на основе длины промптов и ответов
- Использование токенов варьируется в зависимости от сложности задачи и размера кодовой базы
- Смотрите страницу ценообразования Claude для текущих тарифов токенов
Советы по оптимизации затрат:
- Используйте конкретные команды
@claude
для уменьшения ненужных API вызовов - Настройте соответствующий
--max-turns
вclaude_args
для предотвращения чрезмерных итераций - Установите таймауты на уровне рабочего процесса для избежания неконтролируемых заданий
- Рассмотрите использование контролей параллелизма GitHub для ограничения параллельных запусков
Примеры конфигурации
Claude Code Action v1 упрощает конфигурацию с унифицированными параметрами:
Ключевые функции:
- Унифицированный интерфейс промпта - Используйте
prompt
для всех инструкций - Slash команды - Предварительно созданные промпты как
/review
или/fix
- Проброс CLI - Любой аргумент Claude Code CLI через
claude_args
- Гибкие триггеры - Работает с любым событием GitHub
Посетите директорию примеров для полных файлов рабочих процессов.
При ответе на комментарии issue или PR, Claude автоматически отвечает на упоминания @claude. Для других событий используйте параметр prompt
для предоставления инструкций.
Использование с 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 (Рекомендуется для 3P провайдеров)
Для лучшего контроля и безопасности при использовании 3P провайдеров, таких как Vertex AI или Bedrock, мы рекомендуем создать ваше собственное GitHub App:
- Перейдите на https://github.com/settings/apps/new
- Заполните базовую информацию:
- GitHub App name: Выберите уникальное имя (например, “YourOrg Claude Assistant”)
- Homepage URL: Веб-сайт вашей организации или URL репозитория
- Настройте параметры приложения:
- Webhooks: Снимите флажок “Active” (не нужно для этой интеграции)
- Установите необходимые разрешения:
- Repository permissions:
- Contents: Read & Write
- Issues: Read & Write
- Pull requests: Read & Write
- Repository permissions:
- Нажмите “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
Это приложение будет использоваться с action 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), проверьте, что триггеры рабочего процесса включают необходимые события, и проверьте, что разрешения приложения включают триггеры CI.
Ошибки аутентификации
Подтвердите, что API ключ действителен и имеет достаточные разрешения. Для Bedrock/Vertex проверьте конфигурацию учетных данных и убедитесь, что секреты названы правильно в рабочих процессах.
Расширенная конфигурация
Параметры Action
Claude Code Action v1 использует упрощенную конфигурацию:
Параметр | Описание | Обязательный |
---|---|---|
prompt | Инструкции для Claude (текст или slash команда) | Нет* |
claude_args | CLI аргументы, передаваемые в Claude Code | Нет |
anthropic_api_key | Anthropic API ключ | Да** |
github_token | GitHub токен для доступа к API | Нет |
trigger_phrase | Пользовательская фраза триггера (по умолчанию: “@claude”) | Нет |
use_bedrock | Использовать AWS Bedrock вместо Anthropic API | Нет |
use_vertex | Использовать Google Vertex AI вместо Anthropic API | Нет |
*Prompt опционален - когда опущен для комментариев issue/PR, Claude отвечает на фразу триггера
**Обязателен для прямого Anthropic API, не для Bedrock/Vertex
Использование claude_args
Параметр claude_args
принимает любые аргументы Claude Code CLI:
Общие аргументы:
--max-turns
: Максимальные повороты разговора (по умолчанию: 10)--model
: Модель для использования (например,claude-sonnet-4-20250514
)--mcp-config
: Путь к конфигурации MCP--allowed-tools
: Список разрешенных инструментов через запятую--debug
: Включить отладочный вывод
Альтернативные методы интеграции
Хотя команда /install-github-app
является рекомендуемым подходом, вы также можете:
- Пользовательское GitHub App: Для организаций, нуждающихся в брендированных именах пользователей или пользовательских потоках аутентификации. Создайте ваше собственное GitHub App с необходимыми разрешениями (contents, issues, pull requests) и используйте action 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 и ответе на запросы.