✻ Claude Code по-русски
🎧 Аудиокурс
🎧 Озвучка этой страницы готовится.

#GitHub Actions

Продвинутый уровень · Урок 5 из 7 · около 20 минут плюс время запуска · Нужно: Скрипты с claude -p · Сверено с Claude Code v2.1.285 (stable) 09.10.2026

#Цель

К концу урока вы сможете запускать Claude Code без присмотра в workflow GitHub Actions, который берёт учётные данные из секрета репозитория и останавливается в пределах лимитов, прописанных в файле.

#Что понадобится

gh repo create claude-actions-practice --template wesammustafa/claude-code-practice --private --clone
cd claude-actions-practice

--template создаёт новый репозиторий на основе шаблона, а --clone клонирует его (gh repo create). Проверка запускается в этой копии, с Node.js LTS, без --dir. В конце вы уберёте из неё workflow, секрет и доступ приложения. - Учётные данные. Рекомендуется API-ключ Claude Console, созданный для этого урока, потому что при разборке он удаляется. На плане Pro, Max, Team или Enterprise (Manual setup) можно вместо этого дать быстрой настройке создать токен подписки (Quick setup). Если Claude Code на вашей машине уже использует API-ключ, быстрая настройка возьмёт его, и при разборке вы удалили бы ключ, которым пользуется ваш собственный Claude Code; шаг 3 разбора примера показывает, как подставить ключ для урока. - Расход лимита: небольшой. Каждый запуск короткий и к тому же расходует минуты GitHub Actions (см. «Осторожно»).

#Идея

Claude Code GitHub Action — anthropics/claude-code-action (Anthropic) — запускает Claude Code как шаг workflow. Без входного параметра prompt он ждёт упоминания @claude в issue или пул-реквесте и отвечает комментарием; с prompt он запускается, не дожидаясь упоминания (Interactive and automation modes), а его параметр display_report выводит отчёт Claude на страницу сводки запуска (action.yml at v1.0.237).

Workflow ссылается на секрет репозитория, в котором лежат учётные данные (Manual setup).

За клавиатурой никого нет, поэтому лимиты прописываются в файле. claude_args передаёт CLI-флаги Claude Code, например --max-turns и --allowedTools (Pass CLI arguments), а если промпт записан текстом, а не скиллом, у Claude нет оболочки, пока вы не разрешите нужные ему команды (Run on a schedule). permissions и timeout-minutes задания ограничивают его токен GitHub и время работы (Workflow syntax).

#Разбор примера

Подключите копию через быструю настройку, затем задайте Claude вопрос в issue.

  1. В копии запустите claude, выполните /install-github-app и следуйте подсказкам для этого репозитория: Claude Code установит GitHub-приложение Claude (Quick setup). Когда GitHub спросит, к каким репозиториям у приложения будет доступ, выберите Only select repositories и отметьте только эту копию (Installing a GitHub App). Если приложение уже установлено в вашем аккаунте, добавьте эту копию в его разделе Repository access (Modifying repository access).
  2. Затем Claude Code спросит, продолжать ли настройку GitHub Actions. Продолжите и выберите только workflow для @claude, claude.yml, без workflow ревью. В качестве учётных данных вставьте ключ для урока или создайте токен подписки, если только Claude Code не берёт собственный API-ключ (см. «Что понадобится»). Claude Code сохранит учётные данные как секрет ANTHROPIC_API_KEY или CLAUDE_CODE_OAUTH_TOKEN, запушит ветку с выбранным workflow и откроет GitHub в браузере с готовым к созданию пул-реквестом (Quick setup).
  3. Создайте и слейте этот пул-реквест, затем обновите клон и выведите список секретов:
git pull
gh secret list

В списке будет ANTHROPIC_API_KEY или CLAUDE_CODE_OAUTH_TOKEN (gh secret list). Слитый .github/workflows/claude.yml уже настроен на этот секрет, и @claude теперь работает в репозитории (Quick setup). Если быстрая настройка взяла API-ключ вашего собственного Claude Code, подставьте сейчас ключ для урока: gh secret set ANTHROPIC_API_KEY попросит его вставить (gh secret set). 4. Откройте issue с упоминанием @claude. В интерактивном режиме Claude отвечает на @claude в теле или заголовке только что открытого issue (Interactive and automation modes):

gh issue create --title "What does links.js do?" --body "@claude In one paragraph, what does src/links.js do? Don't change any files."

gh issue create выводит URL нового issue (gh issue create). gh run list --limit 3 покажет запущенный им прогон (gh run list). Когда он завершится, gh issue view <issue-url> --comments покажет ответ Claude в комментарии (gh issue view). Формулировки у вас будут другими, но ответ должен описывать, как src/links.js находит ссылки в Markdown.

#Ваша очередь

Задание: добавьте .github/workflows/linkcheck-report.yml — workflow, запускаемый вручную, в котором Claude запускает проверку ссылок из шаблона на samples/ и объясняет каждую битую ссылку на странице сводки запуска, не меняя никаких файлов. Отправная точка — пример Run on a schedule из документации. Он задаёт модель через --model: выберите её, как в уроке 3 Среднего уровня, или уберите эту строку, чтобы использовать модель Claude Code по умолчанию (Pass CLI arguments).

Критерии приёмки:

Затем запустите его, сохраните запись о запуске и разберите всё:

  1. Закоммитьте workflow и запушьте в main. Ручной запуск возможен, только когда файл workflow лежит в ветке по умолчанию (workflow_dispatch).
  2. Запустите его, найдите его id, проследите до конца и откройте в браузере (gh workflow run, gh run watch, gh run view):
gh workflow run linkcheck-report.yml
gh run list --workflow linkcheck-report.yml --limit 1
gh run watch <run-id> --exit-status
gh run view <run-id> --web

На странице сводки запуска — отчёт Claude с объяснением каждой битой ссылки. Формулировки у вас будут другими. 3. Сохраните запись о запуске для проверки с полями, которые она читает (gh run list):

mkdir -p .practice
gh run list --workflow linkcheck-report.yml --json databaseId,status,conclusion,event,headSha,url,workflowName > .practice/a-5-runs.json
  1. Выполните npm run check -- a-5 (раздел «Проверка» ниже). Когда она пройдёт, разберите всё: это обязательно. Не разбирайте заранее: чтобы исправить неудачный запуск, нужен секрет, а разборка его удаляет.

Внимание

Удаление секрета не делает недействительными учётные данные, которые в нём хранились (Uninstall). Секрет CLAUDE_CODE_OAUTH_TOKEN содержит OAuth-токен того же вида, что генерирует claude setup-token (Action parameters). На 09.10.2026 токен из claude setup-token действует один год (Authentication), и удаление секрета его не отзывает.

  1. Удалите оба workflow, затем закоммитьте и запушьте:
git rm .github/workflows/claude.yml .github/workflows/linkcheck-report.yml
git commit -m "Remove the Claude workflows"
git push
  1. Удалите секрет: gh secret delete ANTHROPIC_API_KEY или gh secret delete CLAUDE_CODE_OAUTH_TOKEN (gh secret delete).
  2. Если использовался API-ключ, удалите ключ, хранившийся в секрете, на странице API-ключей Claude Console. Если этим ключом пользуется ваш собственный Claude Code, после этого ему на вашей машине понадобится новый ключ.
  3. На GitHub откройте Settings > Applications > Installed GitHub Apps и нажмите Configure рядом с Claude. Затем либо уберите эту копию в разделе Repository access и нажмите Save, либо, если эта копия — единственный репозиторий, к которому у приложения есть доступ, и больше ничего вашего его не использует, нажмите Uninstall (Modifying repository access, Blocking access).

#Проверка

Урок пройден, когда выполнено всё это:

Запустите npm run check -- a-5 в этой копии.

Если первый пункт не проходит из-за строки uses:, закрепите тег релиза, например @v1.0.237, или полный SHA коммита этого релиза. Если не проходит второй пункт, его подсказка называет лимит, который нужно добавить или исправить. Если сохранённый запуск завершился неудачей, gh run view <run-id> --log-failed покажет почему — например имя секрета не совпадает с workflow или достигнут лимит ходов, что завершается ошибкой (CLI reference); запушьте исправление, снова запустите workflow и снова сохраните запись.

Проверка читает workflow из истории, поэтому проходит и после разборки. Как только она пройдёт, разберите всё, как описано в шагах 5–8 задания.

#Осторожно

Перечень сверен с критериями включения 09.10.2026.

#Что дальше


Источники: Claude Code GitHub Actions · Authentication · CLI reference · Configure permissions · claude-code-action v1.0.237: action.yml, run.ts, parse-sdk-options.ts, run-claude-sdk.ts, security и его теги · GitHub: Installing a GitHub App from a third party, Permission levels for a personal account repository, Events that trigger workflows, Workflow syntax, Workflow commands, Secure use reference, Using workflow run logs, Reviewing and modifying installed GitHub Apps, GitHub Actions billing · Руководство GitHub CLI: gh repo create, gh issue create, gh issue view, gh secret list, gh secret set, gh workflow run, gh run list, gh run watch, gh run view, gh secret delete

← Скрипты с claude -p · Оглавление Продвинутого уровня · Поделитесь настройкой с командой → · Тема: Автоматизация · Застряли на уроке?