4 4
5# Claude Code GitHub Actions5# Claude Code GitHub Actions
6 6
7> Узнайте об интеграции Claude Code в ваш рабочий процесс разработки с помощью Claude Code GitHub Actions7> Запускайте Claude Code в рабочих процессах GitHub Actions для ответа на упоминания @claude, автоматизации задач и преобразования issues в pull requests
8 8
9Claude Code GitHub Actions привносит автоматизацию на основе ИИ в ваш рабочий процесс GitHub. С простым упоминанием `@claude` в любом PR или issue, Claude может анализировать ваш код, создавать pull requests, реализовывать функции и исправлять ошибки — всё при соблюдении стандартов вашего проекта. Для автоматических проверок, размещаемых на каждом PR без триггера, см. [GitHub Code Review](/ru/code-review).9[Claude Code GitHub Actions](https://github.com/anthropics/claude-code-action) — это GitHub Action, который запускает Claude Code внутри рабочих процессов вашего репозитория. Упомяните `@claude` в комментарии pull request или issue, чтобы Claude анализировал код, реализовывал изменения и отправлял коммиты. Вы также можете дать Claude Code GitHub Action prompt для автоматического запуска на любом событии GitHub. Используйте его для преобразования issues в pull requests, исправления ошибок из комментария или автоматизации повторяющихся задач.
10 10
11<Note>11Несколько продуктов используют имя Claude Code. На этой странице рассматривается интеграция рабочего процесса `claude-code-action`, которую вы настраиваете с помощью файлов рабочего процесса в вашем репозитории. Для связанных продуктов см.:
12 Claude Code GitHub Actions построен на основе [Claude Agent SDK](/ru/agent-sdk/overview), который обеспечивает программную интеграцию Claude Code в ваши приложения. Вы можете использовать SDK для создания пользовательских рабочих процессов автоматизации за пределами GitHub Actions.
13</Note>
14 12
15<h2 id="why-use-claude-code-github-actions">13* [Code Review](/docs/ru/code-review): автоматическая проверка на каждом pull request без написания рабочего процесса
16 Зачем использовать Claude Code GitHub Actions?14* [Claude Code на веб-сайте](/docs/ru/claude-code-on-the-web): сеансы Claude Code из вашего браузера или телефона
15* [Claude Agent SDK](/docs/ru/agent-sdk/overview): пользовательская автоматизация вне GitHub Actions. Claude Code GitHub Action построен на основе SDK
16* [GitHub Enterprise Server](/docs/ru/github-enterprise-server): Claude Code с самостоятельно размещённым GitHub
17
18<h2 id="setup">
19 Настройка
17</h2>20</h2>
18 21
19* **Мгновенное создание PR**: Опишите, что вам нужно, и Claude создаст полный PR со всеми необходимыми изменениями22Вы можете настроить Claude Code GitHub Action одним из двух способов:
20* **Автоматизированная реализация кода**: Превратите issues в рабочий код одной командой
21* **Соблюдение ваших стандартов**: Claude уважает ваши рекомендации `CLAUDE.md` и существующие паттерны кода
22* **Простая настройка**: Начните работу за несколько минут с нашим установщиком и API ключом
23* **Безопасность по умолчанию**: Ваш код остаётся на серверах Github
24 23
25<h2 id="what-can-claude-do">24* **Быстрая настройка**: запустите `/install-github-app` из Claude Code. Claude Code устанавливает GitHub App, добавляет ваш секрет аутентификации и подготавливает pull request рабочего процесса для вас
26 Что может делать Claude?25* **Ручная настройка**: установите приложение, добавьте секрет и скопируйте файл рабочего процесса в ваш репозиторий самостоятельно. Используйте этот путь, когда вы не запускаете Claude Code локально, когда команда не работает или когда вы хотите полный контроль над файлами рабочего процесса
27</h2>
28 26
29Claude Code предоставляет мощный GitHub Action, который преобразует способ работы с кодом:27Для любого пути вам нужен доступ администратора к репозиторию.
30 28
31<h3 id="claude-code-action">29<h3 id="quick-setup">
32 Claude Code Action30 Быстрая настройка
33</h3>31</h3>
34 32
35Этот GitHub Action позволяет вам запускать Claude Code в ваших рабочих процессах GitHub Actions. Вы можете использовать это для создания любого пользовательского рабочего процесса на основе Claude Code.33`/install-github-app` работает только с репозиториями github.com. Если удалённый репозиторий находится на gitlab.com или bitbucket.org, команда выводит уведомление и выходит вместо начала настройки. Чтобы запустить Claude Code из конвейеров GitLab, см. [Claude Code GitLab CI/CD](/docs/ru/gitlab-ci-cd).
36 34
37[Просмотреть репозиторий →](https://github.com/anthropics/claude-code-action)35Перед началом установите [GitHub CLI](https://cli.github.com) и аутентифицируйте его с помощью `gh auth login`. Claude Code проверяет его наличие и предупреждает вас, если он отсутствует.
38 36
39<h2 id="setup">37Откройте `claude` в репозитории, который вы хотите подключить, запустите `/install-github-app` и следуйте подсказкам. Claude Code устанавливает Claude GitHub App, затем настраивает секрет аутентификации для рабочих процессов:
40 Настройка
41</h2>
42 38
43<h2 id="quick-setup">39* Если Claude Code уже имеет API ключ, он повторно использует этот ключ и предлагает сохранить существующий секрет `ANTHROPIC_API_KEY` репозитория, если он уже установлен
44 Быстрая настройка40* В противном случае выберите между созданием долгоживущего токена с вашей подпиской Claude и вставкой API ключа
45</h2>41
42Claude Code сохраняет учётные данные как секрет репозитория с именем `ANTHROPIC_API_KEY` для API ключа или `CLAUDE_CODE_OAUTH_TOKEN` для токена подписки.
43
44Claude Code затем отправляет ветку с выбранными файлами рабочего процесса, уже настроенными на использование этого секрета, и открывает GitHub в вашем браузере с готовым к созданию pull request. Создайте и объедините этот pull request, и `@claude` будет работать в репозитории.
45
46Если вы выберете рабочий процесс проверки, Claude размещает каждую проверку на самом pull request как встроенный комментарий к каждой найденной проблеме или как один сводный комментарий, когда он не находит ничего. Claude пропускает некоторые pull requests, такие как черновики. Пример [рабочего процесса проверки](#run-a-skill) использует тот же skill и перечисляет их. До версии 2.1.229 Claude писал свою проверку только в журнал выполнения рабочего процесса.
46 47
47Запустите `/install-github-app` в терминале Claude Code для интерактивной настройки интеграции. Команда устанавливает Claude GitHub App в вашем репозитории и затем проводит вас через добавление GitHub Actions workflows и секрета API ключа.48Чтобы обновить рабочий процесс проверки, созданный более ранней версией, выполните одно из следующих действий:
48 49
49После установки GitHub App команда спрашивает, продолжить ли с настройкой GitHub Actions. В Claude Code v2.1.187 и более поздних версиях вы можете выбрать **Skip for now** (Пропустить на время), чтобы остановиться только с установленным App и вернуться к шагам workflow и секрета, запустив `/install-github-app` снова. Более ранние версии переходят прямо к выбору workflow.50* Запустите `/install-github-app` снова. Когда репозиторий уже имеет `claude.yml`, выберите **Update workflow file with latest version**. Claude Code отправляет свежие копии файлов рабочего процесса в новую ветку и открывает pull request, как при первой установке.
51* Добавьте аргумент `--comment` и строку `claude_args` из [примера рабочего процесса проверки](#run-a-skill) в зафиксированный файл самостоятельно, что сохраняет любые другие внесённые вами изменения.
52
53После установки GitHub App Claude Code спрашивает, продолжить ли с настройкой GitHub Actions. Выберите **Skip for now**, чтобы остановиться только с установленным GitHub App. Запустите `/install-github-app` снова позже, чтобы завершить шаги рабочего процесса и секрета. До версии 2.1.187 Claude Code переходил прямо к выбору рабочего процесса.
50 54
51<Note>55<Note>
52 * Вы должны быть администратором репозитория для установки GitHub app и добавления секретов56 * Когда вы устанавливаете GitHub App, вы предоставляете ему несколько разрешений. Полный набор см. в [разрешениях GitHub App](#github-app-permissions)
53 * GitHub app будет запрашивать права на чтение и запись для Contents, Issues и Pull requests57 * Быстрая настройка работает с Claude API и подписками Claude. Если вы используете Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, см. [Использование Claude Code GitHub Actions с облачными провайдерами](/docs/ru/github-actions-cloud-providers)
54 * Этот метод быстрого старта доступен только для прямых пользователей Claude API. Если вы используете Amazon Bedrock или Google Cloud's Agent Platform, см. раздел [Использование с Amazon Bedrock и Google Cloud](#using-with-amazon-bedrock-and-google-cloud).
55</Note>58</Note>
56 59
57<h2 id="manual-setup">60<h3 id="manual-setup">
58 Ручная настройка61 Ручная настройка
59</h2>62</h3>
63
64Чтобы настроить Claude Code GitHub Action без запуска `/install-github-app`, установите приложение, добавьте секрет и скопируйте файл рабочего процесса самостоятельно:
65
66<Steps>
67 <Step title="Установите Claude GitHub App">
68 Установите [Claude GitHub App](https://github.com/apps/claude) в ваш репозиторий. Claude Code GitHub Action полагается на три разрешения приложения:
69
70 * **Contents**: чтение и запись, чтобы Claude мог изменять файлы репозитория
71 * **Issues**: чтение и запись, чтобы Claude мог отвечать на issues
72 * **Pull requests**: чтение и запись, чтобы Claude мог создавать PR и отправлять изменения
60 73
61Если команда `/install-github-app` не сработала или вы предпочитаете ручную настройку, следуйте этим инструкциям ручной настройки:74 Во время установки вы также предоставляете разрешения, которые используют другие функции Claude. Полный набор см. в [разрешениях GitHub App](#github-app-permissions).
75 </Step>
62 76
631. **Установите Claude GitHub app** в ваш репозиторий: [https://github.com/apps/claude](https://github.com/apps/claude)77 <Step title="Добавьте секрет аутентификации">
78 Добавьте один из следующих секретов в ваш репозиторий в зависимости от того, как вы аутентифицируетесь. См. руководство GitHub по [использованию секретов в GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).
64 79
65 Claude GitHub app требует следующих разрешений репозитория:80 * `ANTHROPIC_API_KEY`: Claude API ключ из [Claude Console](https://platform.claude.com)
81 * `CLAUDE_CODE_OAUTH_TOKEN`: OAuth токен, который аутентифицируется с вашей подпиской Claude, доступный в планах Pro, Max, Team и Enterprise. Создайте его, запустив `claude setup-token` локально. См. [Создание долгоживущего токена](/docs/ru/authentication#generate-a-long-lived-token)
66 82
67 * **Contents**: Чтение и запись (для изменения файлов репозитория)83 В файлах рабочего процесса передайте секрет соответствующему входу: `anthropic_api_key` для API ключа или `claude_code_oauth_token` для OAuth токена.
68 * **Issues**: Чтение и запись (для ответа на issues)84 </Step>
69 * **Pull requests**: Чтение и запись (для создания PR и отправки изменений)
70 85
71 Для получения дополнительной информации о безопасности и разрешениях см. [документацию по безопасности](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).86 <Step title="Скопируйте файл рабочего процесса">
722. **Добавьте ANTHROPIC\_API\_KEY** в секреты вашего репозитория ([Узнайте, как использовать секреты в GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions))87 Скопируйте [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) в каталог `.github/workflows/` вашего репозитория. Файл является рабочим рабочим процессом, а не просто примером. Как зафиксировано, Claude отвечает всякий раз, когда кто-то упоминает `@claude` в issue или pull request, аутентифицируясь с помощью секрета `ANTHROPIC_API_KEY`. Если вы добавили `CLAUDE_CODE_OAUTH_TOKEN` вместо этого, измените строку `anthropic_api_key` рабочего процесса на `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`.
733. **Скопируйте файл рабочего процесса** из [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml) в папку `.github/workflows/` вашего репозитория88 </Step>
89</Steps>
74 90
75<Tip>91<Tip>
76 После завершения быстрой настройки или ручной настройки протестируйте действие, отметив `@claude` в комментарии issue или PR.92 После настройки протестируйте Claude Code GitHub Action, отметив `@claude` в комментарии issue или PR.
77</Tip>93</Tip>
78 94
79<h2 id="upgrading-from-beta">95<h3 id="set-up-for-an-organization">
80 Обновление с бета-версии96 Настройка для организации
81</h2>97</h3>
82 98
83<Warning>99С быстрой настройкой или ручной настройкой вы настраиваете один репозиторий за раз. Чтобы развернуть Claude Code GitHub Action по всей организации:
84 Claude Code GitHub Actions v1.0 вводит критические изменения, которые требуют обновления ваших файлов рабочего процесса для обновления с бета-версии на v1.0.
85</Warning>
86 100
87Если вы в настоящее время используете бета-версию Claude Code GitHub Actions, мы рекомендуем обновить ваши рабочие процессы для использования версии GA. Новая версия упрощает конфигурацию, добавляя мощные новые функции, такие как автоматическое обнаружение режима.101* Установите [Claude GitHub App](https://github.com/apps/claude) один раз на уровне организации, выбрав все репозитории или выбранный список
102* Сохраните секрет аутентификации как секрет Actions на уровне организации, чтобы каждому репозиторию не нужна была своя копия
103* Добавьте файл рабочего процесса в каждый репозиторий, который должен запускать Claude Code GitHub Action, или определите задание один раз как [переиспользуемый рабочий процесс](https://docs.github.com/en/actions/using-workflows/reusing-workflows), который каждый репозиторий вызывает
88 104
89<h3 id="essential-changes">105Для секрета, общего для репозиториев, аутентифицируйтесь с помощью API ключа из [Claude Console](https://platform.claude.com) вместо OAuth токена, так как OAuth токен привязан к подписке человека, который запустил `claude setup-token`.
90 Существенные изменения106
91</h3>107Чтобы избежать сохранения долгоживущего секрета вообще, аутентифицируйтесь через федерацию рабочей идентификации, где Claude Code GitHub Action обменивает токен GitHub OpenID Connect (OIDC) рабочего процесса на доступ к Claude API через сервисный аккаунт Claude Console. Установите эти входы:
92 108
93Все пользователи бета-версии должны внести эти изменения в свои файлы рабочего процесса для обновления:109* `anthropic_federation_rule_id`: ID правила федерации, `fdrl_...`
110* `anthropic_organization_id`: ID вашей организации Anthropic
111* `anthropic_service_account_id`: ID сервисного аккаунта, `svac_...`. Опционально, так как правило федерации, которое вы создаёте в Console, уже нацелено на сервисный аккаунт
112* `anthropic_workspace_id`: ID рабочей области, `wrkspc_...`. Опционально, когда правило федерации нацелено на одну рабочую область
94 113
951. **Обновите версию действия**: Измените `@beta` на `@v1`114Предоставьте рабочему процессу разрешение `id-token: write`, которое Claude Code GitHub Action требует для обмена федерации даже когда вы передаёте свой собственный `github_token`. См. [руководство по настройке Claude Code GitHub Action](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md) для конфигурации на стороне Console.
962. **Удалите конфигурацию режима**: Удалите `mode: "tag"` или `mode: "agent"` (теперь автоматически обнаруживается)
973. **Обновите входные данные prompt**: Замените `direct_prompt` на `prompt`
984. **Переместите параметры CLI**: Преобразуйте `max_turns`, `model`, `custom_instructions` и т.д. в `claude_args`
99 115
100<h3 id="breaking-changes-reference">116Для вопросов об обработке данных и сохранении в проверке безопасности см. [использование данных](/docs/ru/data-usage) и [безопасность](/docs/ru/security).
101 Справочник критических изменений117
118<h3 id="uninstall">
119 Удаление
102</h3>120</h3>
103 121
104| Старый вход бета-версии | Новый вход v1.0 |122Чтобы удалить Claude Code GitHub Action, отмените каждую часть настройки, которая применяется к вашей установке:
105| ----------------------- | ------------------------------------------ |123
106| `mode` | *(Удалено - автоматически обнаруживается)* |124* **Файлы рабочего процесса**: удалите рабочие процессы, которые используют `anthropics/claude-code-action` из `.github/workflows/`. Если вы использовали быструю настройку, ищите `claude.yml` и, если вы выбрали рабочий процесс проверки, `claude-code-review.yml`. С удалёнными рабочими процессами Claude Code GitHub Action больше не запускается
107| `direct_prompt` | `prompt` |125* **Секреты**: удалите секрет `ANTHROPIC_API_KEY` или `CLAUDE_CODE_OAUTH_TOKEN` из репозитория и из секретов Actions на уровне организации, если вы [поделились им между репозиториями](#set-up-for-an-organization). Если вы удалите секрет, учётные данные, которые он содержал, остаются действительными. Чтобы полностью отозвать API ключ, также удалите ключ в [Claude Console](https://platform.claude.com)
108| `override_prompt` | `prompt` с переменными GitHub |126* **GitHub App**: удалите Claude GitHub App в параметрах вашего репозитория или организации в разделе GitHub Apps, но только если вы не используете его для другой функции Claude, такой как Code Review или веб-автоисправление
109| `custom_instructions` | `claude_args: --append-system-prompt` |127
110| `max_turns` | `claude_args: --max-turns` |128Если вы настроили [облачного провайдера](/docs/ru/github-actions-cloud-providers), также удалите секреты провайдера, такие как `AWS_ROLE_TO_ASSUME`, секреты `GCP_*` или секреты `AZURE_*`, и удалите пользовательский GitHub App вместе с его секретами `APP_ID` и `APP_PRIVATE_KEY`.
111| `model` | `claude_args: --model` |129
112| `allowed_tools` | `claude_args: --allowedTools` |130<h3 id="github-app-permissions">
113| `disallowed_tools` | `claude_args: --disallowedTools` |131 Разрешения GitHub App
114| `claude_env` | `settings` формат JSON |
115
116<h3 id="before-and-after-example">
117 Пример до и после
118</h3>132</h3>
119 133
120**Бета-версия:**134[Claude GitHub App](https://github.com/apps/claude) используется каждой функцией Claude, которая интегрируется с GitHub, включая Claude Code GitHub Action, [Code Review](/docs/ru/code-review) и [автоисправление для pull requests](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests) на Claude Code на веб-сайте. GitHub App имеет единый набор разрешений, охватывающий все его функции, поэтому набор включает некоторые разрешения, которые Claude Code GitHub Action не использует.
121 135
122```yaml theme={null}136Когда вы устанавливаете приложение, вы предоставляете следующие разрешения:
123- uses: anthropics/claude-code-action@beta
124 with:
125 mode: "tag"
126 direct_prompt: "Review this PR for security issues"
127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
128 custom_instructions: "Follow our coding standards"
129 max_turns: "10"
130 model: "claude-sonnet-5"
131```
132 137
133**Версия GA (v1.0):**138| Разрешение | Доступ |
139| ---------------- | --------------- |
140| Actions | Чтение и запись |
141| Checks | Чтение и запись |
142| Contents | Чтение и запись |
143| Discussions | Чтение и запись |
144| Issues | Чтение и запись |
145| Members | Чтение |
146| Metadata | Чтение |
147| Pull requests | Чтение и запись |
148| Repository hooks | Чтение и запись |
149| Statuses | Чтение |
150| Workflows | Чтение и запись |
134 151
135```yaml theme={null}152Набор разрешений также может измениться раньше функций, которые его используют. Когда приложение запрашивает разрешение, которое оно не имело раньше, GitHub предлагает владельцу аккаунта одобрить его, владельцу организации для установки организации, и установка сохраняет свои старые разрешения до тех пор, пока они это не сделают. Например, когда доступ Actions изменяется с чтения на запись, приложение может повторно запускать рабочие процессы вместо только просмотра запусков и журналов, поэтому GitHub просит владельца одобрить изменение.
136- uses: anthropics/claude-code-action@v1
137 with:
138 prompt: "Review this PR for security issues"
139 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
140 claude_args: |
141 --append-system-prompt "Follow our coding standards"
142 --max-turns 10
143 --model claude-sonnet-5
144```
145 153
146<Tip>154Когда вы устанавливаете приложение, вы принимаете его полный набор разрешений. GitHub не позволяет вам принять подмножество. Если ваша организация требует только разрешений, которые использует Claude Code GitHub Action, создайте пользовательский GitHub App с Contents, Issues и Pull requests вместо этого, следуя [руководству по настройке Claude Code GitHub Action](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md). Пользовательское приложение охватывает только Claude Code GitHub Action. Code Review и веб-автоисправление по-прежнему требуют официального приложения.
147 Действие теперь автоматически обнаруживает, следует ли запускать в интерактивном режиме (отвечает на упоминания `@claude`) или в режиме автоматизации (запускается немедленно с prompt) на основе вашей конфигурации.155
148</Tip>156Для деталей о том, как Claude Code GitHub Action ограничивает то, что Claude может делать с этими разрешениями, см. [документацию по безопасности](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).
157
158<h2 id="interactive-and-automation-modes">
159 Интерактивный и режимы автоматизации
160</h2>
161
162Claude Code GitHub Action обнаруживает, как запускаться из конфигурации вашего рабочего процесса:
163
164* **Интерактивный режим**: когда рабочий процесс не предоставляет вход `prompt`, Claude ждёт фразу триггера, `@claude` по умолчанию, в комментарии issue или pull request, в проверке pull request или в теле или заголовке вновь открытого issue, затем отвечает на этот запрос. Прогресс и результаты появляются как комментарий к вызывающему issue или PR.
165* **Режим автоматизации**: когда рабочий процесс предоставляет вход `prompt`, Claude запускается без ожидания упоминания, подчиняясь только [проверкам того, кто может запускать запуски](#who-can-trigger-runs). По умолчанию результаты появляются в журнале выполнения рабочего процесса, а не в комментарии. Claude может размещать на issue или pull request, когда prompt направляет его и у него есть инструмент, который может размещать, как в [примере code-review](#run-a-skill).
166
167<h3 id="who-can-trigger-runs">
168 Кто может запускать запуски
169</h3>
170
171В обоих режимах Claude Code GitHub Action запускает две проверки на действующего лица перед началом Claude, и запуск не удаётся, когда любая проверка его отклоняет:
172
173* **Доступ на запись**: на событиях issue и pull request пользователь, запускающий, должен иметь доступ на запись к репозиторию. Чтобы разрешить конкретным пользователям без доступа на запись, установите `allowed_non_write_users` и передайте свой собственный вход `github_token`. События, которые не создаёт ни один пользователь, такие как триггер `schedule`, пропускают эту проверку.
174* **Человеческий актёр**: на каждом событии Claude Code GitHub Action отклоняет актёра-бота, если вы не перечислите его в `allowed_bots`, что предотвращает запуск ботов Claude в цикле. Эта проверка также применяется к запланированным запускам, которые GitHub приписывает пользователю репозитория, обычно тому, кто последний изменил расписание `cron` рабочего процесса. Если этот пользователь является ботом, перечислите его в `allowed_bots`.
149 175
150<h2 id="example-use-cases">176<h2 id="example-use-cases">
151 Примеры использования177 Примеры использования
152</h2>178</h2>
153 179
154Claude Code GitHub Actions может помочь вам с различными задачами. [Каталог примеров](https://github.com/anthropics/claude-code-action/tree/main/examples) содержит готовые к использованию рабочие процессы для различных сценариев.180Каталог [примеров](https://github.com/anthropics/claude-code-action/tree/main/examples) содержит готовые к использованию рабочие процессы для различных сценариев.
155 181
156<h3 id="basic-workflow">182Примеры на этой странице показывают аутентификацию API ключа. Если вы аутентифицируетесь с подпиской Claude, замените строку `anthropic_api_key` в любом примере на `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`.
157 Базовый рабочий процесс183
184<h3 id="respond-to-claude-mentions">
185 Ответ на упоминания @claude
158</h3>186</h3>
159 187
188Этот рабочий процесс запускает Claude Code GitHub Action в интерактивном режиме, поэтому Claude отвечает всякий раз, когда кто-то упоминает `@claude` в комментарии issue или PR.
189
160```yaml theme={null}190```yaml theme={null}
161name: Claude Code191name: Claude Code
162on:192on:
166 types: [created]196 types: [created]
167jobs:197jobs:
168 claude:198 claude:
199 if: contains(github.event.comment.body, '@claude')
169 runs-on: ubuntu-latest200 runs-on: ubuntu-latest
201 permissions:
202 contents: write
203 pull-requests: write
204 issues: write
205 id-token: write
206 actions: read
170 steps:207 steps:
208 - uses: actions/checkout@v6
209 with:
210 fetch-depth: 1
171 - uses: anthropics/claude-code-action@v1211 - uses: anthropics/claude-code-action@v1
172 with:212 with:
173 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}213 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
174 # Responds to @claude mentions in comments
175```214```
176 215
177<h3 id="using-skills">216Части этого рабочего процесса, которые не являются шаблонным кодом:
178 Использование skills217
218* `id-token: write`: требуется для аутентификации GitHub App Claude Code GitHub Action по умолчанию
219* `actions: read`: позволяет Claude читать результаты CI на PR
220* `actions/checkout`: даёт Claude локальную копию репозитория для работы
221* `if`: предотвращает запуск runners на комментариях, которые не упоминают `@claude`. Claude Code GitHub Action также проверяет саму фразу триггера перед ответом
222
223После того как рабочий процесс установлен, упомяните `@claude` в любом комментарии issue или PR с запросом:
224
225```text wrap theme={null}
226@claude implement this feature based on the issue description
227@claude how should I implement user authentication for this endpoint?
228@claude fix the TypeError in the user dashboard component
229```
230
231Claude отвечает в комментарии на том же issue или PR и обновляет его по мере работы.
232
233<h3 id="run-a-skill">
234 Запуск skill
179</h3>235</h3>
180 236
181Входной параметр `prompt` принимает как [вызов skill](/ru/skills), так и простой текст:237Вход `prompt` принимает [вызов skill](/docs/ru/skills) а также простой текст:
182 238
183* Для skill в каталоге `.claude/skills/` вашего репозитория запустите `actions/checkout` перед шагом action и передайте `/skill-name`.239* Для skill в каталоге `.claude/skills/` вашего репозитория запустите `actions/checkout` перед шагом `anthropics/claude-code-action`, чтобы файлы skill были доступны на runner, затем передайте `/skill-name` как `prompt`.
184* Для skill, упакованного в plugin, установите plugin с помощью входных параметров `plugin_marketplaces` и `plugins` и передайте `/plugin-name:skill-name` с пространством имён.240* Для skill, упакованного в [plugin](/docs/ru/plugins), установите plugin с входами `plugin_marketplaces` и `plugins`, затем передайте пространство имён `/plugin-name:skill-name` как `prompt`. Вход `plugins` принимает `plugin-name@marketplace-name`, где имя маркетплейса поступает из собственного манифеста маркетплейса, а не из URL его репозитория.
185 241
186Следующий рабочий процесс устанавливает plugin `code-review` и запускает его skill для каждого нового или обновлённого pull request:242Следующий рабочий процесс устанавливает plugin `code-review` и запускает его skill, когда pull request открывается, обновляется, переоткрывается или отмечается как готовый к проверке. Он запускает тот же plugin, что и рабочий процесс проверки из быстрой настройки. Используйте рабочий процесс, подобный этому, когда вы хотите контролировать prompt, модель и триггеры самостоятельно. Для автоматических проверок без поддержания файла рабочего процесса см. [Code Review](/docs/ru/code-review). На публичных репозиториях GitHub скрывает секреты от запусков, запущенных pull requests из форков, поэтому проверка запускается только на pull requests из веток в том же репозитории.
187 243
188```yaml theme={null}244```yaml theme={null}
189name: Code Review245name: Code Review
190on:246on:
191 pull_request:247 pull_request:
192 types: [opened, synchronize]248 types: [opened, synchronize, ready_for_review, reopened]
193jobs:249jobs:
194 review:250 review:
195 runs-on: ubuntu-latest251 runs-on: ubuntu-latest
252 permissions:
253 contents: read
254 pull-requests: read
255 issues: read
256 id-token: write
196 steps:257 steps:
258 - uses: actions/checkout@v6
259 with:
260 fetch-depth: 1
197 - uses: anthropics/claude-code-action@v1261 - uses: anthropics/claude-code-action@v1
198 with:262 with:
199 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}263 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
200 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"264 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
201 plugins: "code-review@claude-code-plugins"265 plugins: "code-review@claude-code-plugins"
202 prompt: "/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"266 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"
267 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'
203```268```
204 269
205<h3 id="custom-automation-with-prompts">270Две строки в этом рабочем процессе контролируют, где идёт проверка:
206 Пользовательская автоматизация с prompts271
272* **`--comment`**: Claude размещает свою проверку на pull request как встроенный комментарий к каждой найденной проблеме или как один сводный комментарий, когда он не находит ничего. Без него Claude ничего не размещает, и вы читаете результаты в журнале выполнения рабочего процесса.
273* **`claude_args`**: сохраняйте эту строку, даже хотя собственный `allowed-tools` frontmatter skill называет тот же инструмент, потому что Claude Code GitHub Action запускает MCP сервер, который размещает встроенные комментарии только когда `--allowedTools` в `claude_args` его называет.
274
275Claude пропускает черновики и закрытые pull requests, pull requests, которые он судит не нуждаются в проверке, такие как автоматизированные или тривиальные, и pull requests, которые уже имеют комментарий от Claude.
276
277<h3 id="run-on-a-schedule">
278 Запуск по расписанию
207</h3>279</h3>
208 280
281С входом `prompt` Claude Code GitHub Action запускается в режиме автоматизации на любом событии GitHub, включая расписание cron. Для простого текстового prompt Claude не имеет доступа к shell или GitHub API до тех пор, пока вы не предоставите инструменты, которые требует prompt, с `--allowedTools` в `claude_args` или правилом [`permissions.allow`](/docs/ru/permissions#permission-rule-syntax) во входе `settings`. Если вы вместо этого вызываете skill, Claude может использовать инструменты, которые его [`allowed-tools` frontmatter](/docs/ru/skills#pre-approve-tools-for-a-skill) предоставляет. GitHub запускает запланированные рабочие процессы только из ветки по умолчанию и, в публичных репозиториях, отключает расписание после 60 дней без активности репозитория.
282
283Этот рабочий процесс генерирует отчёт в журнале выполнения рабочего процесса в 09:00 UTC каждый день. Его строка `claude_args` [передаёт аргументы CLI](#pass-cli-arguments), которые выбирают модель и разрешают два инструмента GitHub MCP. Claude читает коммиты и issues через GitHub API с этими инструментами, поэтому вы можете опустить шаг checkout:
284
209```yaml theme={null}285```yaml theme={null}
210name: Daily Report286name: Daily Report
211on:287on:
214jobs:290jobs:
215 report:291 report:
216 runs-on: ubuntu-latest292 runs-on: ubuntu-latest
293 permissions:
294 contents: read
295 issues: read
296 id-token: write
217 steps:297 steps:
218 - uses: anthropics/claude-code-action@v1298 - uses: anthropics/claude-code-action@v1
219 with:299 with:
220 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}300 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
221 prompt: "Generate a summary of yesterday's commits and open issues"301 prompt: "Generate a summary of yesterday's commits and open issues"
222 claude_args: "--model opus"302 claude_args: |
223```303 --model claude-opus-4-8
224 304 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"
225<h3 id="common-use-cases">
226 Распространённые случаи использования
227</h3>
228
229В комментариях issue или PR:
230
231```text wrap theme={null}
232@claude implement this feature based on the issue description
233@claude how should I implement user authentication for this endpoint?
234@claude fix the TypeError in the user dashboard component
235```305```
236 306
237Claude автоматически проанализирует контекст и ответит соответствующим образом.
238
239<h2 id="best-practices">307<h2 id="best-practices">
240 Лучшие практики308 Лучшие практики
241</h2>309</h2>
242 310
243<h3 id="claude-md-configuration">311<h3 id="define-project-standards-in-claude-md">
244 Конфигурация CLAUDE.md312 Определите стандарты проекта в CLAUDE.md
245</h3>313</h3>
246 314
247Создайте файл `CLAUDE.md` в корне вашего репозитория для определения рекомендаций по стилю кода, критериев проверки, правил, специфичных для проекта, и предпочитаемых паттернов. Этот файл направляет понимание Claude стандартов вашего проекта.315Создайте файл `CLAUDE.md` в корне вашего репозитория для определения рекомендаций по стилю кода, критериев проверки, правил, специфичных для проекта, и предпочитаемых паттернов. Claude следует этим рекомендациям при создании PR и ответе на запросы. Подробности см. в [документации по памяти](/docs/ru/memory).
248 316
249<h3 id="security-considerations">317<h3 id="protect-your-credentials">
250 Соображения безопасности318 Защитите ваши учётные данные
251</h3>319</h3>
252 320
253<Warning>Никогда не коммитьте API ключи непосредственно в ваш репозиторий.</Warning>321<Warning>
254 322 Никогда не коммитьте API ключи или OAuth токены непосредственно в ваш репозиторий. Всегда сохраняйте их как GitHub Secrets и ссылайтесь на них в рабочих процессах, например `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`.
255Для полного руководства по безопасности, включая разрешения, аутентификацию и лучшие практики, см. [документацию по безопасности Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).323</Warning>
256
257Всегда используйте GitHub Secrets для API ключей:
258
259* Добавьте ваш API ключ как секрет репозитория с именем `ANTHROPIC_API_KEY`
260* Ссылайтесь на него в рабочих процессах: `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`
261* Ограничьте разрешения действия только необходимыми
262* Проверьте предложения Claude перед слиянием
263
264Всегда используйте GitHub Secrets (например, `${{ secrets.ANTHROPIC_API_KEY }}`) вместо жёсткого кодирования API ключей непосредственно в ваши файлы рабочего процесса.
265 324
266<h3 id="optimizing-performance">325Предоставьте рабочему процессу только разрешения, которые ему нужны, и проверьте изменения Claude перед слиянием.
267 Оптимизация производительности
268</h3>
269 326
270Используйте шаблоны issues для предоставления контекста, держите ваш `CLAUDE.md` кратким и сосредоточенным, и настройте соответствующие тайм-ауты для ваших рабочих процессов.327Для полного руководства по безопасности, включая разрешения и аутентификацию, см. [документацию по безопасности Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md).
271 328
272<h3 id="ci-costs">329<h3 id="manage-costs">
273 Затраты CI330 Управляйте затратами
274</h3>331</h3>
275 332
276При использовании Claude Code GitHub Actions помните о связанных затратах:333Каждый запуск потребляет два вида ресурсов:
277
278**Затраты GitHub Actions:**
279
280* Claude Code работает на размещённых GitHub серверах, которые потребляют ваши минуты GitHub Actions
281* См. [документацию по выставлению счётов GitHub](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions) для получения подробной информации о ценах и лимитах минут
282
283**Затраты API:**
284 334
285* Каждое взаимодействие Claude потребляет токены API на основе длины prompts и ответов335* **Минуты GitHub Actions**: Claude Code GitHub Action запускается на размещённых GitHub runners, которые потребляют ваши минуты GitHub Actions. Цены и лимиты минут см. в [документации по выставлению счётов GitHub](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions).
286* Использование токенов варьируется в зависимости от сложности задачи и размера кодовой базы336* **Токены API**: каждое взаимодействие потребляет токены на основе длины prompts и ответов, сложности задачи и размера кодовой базы. Текущие ставки токенов см. на [странице цен Claude](https://claude.com/platform/api). Если вы аутентифицируетесь с OAuth токеном, запуски используют вашу подписку Claude вместо выставления счётов API.
287* См. [страницу цен Claude](https://claude.com/platform/api) для получения текущих ставок токенов
288 337
289**Советы по оптимизации затрат:**338Вы можете снизить оба вида затрат, дав Claude более чёткий контекст и ограничив, сколько работы может выполнить каждый запуск:
290 339
291* Используйте специфичные команды `@claude` для уменьшения ненужных вызовов API340* Напишите специфичные запросы `@claude`, чтобы Claude нужно было меньше ходов для завершения
292* Настройте соответствующий `--max-turns` в `claude_args` для предотвращения чрезмерных итераций341* Используйте шаблоны issues для предоставления контекста заранее
342* Держите ваш `CLAUDE.md` кратким, так как Claude читает его на каждом запуске
343* Установите `--max-turns` в `claude_args` для ограничения итераций
293* Установите тайм-ауты на уровне рабочего процесса, чтобы избежать неконтролируемых заданий344* Установите тайм-ауты на уровне рабочего процесса, чтобы избежать неконтролируемых заданий
294* Рассмотрите использование элементов управления параллелизмом GitHub для ограничения параллельных запусков345* Используйте элементы управления параллелизмом GitHub для ограничения параллельных запусков
295
296<h2 id="configuration-examples">
297 Примеры конфигурации
298</h2>
299
300Claude Code Action v1 упрощает конфигурацию с унифицированными параметрами:
301
302```yaml theme={null}
303- uses: anthropics/claude-code-action@v1
304 with:
305 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
306 prompt: "Your instructions here" # Optional
307 claude_args: "--max-turns 5" # Optional CLI arguments
308```
309
310Ключевые функции:
311
312* **Унифицированный интерфейс prompt** - Используйте `prompt` для всех инструкций
313* **Skills** - Вызывайте установленные [skills](/ru/skills) непосредственно из prompt
314* **Passthrough CLI** - Любой аргумент Claude Code CLI через `claude_args`
315* **Гибкие триггеры** - Работает с любым событием GitHub
316
317Посетите [каталог примеров](https://github.com/anthropics/claude-code-action/tree/main/examples) для полных файлов рабочего процесса.
318 346
319<Tip>347Для отслеживания использования по всей организации см. [панель аналитики](/docs/ru/analytics) и [мониторинг](/docs/ru/monitoring-usage). Для того, как измеряется использование и выставляется счёт, см. [затраты](/docs/ru/costs).
320 При ответе на комментарии issue или PR, Claude автоматически отвечает на упоминания @claude. Для других событий используйте параметр `prompt` для предоставления инструкций.
321</Tip>
322 348
323<h2 id="using-with-amazon-bedrock-and-google-cloud">349<h2 id="use-a-cloud-provider">
324 Использование с Amazon Bedrock и Google Cloud350 Используйте облачного провайдера
325</h2>351</h2>
326 352
327Для корпоративных сред вы можете использовать Claude Code GitHub Actions с вашей собственной облачной инфраструктурой. Этот подход даёт вам контроль над местоположением данных и выставлением счётов при сохранении той же функциональности.353По умолчанию Claude Code GitHub Action вызывает Claude API напрямую с вашим API ключом или OAuth токеном. Чтобы маршрутизировать вывод через ваш собственный облачный аккаунт вместо этого, установите вход для вашего провайдера и следуйте [Использование Claude Code GitHub Actions с облачными провайдерами](/docs/ru/github-actions-cloud-providers):
328
329<h3 id="prerequisites">
330 Предварительные требования
331</h3>
332
333Перед настройкой Claude Code GitHub Actions с облачными провайдерами вам нужно:
334
335<h4 id="for-google-cloud’s-agent-platform">
336 Для Google Cloud's Agent Platform:
337</h4>
338
3391. Проект Google Cloud с включённым Google Cloud's Agent Platform
3402. Workload Identity Federation, настроенный для GitHub Actions
3413. Сервисный аккаунт с необходимыми разрешениями
3424. GitHub App (рекомендуется) или использование стандартного GITHUB\_TOKEN
343
344<h4 id="for-amazon-bedrock">
345 Для Amazon Bedrock:
346</h4>
347
3481. Аккаунт AWS с включённым Amazon Bedrock
3492. GitHub OIDC Identity Provider, настроенный в AWS
3503. IAM роль с разрешениями Amazon Bedrock
3514. GitHub App (рекомендуется) или использование стандартного GITHUB\_TOKEN
352
353<Steps>
354 <Step title="Создайте пользовательский GitHub App (Рекомендуется для 3P провайдеров)">
355 Для лучшего контроля и безопасности при использовании 3P провайдеров, таких как Google Cloud's Agent Platform или Amazon Bedrock, мы рекомендуем создать свой собственный GitHub App:
356
357 1. Перейдите на [https://github.com/settings/apps/new](https://github.com/settings/apps/new)
358 2. Заполните основную информацию:
359 * **GitHub App name**: Выберите уникальное имя (например, "YourOrg Claude Assistant")
360 * **Homepage URL**: Веб-сайт вашей организации или URL репозитория
361 3. Настройте параметры приложения:
362 * **Webhooks**: Снимите флажок "Active" (не требуется для этой интеграции)
363 4. Установите необходимые разрешения:
364 * **Repository permissions**:
365 * Contents: Read & Write
366 * Issues: Read & Write
367 * Pull requests: Read & Write
368 5. Нажмите "Create GitHub App"
369 6. После создания нажмите "Generate a private key" и сохраните загруженный файл `.pem`
370 7. Запишите ID вашего приложения со страницы параметров приложения
371 8. Установите приложение в ваш репозиторий:
372 * Со страницы параметров вашего приложения нажмите "Install App" в левой боковой панели
373 * Выберите ваш аккаунт или организацию
374 * Выберите "Only select repositories" и выберите конкретный репозиторий
375 * Нажмите "Install"
376 9. Добавьте приватный ключ как секрет в ваш репозиторий:
377 * Перейдите в Settings вашего репозитория → Secrets and variables → Actions
378 * Создайте новый секрет с именем `APP_PRIVATE_KEY` с содержимым файла `.pem`
379 10. Добавьте ID приложения как секрет:
380
381 * Создайте новый секрет с именем `APP_ID` с ID вашего GitHub App
382
383 <Note>
384 Это приложение будет использоваться с действием [actions/create-github-app-token](https://github.com/actions/create-github-app-token) для генерации токенов аутентификации в ваших рабочих процессах.
385 </Note>
386
387 **Альтернатива для Claude API или если вы не хотите настраивать свой Github app**: Используйте официальное приложение Anthropic:
388
389 1. Установите из: [https://github.com/apps/claude](https://github.com/apps/claude)
390 2. Дополнительная конфигурация для аутентификации не требуется
391 </Step>
392
393 <Step title="Настройте аутентификацию облачного провайдера">
394 Выберите вашего облачного провайдера и установите безопасную аутентификацию:
395
396 <AccordionGroup>
397 <Accordion title="Amazon Bedrock">
398 **Настройте AWS, чтобы разрешить GitHub Actions безопасно аутентифицироваться без сохранения учётных данных.**
399
400 > **Примечание по безопасности**: Используйте конфигурации, специфичные для репозитория, и предоставляйте только минимально необходимые разрешения.
401
402 **Требуемая настройка**:
403
404 1. **Включите Amazon Bedrock**:
405 * Запросите доступ к моделям Claude в Amazon Bedrock
406 * Для кроссрегиональных моделей запросите доступ во всех необходимых регионах
407
408 2. **Установите GitHub OIDC Identity Provider**:
409 * Provider URL: `https://token.actions.githubusercontent.com`
410 * Audience: `sts.amazonaws.com`
411
412 3. **Создайте IAM Role для GitHub Actions**:
413 * Trusted entity type: Web identity
414 * Identity provider: `token.actions.githubusercontent.com`
415 * Permissions: политика `AmazonBedrockFullAccess`
416 * Настройте политику доверия для вашего конкретного репозитория
417
418 **Требуемые значения**:
419
420 После настройки вам понадобятся:
421
422 * **AWS\_ROLE\_TO\_ASSUME**: ARN IAM роли, которую вы создали
423
424 <Tip>
425 OIDC более безопасен, чем использование статических AWS ключей доступа, потому что учётные данные являются временными и автоматически ротируются.
426 </Tip>
427
428 См. [документацию AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html) для получения подробных инструкций по настройке OIDC.
429 </Accordion>
430
431 <Accordion title="Google Cloud's Agent Platform">
432 **Настройте Google Cloud, чтобы разрешить GitHub Actions безопасно аутентифицироваться без сохранения учётных данных.**
433 354
434 > **Примечание по безопасности**: Используйте конфигурации, специфичные для репозитория, и предоставляйте только минимально необходимые разрешения.355* **Amazon Bedrock**: `use_bedrock: "true"`
356* **Google Cloud's Agent Platform**: `use_vertex: "true"`
357* **Microsoft Foundry**: `use_foundry: "true"`
435 358
436 **Требуемая настройка**:359Со всеми тремя провайдерами вы аутентифицируетесь через федерацию рабочей идентификации OIDC вместо Claude API ключа, поэтому вы не сохраняете статические облачные учётные данные в вашем репозитории.
437
438 1. **Включите API** в вашем проекте Google Cloud:
439 * IAM Credentials API
440 * Security Token Service (STS) API
441 * Google Cloud's Agent Platform API
442
443 2. **Создайте ресурсы Workload Identity Federation**:
444 * Создайте Workload Identity Pool
445 * Добавьте GitHub OIDC провайдера с:
446 * Issuer: `https://token.actions.githubusercontent.com`
447 * Attribute mappings для репозитория и владельца
448 * **Рекомендация по безопасности**: Используйте условия атрибутов, специфичные для репозитория
449
450 3. **Создайте сервисный аккаунт**:
451 * Предоставьте только роль `Vertex AI User`
452 * **Рекомендация по безопасности**: Создайте выделенный сервисный аккаунт для каждого репозитория
453
454 4. **Настройте IAM привязки**:
455 * Разрешите Workload Identity Pool олицетворять сервисный аккаунт
456 * **Рекомендация по безопасности**: Используйте наборы принципалов, специфичные для репозитория
457
458 **Требуемые значения**:
459
460 После настройки вам понадобятся:
461
462 * **GCP\_WORKLOAD\_IDENTITY\_PROVIDER**: Полное имя ресурса провайдера
463 * **GCP\_SERVICE\_ACCOUNT**: Адрес электронной почты сервисного аккаунта
464
465 <Tip>
466 Workload Identity Federation исключает необходимость в загружаемых ключах сервисного аккаунта, улучшая безопасность.
467 </Tip>
468
469 Для получения подробных инструкций по настройке обратитесь к [документации Google Cloud Workload Identity Federation](https://cloud.google.com/iam/docs/workload-identity-federation).
470 </Accordion>
471 </AccordionGroup>
472 </Step>
473
474 <Step title="Добавьте необходимые секреты">
475 Добавьте следующие секреты в ваш репозиторий (Settings → Secrets and variables → Actions):
476
477 #### Для Claude API (Direct):
478
479 1. **Для аутентификации API**:
480 * `ANTHROPIC_API_KEY`: Ваш Claude API ключ из [console.anthropic.com](https://console.anthropic.com)
481
482 2. **Для GitHub App (если используете свой app)**:
483 * `APP_ID`: ID вашего GitHub App
484 * `APP_PRIVATE_KEY`: Содержимое приватного ключа (.pem)
485
486 #### Для Google Cloud's Agent Platform
487
488 1. **Для аутентификации GCP**:
489 * `GCP_WORKLOAD_IDENTITY_PROVIDER`
490 * `GCP_SERVICE_ACCOUNT`
491
492 2. **Для GitHub App (если используете свой app)**:
493 * `APP_ID`: ID вашего GitHub App
494 * `APP_PRIVATE_KEY`: Содержимое приватного ключа (.pem)
495
496 #### Для AWS Bedrock
497
498 1. **Для аутентификации AWS**:
499 * `AWS_ROLE_TO_ASSUME`
500
501 2. **Для GitHub App (если используете свой app)**:
502 * `APP_ID`: ID вашего GitHub App
503 * `APP_PRIVATE_KEY`: Содержимое приватного ключа (.pem)
504 </Step>
505
506 <Step title="Создайте файлы рабочего процесса">
507 Создайте файлы рабочего процесса GitHub Actions, которые интегрируются с вашим облачным провайдером. Примеры ниже показывают полные конфигурации как для Amazon Bedrock, так и для Google Cloud's Agent Platform:
508
509 <AccordionGroup>
510 <Accordion title="Amazon Bedrock workflow">
511 **Предварительные требования:**
512
513 * Доступ Amazon Bedrock включён с разрешениями модели Claude
514 * GitHub настроен как OIDC поставщик идентификации в AWS
515 * IAM роль с разрешениями Amazon Bedrock, которая доверяет GitHub Actions
516
517 **Требуемые секреты GitHub:**
518
519 | Имя секрета | Описание |
520 | -------------------- | -------------------------------------------------------- |
521 | `AWS_ROLE_TO_ASSUME` | ARN IAM роли для доступа к Amazon Bedrock |
522 | `APP_ID` | ID вашего GitHub App (из параметров приложения) |
523 | `APP_PRIVATE_KEY` | Приватный ключ, который вы создали для вашего GitHub App |
524
525 ```yaml theme={null}
526 name: Claude PR Action
527
528 permissions:
529 contents: write
530 pull-requests: write
531 issues: write
532 id-token: write
533
534 on:
535 issue_comment:
536 types: [created]
537 pull_request_review_comment:
538 types: [created]
539 issues:
540 types: [opened, assigned]
541
542 jobs:
543 claude-pr:
544 if: |
545 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
546 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
547 (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
548 runs-on: ubuntu-latest
549 env:
550 AWS_REGION: us-west-2
551 steps:
552 - name: Checkout repository
553 uses: actions/checkout@v4
554
555 - name: Generate GitHub App token
556 id: app-token
557 uses: actions/create-github-app-token@v2
558 with:
559 app-id: ${{ secrets.APP_ID }}
560 private-key: ${{ secrets.APP_PRIVATE_KEY }}
561
562 - name: Configure AWS Credentials (OIDC)
563 uses: aws-actions/configure-aws-credentials@v4
564 with:
565 role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
566 aws-region: us-west-2
567
568 - uses: anthropics/claude-code-action@v1
569 with:
570 github_token: ${{ steps.app-token.outputs.token }}
571 use_bedrock: "true"
572 claude_args: '--model us.anthropic.claude-sonnet-4-6 --max-turns 10'
573 ```
574
575 <Tip>
576 Формат ID модели для Amazon Bedrock включает префикс региона (например, `us.anthropic.claude-sonnet-4-6`).
577 </Tip>
578 </Accordion>
579
580 <Accordion title="Google Cloud's Agent Platform workflow">
581 **Предварительные требования:**
582
583 * Google Cloud's Agent Platform API включён в вашем проекте GCP
584 * Workload Identity Federation настроена для GitHub
585 * Сервисный аккаунт с разрешениями Google Cloud's Agent Platform
586
587 **Требуемые секреты GitHub:**
588
589 | Имя секрета | Описание |
590 | -------------------------------- | -------------------------------------------------------------------------------------- |
591 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Имя ресурса поставщика рабочей идентификации |
592 | `GCP_SERVICE_ACCOUNT` | Адрес электронной почты сервисного аккаунта с доступом к Google Cloud's Agent Platform |
593 | `APP_ID` | ID вашего GitHub App (из параметров приложения) |
594 | `APP_PRIVATE_KEY` | Приватный ключ, который вы создали для вашего GitHub App |
595
596 ```yaml theme={null}
597 name: Claude PR Action
598
599 permissions:
600 contents: write
601 pull-requests: write
602 issues: write
603 id-token: write
604
605 on:
606 issue_comment:
607 types: [created]
608 pull_request_review_comment:
609 types: [created]
610 issues:
611 types: [opened, assigned]
612
613 jobs:
614 claude-pr:
615 if: |
616 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
617 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
618 (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
619 runs-on: ubuntu-latest
620 steps:
621 - name: Checkout repository
622 uses: actions/checkout@v4
623
624 - name: Generate GitHub App token
625 id: app-token
626 uses: actions/create-github-app-token@v2
627 with:
628 app-id: ${{ secrets.APP_ID }}
629 private-key: ${{ secrets.APP_PRIVATE_KEY }}
630
631 - name: Authenticate to Google Cloud
632 id: auth
633 uses: google-github-actions/auth@v2
634 with:
635 workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
636 service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}
637
638 - uses: anthropics/claude-code-action@v1
639 with:
640 github_token: ${{ steps.app-token.outputs.token }}
641 trigger_phrase: "@claude"
642 use_vertex: "true"
643 claude_args: '--model claude-sonnet-4-5@20250929 --max-turns 10'
644 env:
645 ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}
646 CLOUD_ML_REGION: us-east5
647 VERTEX_REGION_CLAUDE_4_5_SONNET: us-east5
648 ```
649
650 <Tip>
651 ID проекта автоматически извлекается из шага аутентификации Google Cloud, поэтому вам не нужно жёстко кодировать его.
652 </Tip>
653 </Accordion>
654 </AccordionGroup>
655 </Step>
656</Steps>
657 360
658<h2 id="troubleshooting">361<h2 id="troubleshooting">
659 Troubleshooting362 Устранение неполадок
660</h2>363</h2>
661 364
662<h3 id="claude-not-responding-to-claude-commands">365<h3 id="claude-not-responding-to-claude-commands">
663 Claude не отвечает на команды @claude366 Claude не отвечает на команды @claude
664</h3>367</h3>
665 368
666Проверьте, что GitHub App установлен правильно, убедитесь, что рабочие процессы включены, убедитесь, что API ключ установлен в секретах репозитория, и подтвердите, что комментарий содержит `@claude` (не `/claude`).369* Проверьте, что GitHub App установлен на репозитории
370* Проверьте, что рабочие процессы включены для репозитория
371* Убедитесь, что ваш API ключ или OAuth токен установлен в секретах репозитория
372* Подтвердите, что комментарий содержит `@claude` как полное слово, а не `/claude` или `@claude-bot`
373* Подтвердите, что пользователь, оставляющий комментарий, имеет доступ на запись к репозиторию. Исключения см. в [Кто может запускать запуски](#who-can-trigger-runs)
667 374
668<h3 id="ci-not-running-on-claude’s-commits">375<h3 id="ci-not-running-on-claude’s-commits">
669 CI не запускается на коммитах Claude376 CI не запускается на коммитах Claude
670</h3>377</h3>
671 378
672Убедитесь, что вы используете GitHub App или пользовательское приложение (не пользователя Actions), проверьте, что триггеры рабочего процесса включают необходимые события, и проверьте, что разрешения приложения включают триггеры CI.379* GitHub не запускает рабочие процессы на коммитах, сделанных с помощью `GITHUB_TOKEN` по умолчанию. Если вы передаёте `github_token: ${{ secrets.GITHUB_TOKEN }}` в Claude Code GitHub Action, удалите его, чтобы он аутентифицировался как Claude GitHub App, или передайте токен пользовательского приложения вместо этого
380* Проверьте, что триггеры рабочего процесса CI включают события, которые производят отправки Claude, такие как `push` или `pull_request`
673 381
674<h3 id="authentication-errors">382<h3 id="authentication-errors">
675 Ошибки аутентификации383 Ошибки аутентификации
676</h3>384</h3>
677 385
678Подтвердите, что API ключ действителен и имеет достаточные разрешения. Для Amazon Bedrock или Google Cloud's Agent Platform проверьте конфигурацию учётных данных и убедитесь, что секреты правильно названы в рабочих процессах.386* Подтвердите, что API ключ или OAuth токен действителен, протестировав его локально с `claude` перед отладкой рабочего процесса
387* Для Bedrock, Agent Platform и Foundry см. раздел [troubleshooting](/docs/ru/github-actions-cloud-providers#troubleshooting) страницы облачного провайдера
388
389Для дополнительных решений см. [FAQ](https://github.com/anthropics/claude-code-action/blob/main/docs/faq.md) Claude Code GitHub Action.
679 390
680<h2 id="advanced-configuration">391<h2 id="advanced-configuration">
681 Расширенная конфигурация392 Расширенная конфигурация
685 Параметры действия396 Параметры действия
686</h3>397</h3>
687 398
688Claude Code Action v1 использует упрощённую конфигурацию:399Это наиболее часто используемые входы. Каждый соответствует ключу `with:` в шаге `anthropics/claude-code-action`.
689 400
690| Параметр | Описание | Требуется |401| Параметр | Описание | Требуется |
691| --------------------- | ---------------------------------------------------------------------------------- | --------- |402| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
692| `prompt` | Инструкции для Claude (простой текст или имя [skill](/ru/skills)) | Нет\* |403| `prompt` | Инструкции для Claude как простой текст или [вызов skill](/docs/ru/skills). Когда опущено, Claude отвечает на [фразу триггера](#interactive-and-automation-modes) вместо этого | Нет |
693| `claude_args` | Аргументы CLI, передаваемые в Claude Code | Нет |404| `claude_args` | Аргументы CLI, передаваемые в Claude Code | Нет |
405| `anthropic_api_key` | Claude API ключ | Для Claude API, если вы не используете `claude_code_oauth_token` или [федерацию рабочей идентификации](#set-up-for-an-organization). Не используется для Bedrock, Agent Platform или Foundry |
406| `claude_code_oauth_token` | OAuth токен для аутентификации с подпиской Claude, созданный с помощью `claude setup-token` | Нет |
407| `github_token` | Токен для операций GitHub. Когда опущено, Claude Code GitHub Action аутентифицируется как Claude GitHub App | Нет |
694| `plugin_marketplaces` | Список URL-адресов Git маркетплейсов плагинов, разделённый переносами строк | Нет |408| `plugin_marketplaces` | Список URL-адресов Git маркетплейсов плагинов, разделённый переносами строк | Нет |
695| `plugins` | Список имён плагинов для установки перед выполнением, разделённый переносами строк | Нет |409| `plugins` | Список имён плагинов для установки перед выполнением, разделённый переносами строк | Нет |
696| `anthropic_api_key` | Claude API ключ | Да\*\* |410| `settings` | Параметры Claude Code как строка JSON или путь к файлу JSON параметров | Нет |
697| `github_token` | GitHub токен для доступа к API | Нет |411| `trigger_phrase` | Фраза триггера, на которую Claude отвечает. По умолчанию: `@claude` | Нет |
698| `trigger_phrase` | Пользовательская фраза триггера (по умолчанию: "@claude") | Нет |412| `use_bedrock` | Используйте Amazon Bedrock вместо Claude API | Нет |
699| `use_bedrock` | Использовать Amazon Bedrock вместо Claude API | Нет |413| `use_vertex` | Используйте Google Cloud's Agent Platform вместо Claude API | Нет |
700| `use_vertex` | Использовать Google Cloud's Agent Platform вместо Claude API | Нет |414| `use_foundry` | Используйте Microsoft Foundry вместо Claude API | Нет |
701 415
702\*Prompt опционален — при пропуске для комментариев issue/PR, Claude отвечает на фразу триггера\416Для полного списка входов см. [справочник конфигурации](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs) Claude Code GitHub Action.
703\*\*Требуется для прямого Claude API, не требуется для Amazon Bedrock или Google Cloud's Agent Platform
704 417
705<h4 id="pass-cli-arguments">418<h3 id="pass-cli-arguments">
706 Передайте аргументы CLI419 Передайте аргументы CLI
707</h4>420</h3>
708 421
709Параметр `claude_args` принимает любые аргументы Claude Code CLI:422Параметр `claude_args` принимает любой [аргумент Claude Code CLI](/docs/ru/cli-reference):
710 423
711```yaml theme={null}424```yaml theme={null}
712claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"425claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"
714 427
715Распространённые аргументы:428Распространённые аргументы:
716 429
717* `--max-turns`: Максимальное количество ходов разговора (по умолчанию: 10)430* `--max-turns`: ограничить количество ходов разговора
718* `--model`: Модель для использования (например, `claude-sonnet-5`)431* `--model`: модель для использования, например `claude-sonnet-5`. Без этого аргумента Claude Code GitHub Action использует Claude Code [модель по умолчанию](/docs/ru/model-config)
719* `--mcp-config`: Путь к конфигурации MCP432* `--mcp-config`: путь к [конфигурации MCP](/docs/ru/mcp)
720* `--allowedTools`: Список разрешённых инструментов, разделённый запятыми. Также работает псевдоним `--allowed-tools`.433* `--allowedTools`: список разрешённых инструментов, разделённый запятыми. Также работает псевдоним `--allowed-tools`
721* `--debug`: Включить вывод отладки434* `--debug`: включить вывод отладки
722 435
723<h3 id="alternative-integration-methods">436<h2 id="upgrade-from-beta">
724 Альтернативные методы интеграции437 Обновление с бета-версии
725</h3>438</h2>
726
727Хотя команда `/install-github-app` является рекомендуемым подходом, вы также можете:
728
729* **Пользовательский GitHub App**: Для организаций, нуждающихся в фирменных именах пользователей или пользовательских потоках аутентификации. Создайте свой собственный GitHub App с необходимыми разрешениями (contents, issues, pull requests) и используйте действие actions/create-github-app-token для генерации токенов в ваших рабочих процессах.
730* **Ручные GitHub Actions**: Прямая конфигурация рабочего процесса для максимальной гибкости
731* **Конфигурация MCP**: Динамическая загрузка серверов Model Context Protocol
732 439
733См. [документацию Claude Code Action](https://github.com/anthropics/claude-code-action/blob/main/docs) для получения подробных руководств по аутентификации, безопасности и расширенной конфигурации.440Если ваши рабочие процессы по-прежнему ссылаются на `anthropics/claude-code-action@beta`, обновите их до v1:
734 441
735<h3 id="customizing-claude’s-behavior">4421. Измените `@beta` на `@v1` в строке `uses`
736 Настройка поведения Claude4432. Удалите вход `mode`, так как Claude Code GitHub Action теперь [автоматически обнаруживает режим](#interactive-and-automation-modes)
737</h3>4443. Замените `direct_prompt` на `prompt`
4454. Переместите параметры CLI, такие как `max_turns` и `model`, в `claude_args`. `custom_instructions` не имеет флага с тем же именем и становится `--append-system-prompt`
738 446
739Вы можете настроить поведение Claude двумя способами:447Для полного сопоставления входов и примеров до и после см. [руководство по миграции](https://github.com/anthropics/claude-code-action/blob/main/docs/migration-guide.md).
740 448
7411. **CLAUDE.md**: Определите стандарты кодирования, критерии проверки и правила, специфичные для проекта, в файле `CLAUDE.md` в корне вашего репозитория. Claude будет следовать этим рекомендациям при создании PR и ответе на запросы. Ознакомьтесь с нашей [документацией Memory](/ru/memory) для получения дополнительной информации.449<h2 id="what’s-next">
7422. **Пользовательские prompts**: Используйте параметр `prompt` в файле рабочего процесса для предоставления инструкций, специфичных для рабочего процесса. Это позволяет вам настроить поведение Claude для различных рабочих процессов или задач.450 Что дальше
451</h2>
743 452
744Claude будет следовать этим рекомендациям при создании PR и ответе на запросы.453* [Использование Claude Code GitHub Actions с облачными провайдерами](/docs/ru/github-actions-cloud-providers): маршрутизируйте вывод через Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry
454* [Справочник конфигурации](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs): полный список входов действия
455* [Каталог примеров](https://github.com/anthropics/claude-code-action/tree/main/examples): готовые к использованию рабочие процессы для дополнительных сценариев
456* [Code Review](/docs/ru/code-review): автоматическая проверка pull request без поддержания файла рабочего процесса