Практическое руководство по использованию GitHub Projects как системы управления задачами при работе с AI-агентами — от канбан-доски до полной автоматизации через GitHub Actions и Agentic Workflows.
Что такое GitHub Projects
GitHub Projects (V2) — встроенная система управления задачами внутри GitHub. Это не отдельный продукт, а часть экосистемы: issues, pull requests и projects живут в одном месте.
Ключевое отличие от Linear, Jira и Notion-баз: GitHub Projects нативно связан с кодовой базой. Issue → branch → PR → merge — весь цикл виден в одном интерфейсе. Для агентов, которые работают с кодом, это критически важно.
Зачем агентам нужен трекер задач
Агент без трекера — как разработчик без тасклиста: делает что-то, но непонятно что, в каком порядке и с каким результатом.
| Проблема без трекера | Решение через GitHub Projects |
| Агент забывает контекст между сессиями | Issue хранит описание, acceptance criteria и историю обсуждения |
| Непонятно, что агент уже сделал | Канбан-доска показывает статус каждой задачи |
| Нет приоритизации — агент хватается за всё подряд | Custom fields: приоритет, сложность, спринт |
| Человек не видит прогресс | Автоматические переходы статусов при PR и merge |
| Нет связи между задачей и кодом | Issue → branch → PR → merge — полная трассируемость |
Основные возможности
Views (представления)
- Table — табличный вид с кастомными колонками, фильтрами и сортировкой
- Board — канбан-доска с drag-and-drop по статусам
- Roadmap — таймлайн с датами начала и окончания
- Hierarchy (GA с марта 2026) — вложенность sub-issues до 8 уровней прямо в таблице. Группировка, фильтрация и сортировка сохраняют иерархию
Можно создать несколько views для разных целей: «Все задачи агента», «Текущий спринт», «Блокеры».
Custom fields (пользовательские поля)
| Поле | Тип | Зачем нужно |
| Priority | Single select | P0 / P1 / P2 — агент берёт задачи по приоритету |
| Assignee type | Single select | Human / Agent / Copilot — кто выполняет |
| Complexity | Single select | Small / Medium / Large — оценка объёма для агента |
| Sprint | Iteration | Группировка задач по итерациям |
| Status | Single select | Backlog → Todo → In Progress → In Review → Done |
Issue Fields (март 2026, public preview)
Structured issue metadata — структурированные поля прямо на уровне issue (а не только на уровне проекта). Позволяют задавать типизированные данные без привязки к конкретному Project board.
Встроенная автоматизация
GitHub Projects умеет автоматически:
- Добавлять новые issues в проект
- Менять статус при открытии/закрытии PR
- Перемещать задачу в «Done» при merge
- Архивировать завершённые задачи
Архитектура: агент + GitHub Projects
Общая схема взаимодействия агента с GitHub Projects:
flowchart LR
A["Человек"] -->|"Создаёт issue"| B["GitHub Projects"]
B -->|"Issue назначен агенту"| C["AI-агент"]
C -->|"Создаёт branch"| D["GitHub Repo"]
C -->|"Открывает PR"| D
D -->|"PR merged"| B
B -->|"Статус → Done"| A
C -->|"Комментирует прогресс"| BРоли:
- Человек — создаёт задачи, ставит приоритеты, ревьюит PR, принимает результат
- GitHub Projects — единый источник правды о статусах и приоритетах
- AI-агент — берёт задачи, создаёт ветки, пишет код, открывает PR
- GitHub Actions — автоматизирует переходы статусов и триггерит агентов
Настройка проекта под агентов
Шаг 1. Создайте проект
- Перейдите в профиль организации или пользователя на GitHub
- Вкладка Projects → New project
- Выберите шаблон Board (канбан) или Table
- Назовите проект, например:
Agent Tasks — [Название репозитория]
Шаг 2. Настройте статусы
Рекомендуемый набор статусов для работы с агентами:
- Backlog — задачи на будущее
- Todo — готовы к выполнению
- Assigned to Agent — назначены агенту, ждут выполнения
- In Progress — агент работает
- In Review — PR открыт, ждёт ревью человека
- Done — задача завершена и merged
Шаг 3. Добавьте custom fields
Минимально необходимые: Priority и Assignee type.
Шаг 4. Создайте views
- Agent Board — Board view, фильтр:
Assignee type = Agent, группировка по Status - Human Review — Table view, фильтр:
Status = In Review - All Tasks — Table view без фильтров, сортировка по Priority
- Hierarchy — Table view с включённым Show hierarchy для отслеживания декомпозиции
Шаг 5. Подключите репозитории
В настройках проекта добавьте репозитории, из которых issues автоматически попадают в проект.
Автоматизация через встроенные workflows
GitHub Projects имеет встроенные автоматизации (Settings → Workflows):
| Workflow | Триггер | Действие |
| Item added to project | Новый issue/PR добавлен | Установить Status → Backlog |
| Item reopened | Issue/PR переоткрыт | Установить Status → Todo |
| Pull request merged | PR замерджен | Установить Status → Done |
| Item closed | Issue/PR закрыт | Установить Status → Done |
| Auto-archive items | Status = Done (после N дней) | Архивировать элемент |
Автоматизация через GitHub Actions
Для продвинутых сценариев используйте GitHub Actions с GitHub Projects API (GraphQL).
Пример: автоназначение issue агенту
Когда issue получает лейбл agent-task, Actions автоматически назначает его Copilot:
name: Assign to Agent
on:
issues:
types: [labeled]
jobs:
assign-agent:
if: github.event.label.name == 'agent-task'
runs-on: ubuntu-latest
steps:
- name: Assign issue to Copilot
uses: actions/github-script@v7
with:
script: |
await github.rest.issues.addAssignees({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
assignees: ['copilot']
});Пример: уведомление в Slack при открытии PR агентом
name: Notify Agent PR
on:
pull_request:
types: [opened]
jobs:
notify:
if: github.event.pull_request.user.login == 'copilot[bot]'
runs-on: ubuntu-latest
steps:
- name: Send Slack notification
uses: slackapi/slack-github-action@v2
with:
webhook: $ secrets.SLACK_WEBHOOK
payload: |
{
"text": "🤖 Copilot открыл PR: $ github.event.pull_request.title "
}project scope. Стандартный GITHUB_TOKEN не имеет доступа к Projects — используйте Personal Access Token (classic) или GitHub App.GitHub Agentic Workflows
В феврале 2026 GitHub запустил Agentic Workflows (technical preview) — возможность запускать AI-агентов прямо из GitHub Actions. Разработано GitHub Next и Microsoft Research.
Суть
Вы описываете задачу на естественном языке в Markdown-файле, а GitHub Actions запускает агента в sandboxed-среде. Поддерживаются Copilot, Claude (Anthropic) и OpenAI Codex как AI-движки.
Ключевые принципы
- Markdown вместо YAML — автоматизация описывается на естественном языке, не в коде
- Read-only по умолчанию — запись требует явного разрешения через safe outputs
- Sandboxed execution — изолированная среда, allowlisting инструментов, сетевая изоляция
- Continuous AI — дополнение к CI/CD, а не замена. Agentic Workflows берут на себя субъективные, повторяющиеся задачи, которые сложно выразить в YAML
Пример: ежедневный отчёт по issues
---
on:
schedule: daily
permissions:
contents: read
issues: read
pull-requests: read
safe-outputs:
create-issue:
title-prefix: "[team-status] "
labels: [report, daily-status]
close-older-issues: true
---
## Daily Issues Report
Create an upbeat daily status report for the team as a GitHub issue.
## What to include
- Recent repository activity (issues, PRs, discussions, releases)
- Progress tracking and highlights
- Actionable next steps for maintainersCLI-утилита gh aw генерирует lock-файл (.lock.yml), который запускает AI-агента в контейнеризированной среде по расписанию или вручную.
Что можно автоматизировать
- Триаж issues — классификация, лейблы, назначение приоритетов
- Continuous Documentation — поддержание документации в актуальном состоянии
- Quality & Testing — диагностика CI-падений, улучшение тестов
- Метрики и аналитика — ежедневные отчёты, анализ трендов
- Code improvement — рефакторинг, упрощение, стилевые правки
- Multi-repo — синхронизация фич и кросс-репозиторный трекинг
Copilot coding agent + Projects
GitHub Copilot coding agent — встроенный агент, который выполняет задачи прямо из issues.
Как работает
- Создайте issue с чётким описанием задачи и acceptance criteria
- Назначьте issue на Copilot (через assignees)
- Copilot создаёт branch, пишет код, запускает тесты
- Copilot открывает PR со ссылкой на issue
- Вы ревьюите и мерджите
Актуальное состояние (март 2026)
| Обновление | Что изменилось |
| Старт на 50% быстрее | Оптимизированы время создания среды и первый push. Быстрее feedback-loop при итерациях через @copilot |
| Трассировка коммитов | Каждый коммит агента можно проследить до session logs — полная прозрачность работы |
| Semantic code search | Copilot использует семантический поиск по кодовой базе — точнее понимает контекст |
| Настройка validation tools | Можно указать, какие инструменты валидации использовать (линтеры, тесты, type checkers) |
| Мониторинг в Raycast | Отслеживание логов агента в реальном времени через Raycast |
| GPT-5.3-Codex LTS | Стабильная модель с долгосрочной поддержкой для coding agent |
Требования
- План Copilot Pro, Pro+, Business или Enterprise
- Включённый Copilot coding agent в настройках репозитория
- Issue с понятным описанием (агент буквально читает текст issue)
Что писать в issue для агента
Хорошее issue для агента:
Title: Add rate limiting middleware to /api/users endpoint
## Context
The /api/users endpoint currently has no rate limiting.
We're getting occasional abuse from automated scrapers.
## Requirements
- Add rate limiting: 100 requests per minute per IP
- Use express-rate-limit package
- Return 429 status with JSON error body
- Add tests for rate limiting behavior
## Files to modify
- src/middleware/rateLimiter.ts (create)
- src/routes/users.ts (add middleware)
- tests/middleware/rateLimiter.test.ts (create)Плохое issue:
Title: Fix the API
It's slow and broken sometimes. Please fix.Интеграция с внешними агентами
Если вы используете агентов за пределами GitHub (Claude Code, Codex CLI, OpenClaw), GitHub Projects служит единым источником правды о задачах.
Паттерн: агент читает issue → работает → отчитывается
flowchart TD
A["GitHub Projects"] -->|"API: list issues<br>filter: status=Todo"| B["Внешний агент"]
B -->|"git checkout -b feature/..."| C["Локальный репозиторий"]
B -->|"Пишет код"| C
C -->|"git push + gh pr create"| D["GitHub"]
D -->|"PR linked to issue"| A
B -->|"Комментарий в issue"| AИнструменты для интеграции
| Инструмент | Что делает | Пример |
GitHub CLI (gh) | Работа с issues, PR, projects из терминала | gh issue list --label agent-task |
| GitHub REST API | CRUD для issues и PR | POST /repos/{owner}/{repo}/issues |
| GitHub GraphQL API | Работа с Projects V2 (статусы, поля) | Mutation updateProjectV2ItemFieldValue |
gh aw CLI | Создание и запуск Agentic Workflows | gh aw run my-workflow |
| Taskmaster AI | AI-менеджер задач для Cursor, Claude Code | Парсит PRD → создаёт задачи → контролирует выполнение |
Пример: скрипт для агента — взять следующую задачу
#!/bin/bash
# Получить первый issue с лейблом agent-task и статусом open
ISSUE=$(gh issue list --label "agent-task" --state open --limit 1 --json number,title -q '.[0]')
ISSUE_NUM=$(echo $ISSUE | jq -r '.number')
ISSUE_TITLE=$(echo $ISSUE | jq -r '.title')
# Создать ветку
BRANCH="agent/issue-${ISSUE_NUM}"
git checkout -b $BRANCH
# Добавить комментарий — агент взял задачу
gh issue comment $ISSUE_NUM --body "🤖 Агент начал работу над задачей."
echo "Working on: #${ISSUE_NUM} — ${ISSUE_TITLE}"Copilot в IDE: агентные возможности
Начиная с марта 2026 GitHub Copilot в JetBrains IDE получил полноценные агентные возможности (GA):
- Custom agents — создание собственных агентов внутри IDE
- Sub-agents — декомпозиция задач между несколькими агентами
- Plan agent — агент планирования перед выполнением
- Agent hooks (preview) — триггеры на события жизненного цикла агента
- Auto-approve для MCP — автоматическое одобрение запросов к MCP-серверам
- Agent instruction files —
.github/copilot-instructions.mdдля кастомизации поведения
Это дополняет цикл: задачи управляются через Projects, а выполняются через Copilot в IDE с агентными возможностями.
Типичные ошибки
- ❌ Issue без acceptance criteria — агент не знает, когда задача «готова», и либо делает слишком мало, либо уходит в бесконечный цикл доработок
- ❌ Нет human-in-the-loop — агент мерджит свои PR автоматически без ревью. Даже Copilot coding agent требует approve от человека
- ❌ Слишком крупные задачи — issue на «переписать весь бэкенд» не работает. Разбивайте на атомарные задачи: 1 issue = 1 PR = 1 изменение
- ❌ Нет связи issue → PR — если PR не ссылается на issue (
Closes #123), автоматизация статусов не работает - ❌ Секреты в issue — не пишите API-ключи и пароли в описании задач. Агент может процитировать их в комментарии или коммите
- ❌ Projects Classic вместо V2 — Classic-проекты не поддерживают custom fields, автоматизацию и GraphQL API
- ❌ Agentic Workflows для CI/CD — они дополняют, а не заменяют детерминированные YAML-пайплайны. Используйте для субъективных задач (триаж, документация, отчёты)
Ссылки
| Ресурс | Ссылка |
| Документация GitHub Projects | docs.github.com — Projects |
| Автоматизация через Actions | docs.github.com — Automating Projects |
| Copilot coding agent | docs.github.com — About coding agent |
| GitHub Agentic Workflows | github.github.com/gh-aw |
| Agentic Workflows (блог) | github.blog — Agentic Workflows |
| Hierarchy View (changelog) | github.blog — Hierarchy view GA |
| GitHub CLI | cli.github.com |
| Projects GraphQL API | docs.github.com — Projects API |
| Taskmaster AI | github.com/eyaltoledano/claude-task-master |
По теме
- Статья: Как я собрал команду из трёх ИИ-агентов и автоматизировал разработку через Notion
- Статья: 12 приёмов, которые превращают ИИ-агента из игрушки в рабочий инструмент
- Блог: Пять правил, которые сделают вашего ИИ-агента по-настоящему полезным
- База знаний: OpenAI Codex — облачный coding-агент для параллельной разработки
Если вы хотите выстроить процесс управления задачами для AI-агентов в своём репозитории — давайте обсудим.