GitHub Integration Guide
Whilly предоставляет несколько способов интеграции с GitHub для автоматизации работы с Issues и Projects.
Быстрый старт
1. Настройка GitHub CLI
# Установка GitHub CLI (если не установлен)
# macOS: brew install gh
# Ubuntu: apt install gh
# Авторизация
gh auth login
2. Интерактивный режим
# Запуск Whilly
whilly
# В меню выберите:
# g) 🐙 GitHub интеграция
Интерактивный режим предоставляет следующие возможности:
- 📥 Импорт issues - создание плана задач из GitHub Issues
- 🔍 Просмотр issues - обзор issues с метками whilly
- 🏷️ Создание меток - автоматическое создание меток в репозитории
- 📊 GitHub Projects - интеграция с GitHub Projects (beta)
- ⚙️ Настройка интеграций - конфигурация автозакрытия и комментариев
Способы получения данных из GitHub
1. Через Issues с метками
# Прямая команда
whilly --source gh:owner/repo # метка whilly:ready (по умолчанию)
whilly --source gh:owner/repo:custom-label # кастомная метка
# Примеры
whilly --source gh:mshegolev/whilly-orchestrator
whilly --source gh:mycompany/myproject:ready-for-automation
2. Через GitHub Projects (экспериментальная функция)
# Синхронизация Todo items
whilly --sync-todo 'https://github.com/users/username/projects/4' --repo owner/repo
# Мониторинг проекта
whilly --watch-project 'https://github.com/users/username/projects/4' --repo owner/repo
3. Программно через Python API
from whilly.sources import fetch_github_issues
# Импорт issues в план
stats = fetch_github_issues(
"owner/repo",
label="whilly:ready",
out_path="my-tasks.json"
)
print(f"Импортировано {stats.new} новых задач")
Конфигурация интеграций
Whilly учитывает конфигурацию при работе с GitHub. Основные переменные окружения:
Общие настройки
export WHILLY_CLOSE_EXTERNAL_TASKS=1 # Включить внешние интеграции
export WHILLY_MAX_PARALLEL=3 # Параллельные задачи
export WHILLY_BUDGET_USD=10 # Лимит бюджета
export WHILLY_MODEL=claude-opus-4-6[1m] # Модель ИИ
GitHub-специфичные настройки
export WHILLY_GITHUB_AUTO_CLOSE=1 # Автозакрытие issues после выполнения
export WHILLY_GITHUB_ADD_COMMENTS=1 # Комментарии с результатами
Ресурсы и мониторинг
export WHILLY_RESOURCE_CHECK_ENABLED=1 # Мониторинг ресурсов системы
export WHILLY_MAX_CPU_PERCENT=80 # Максимальная загрузка CPU
export WHILLY_MAX_MEMORY_PERCENT=75 # Максимальное использование памяти
Подготовка GitHub Issues
Для оптимальной работы с Whilly создавайте issues с четкой структурой:
Пример issue
## Description
Добавить функцию логирования для модуля аутентификации
## Acceptance Criteria
- [ ] Добавлен logger в auth.py
- [ ] Логируются успешные входы
- [ ] Логируются неудачные попытки входа
- [ ] Настроен уровень логирования
## Test Steps
1. Запустить тесты аутентификации
2. Проверить создание лог-файлов
3. Валидировать формат логов
4. Проверить ротацию логов
## Dependencies
- Зависит от #42 (настройка конфигурации)
Обязательные метки
whilly:ready- задача готова к автоматизацииpriority:high,priority:medium,priority:low- приоритетtype:feature,type:bug,type:refactor- тип задачи
Workflow выполнения
- Подготовка: Issues создаются в GitHub с соответствующими метками
- Импорт: Whilly создает план задач из issues
- Выполнение: ИИ-агенты выполняют задачи параллельно
- Интеграция: По завершении:
- Issues закрываются автоматически (если включено)
- Добавляются комментарии с результатами (если включено)
- Создаются PR с изменениями
Мониторинг и отчеты
Whilly предоставляет детальную отчетность:
- Интерактивный dashboard с прогрессом выполнения
- JSON логи для автоматической обработки
- Markdown отчеты по результатам
- Интеграция с внешними системами (Jira, Slack, etc.)
Безопасность
- GitHub CLI использует собственную авторизацию
- Переменная
GITHUB_TOKENавтоматически исключается для избежания конфликтов - Поддерживается корпоративная настройка через
WHILLY_GH_BIN
Устранение неполадок
GitHub CLI не авторизован
gh auth status
gh auth login
Issues не импортируются
- Проверьте права доступа к репозиторию
- Убедитесь что issues имеют корректные метки
- Проверьте что issues открыты (не закрыты)
Интеграции не работают
- Установите
WHILLY_CLOSE_EXTERNAL_TASKS=1 - Проверьте права GitHub CLI на запись в репозиторий
- Проверьте логи выполнения в
whilly_logs/
Примеры использования
Простая автоматизация
# 1. Создать issues в GitHub с меткой whilly:ready
# 2. Запустить автоматизацию
whilly --source gh:myteam/myproject
# 3. Мониторить выполнение через dashboard
# 4. Проверить результаты в GitHub
Непрерывная интеграция
# В CI/CD pipeline
export WHILLY_HEADLESS=1
export WHILLY_BUDGET_USD=5
whilly --source gh:myteam/myproject --timeout 1800
Локальная разработка
# Интерактивный режим для разработчика
export WHILLY_MAX_PARALLEL=1
export WHILLY_BUDGET_USD=2
whilly # выбрать "g" для GitHub интеграции