@claude в любом PR или issue, Claude может анализировать ваш код, создавать pull requests, реализовывать функции и исправлять ошибки — всё при соблюдении стандартов вашего проекта.
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. Просмотреть репозиторий →Настройка
Быстрая настройка
Самый простой способ настроить это действие — через Claude Code в терминале. Просто откройте claude и запустите/install-github-app.
Эта команда проведёт вас через настройку GitHub приложения и необходимых секретов.
- Вы должны быть администратором репозитория для установки GitHub приложения и добавления секретов
- GitHub приложение будет запрашивать права на чтение и запись для Contents, Issues и Pull requests
- Этот метод быстрого старта доступен только для прямых пользователей Claude API. Если вы используете AWS Bedrock или Google Vertex AI, пожалуйста, см. раздел Использование с AWS Bedrock и Google Vertex AI.
Ручная настройка
Если команда/install-github-app не сработала или вы предпочитаете ручную настройку, пожалуйста, следуйте этим инструкциям ручной настройки:
-
Установите Claude GitHub приложение в ваш репозиторий: https://github.com/apps/claude
Claude GitHub приложение требует следующих прав доступа к репозиторию:
- Contents: Чтение и запись (для изменения файлов репозитория)
- Issues: Чтение и запись (для ответа на issues)
- Pull requests: Чтение и запись (для создания PR и отправки изменений)
- Добавьте ANTHROPIC_API_KEY в секреты вашего репозитория (Узнайте, как использовать секреты в GitHub Actions)
-
Скопируйте файл рабочего процесса из examples/claude.yml в папку
.github/workflows/вашего репозитория
После завершения быстрой настройки или ручной настройки протестируйте действие, упомянув
@claude в комментарии issue или PR!Обновление с бета-версии
Claude Code GitHub Actions v1.0 вводит критические изменения, которые требуют обновления ваших файлов рабочего процесса для обновления с бета-версии на v1.0.
Существенные изменения
Все пользователи бета-версии должны внести эти изменения в свои файлы рабочего процесса для обновления:- Обновите версию действия: Измените
@betaна@v1 - Удалите конфигурацию режима: Удалите
mode: "tag"илиmode: "agent"(теперь автоматически определяется) - Обновите входные данные prompt: Замените
direct_promptнаprompt - Переместите параметры CLI: Преобразуйте
max_turns,model,custom_instructionsи т.д. вclaude_args
Справочник критических изменений
| Старый вход бета-версии | Новый вход 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 |
Пример до и после
Бета-версия:Действие теперь автоматически определяет, следует ли запускать в интерактивном режиме (отвечает на упоминания
@claude) или режиме автоматизации (запускается немедленно с prompt) на основе вашей конфигурации.Примеры использования
Claude Code GitHub Actions может помочь вам с различными задачами. Директория примеров содержит готовые к использованию рабочие процессы для различных сценариев.Базовый рабочий процесс
Использование slash команд
Пользовательская автоматизация с prompts
Распространённые случаи использования
В комментариях issue или PR:Лучшие практики
Конфигурация CLAUDE.md
Создайте файлCLAUDE.md в корне вашего репозитория для определения рекомендаций по стилю кода, критериев проверки, правил, специфичных для проекта, и предпочитаемых паттернов. Этот файл направляет понимание Claude стандартов вашего проекта.
Соображения безопасности
Никогда не коммитьте API ключи непосредственно в ваш репозиторий!
- Добавьте ваш API ключ как секрет репозитория с именем
ANTHROPIC_API_KEY - Ссылайтесь на него в рабочих процессах:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} - Ограничьте права доступа действия только необходимыми
- Проверьте предложения Claude перед слиянием
${{ secrets.ANTHROPIC_API_KEY }}), а не жёсткое кодирование API ключей непосредственно в ваши файлы рабочего процесса.
Оптимизация производительности
Используйте шаблоны issues для предоставления контекста, держите вашCLAUDE.md кратким и сосредоточенным, и настройте соответствующие тайм-ауты для ваших рабочих процессов.
Затраты CI
При использовании Claude Code GitHub Actions имейте в виду связанные затраты: Затраты GitHub Actions:- Claude Code работает на GitHub-размещённых runners, которые потребляют ваши минуты GitHub Actions
- См. документацию по выставлению счётов GitHub для получения подробной информации о ценах и лимитах минут
- Каждое взаимодействие Claude потребляет токены API на основе длины prompts и ответов
- Использование токенов варьируется в зависимости от сложности задачи и размера кодовой базы
- См. страницу ценообразования Claude для получения текущих ставок токенов
- Используйте специфичные команды
@claudeдля уменьшения ненужных вызовов API - Настройте соответствующий
--max-turnsвclaude_argsдля предотвращения чрезмерных итераций - Установите тайм-ауты на уровне рабочего процесса для избежания неконтролируемых заданий
- Рассмотрите использование элементов управления параллелизмом GitHub для ограничения параллельных запусков
Примеры конфигурации
Claude Code Action v1 упрощает конфигурацию с унифицированными параметрами:- Унифицированный интерфейс prompt - Используйте
promptдля всех инструкций - Slash команды - Встроенные prompts, такие как
/reviewили/fix - Passthrough 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
1
Создайте пользовательское GitHub приложение (Рекомендуется для 3P провайдеров)
Для лучшего контроля и безопасности при использовании 3P провайдеров, таких как Vertex AI или Bedrock, мы рекомендуем создать ваше собственное GitHub приложение:Альтернатива для Claude API или если вы не хотите настраивать своё Github приложение: Используйте официальное приложение Anthropic:
- Перейдите на 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 - Запишите ID вашего приложения со страницы параметров приложения
- Установите приложение в ваш репозиторий:
- Со страницы параметров вашего приложения нажмите “Install App” в левой боковой панели
- Выберите ваш аккаунт или организацию
- Выберите “Only select repositories” и выберите конкретный репозиторий
- Нажмите “Install”
- Добавьте приватный ключ как секрет в ваш репозиторий:
- Перейдите в Settings вашего репозитория → Secrets and variables → Actions
- Создайте новый секрет с именем
APP_PRIVATE_KEYс содержимым файла.pem
- Добавьте ID приложения как секрет:
- Создайте новый секрет с именем
APP_IDс ID вашего GitHub приложения
Это приложение будет использоваться с действием actions/create-github-app-token для генерации токенов аутентификации в ваших рабочих процессах.
- Установите с: https://github.com/apps/claude
- Дополнительная конфигурация не требуется для аутентификации
2
Настройте аутентификацию облачного провайдера
Выберите вашего облачного провайдера и установите безопасную аутентификацию:
AWS Bedrock
AWS Bedrock
Настройте AWS для разрешения GitHub Actions аутентифицироваться безопасно без хранения учётных данных.См. документацию AWS для получения подробных инструкций по настройке OIDC.
Примечание по безопасности: Используйте конфигурации, специфичные для репозитория, и предоставляйте только минимально необходимые права доступа.Требуемая настройка:
-
Включите Amazon Bedrock:
- Запросите доступ к моделям Claude в Amazon Bedrock
- Для моделей в разных регионах запросите доступ во всех необходимых регионах
-
Установите GitHub OIDC Identity Provider:
- Provider URL:
https://token.actions.githubusercontent.com - Audience:
sts.amazonaws.com
- Provider URL:
-
Создайте IAM роль для GitHub Actions:
- Trusted entity type: Web identity
- Identity provider:
token.actions.githubusercontent.com - Permissions: политика
AmazonBedrockFullAccess - Настройте политику доверия для вашего конкретного репозитория
- AWS_ROLE_TO_ASSUME: ARN IAM роли, которую вы создали
OIDC более безопасен, чем использование статических AWS ключей доступа, потому что учётные данные временные и автоматически ротируются.
Google Vertex AI
Google Vertex AI
Настройте Google Cloud для разрешения GitHub Actions аутентифицироваться безопасно без хранения учётных данных.Для получения подробных инструкций по настройке обратитесь к документации Google Cloud Workload Identity Federation.
Примечание по безопасности: Используйте конфигурации, специфичные для репозитория, и предоставляйте только минимально необходимые права доступа.Требуемая настройка:
-
Включите API в вашем проекте Google Cloud:
- IAM Credentials API
- Security Token Service (STS) API
- Vertex AI API
-
Создайте ресурсы Workload Identity Federation:
- Создайте Workload Identity Pool
- Добавьте GitHub OIDC провайдера с:
- Issuer:
https://token.actions.githubusercontent.com - Отображение атрибутов для репозитория и владельца
- Рекомендация по безопасности: Используйте условия атрибутов, специфичные для репозитория
- Issuer:
-
Создайте сервисный аккаунт:
- Предоставьте только роль
Vertex AI User - Рекомендация по безопасности: Создайте выделенный сервисный аккаунт для каждого репозитория
- Предоставьте только роль
-
Настройте привязки IAM:
- Разрешите Workload Identity Pool олицетворять сервисный аккаунт
- Рекомендация по безопасности: Используйте наборы принципалов, специфичные для репозитория
- GCP_WORKLOAD_IDENTITY_PROVIDER: Полное имя ресурса провайдера
- GCP_SERVICE_ACCOUNT: Адрес электронной почты сервисного аккаунта
Workload Identity Federation исключает необходимость в загружаемых ключах сервисного аккаунта, улучшая безопасность.
3
Добавьте необходимые секреты
Добавьте следующие секреты в ваш репозиторий (Settings → Secrets and variables → Actions):
Для Claude API (прямой):
-
Для аутентификации API:
ANTHROPIC_API_KEY: Ваш Claude API ключ с console.anthropic.com
-
Для GitHub App (если используете своё приложение):
APP_ID: ID вашего GitHub приложенияAPP_PRIVATE_KEY: Содержимое приватного ключа (.pem)
Для Google Cloud Vertex AI
-
Для аутентификации GCP:
GCP_WORKLOAD_IDENTITY_PROVIDERGCP_SERVICE_ACCOUNT
-
Для GitHub App (если используете своё приложение):
APP_ID: ID вашего GitHub приложенияAPP_PRIVATE_KEY: Содержимое приватного ключа (.pem)
Для AWS Bedrock
-
Для аутентификации AWS:
AWS_ROLE_TO_ASSUME
-
Для GitHub App (если используете своё приложение):
APP_ID: ID вашего GitHub приложенияAPP_PRIVATE_KEY: Содержимое приватного ключа (.pem)
4
Создайте файлы рабочего процесса
Создайте файлы рабочего процесса GitHub Actions, которые интегрируются с вашим облачным провайдером. Примеры ниже показывают полные конфигурации как для AWS Bedrock, так и для Google Vertex AI:
AWS Bedrock рабочий процесс
AWS Bedrock рабочий процесс
Предварительные требования:
- Доступ AWS Bedrock включён с правами доступа к модели Claude
- GitHub настроен как OIDC поставщик идентификации в AWS
- IAM роль с правами доступа Bedrock, которая доверяет GitHub Actions
| Имя секрета | Описание |
|---|---|
AWS_ROLE_TO_ASSUME | ARN IAM роли для доступа к Bedrock |
APP_ID | ID вашего GitHub приложения (из параметров приложения) |
APP_PRIVATE_KEY | Приватный ключ, который вы создали для вашего GitHub приложения |
Формат ID модели для Bedrock включает префикс региона (например,
us.anthropic.claude...) и суффикс версии.Google Vertex AI рабочий процесс
Google Vertex AI рабочий процесс
Предварительные требования:
- Vertex AI API включён в вашем проекте GCP
- Workload Identity Federation настроена для GitHub
- Сервисный аккаунт с правами доступа Vertex AI
| Имя секрета | Описание |
|---|---|
GCP_WORKLOAD_IDENTITY_PROVIDER | Имя ресурса поставщика рабочей идентификации |
GCP_SERVICE_ACCOUNT | Адрес электронной почты сервисного аккаунта с доступом к Vertex AI |
APP_ID | ID вашего GitHub приложения (из параметров приложения) |
APP_PRIVATE_KEY | Приватный ключ, который вы создали для вашего GitHub приложения |
ID проекта автоматически извлекается из шага аутентификации Google Cloud, поэтому вам не нужно жёстко кодировать его.
Устранение неполадок
Claude не отвечает на команды @claude
Проверьте, что GitHub приложение установлено правильно, убедитесь, что рабочие процессы включены, убедитесь, что API ключ установлен в секретах репозитория, и подтвердите, что комментарий содержит@claude (не /claude).
CI не запускается на коммитах Claude
Убедитесь, что вы используете GitHub приложение или пользовательское приложение (не пользователя Actions), проверьте, что триггеры рабочего процесса включают необходимые события, и проверьте, что права доступа приложения включают триггеры CI.Ошибки аутентификации
Подтвердите, что API ключ действителен и имеет достаточные права доступа. Для Bedrock/Vertex проверьте конфигурацию учётных данных и убедитесь, что секреты правильно названы в рабочих процессах.Расширенная конфигурация
Параметры действия
Claude Code Action v1 использует упрощённую конфигурацию:| Параметр | Описание | Требуется |
|---|---|---|
prompt | Инструкции для Claude (текст или slash команда) | Нет* |
claude_args | Аргументы CLI, передаваемые Claude Code | Нет |
anthropic_api_key | Claude API ключ | Да** |
github_token | GitHub токен для доступа к API | Нет |
trigger_phrase | Пользовательская фраза триггера (по умолчанию: “@claude”) | Нет |
use_bedrock | Использовать AWS Bedrock вместо Claude API | Нет |
use_vertex | Использовать Google Vertex AI вместо Claude API | Нет |
**Требуется для прямого Claude API, не требуется для Bedrock/Vertex
Использование claude_args
Параметрclaude_args принимает любые аргументы Claude Code CLI:
--max-turns: Максимальное количество ходов разговора (по умолчанию: 10)--model: Модель для использования (например,claude-sonnet-4-5-20250929)--mcp-config: Путь к конфигурации MCP--allowed-tools: Список разрешённых инструментов, разделённый запятыми--debug: Включить вывод отладки
Альтернативные методы интеграции
Хотя команда/install-github-app является рекомендуемым подходом, вы также можете:
- Пользовательское GitHub приложение: Для организаций, нуждающихся в фирменных именах пользователей или пользовательских потоках аутентификации. Создайте своё собственное GitHub приложение с необходимыми правами доступа (contents, issues, pull requests) и используйте действие actions/create-github-app-token для генерации токенов в ваших рабочих процессах.
- Ручные GitHub Actions: Прямая конфигурация рабочего процесса для максимальной гибкости
- Конфигурация MCP: Динамическая загрузка серверов Model Context Protocol
Настройка поведения Claude
Вы можете настроить поведение Claude двумя способами:- CLAUDE.md: Определите стандарты кодирования, критерии проверки и правила, специфичные для проекта, в файле
CLAUDE.mdв корне вашего репозитория. Claude будет следовать этим рекомендациям при создании PR и ответе на запросы. Ознакомьтесь с нашей документацией по памяти для получения дополнительной информации. - Пользовательские prompts: Используйте параметр
promptв файле рабочего процесса для предоставления инструкций, специфичных для рабочего процесса. Это позволяет вам настроить поведение Claude для различных рабочих процессов или задач.