Загрузка данных


Ты работаешь в реальном репозитории:

/Users/23865613/IdeaProjects/untitled/project-manager-tools

Рядом уже склонирован репозиторий-пример:

/Users/23865613/IdeaProjects/untitled/ai_market/mcp/sbertrack-mcp

Контекст задачи:
Мы добавляем поддержку SberTrack в project-manager-tools для создания релизных объектов через REST API SberTrack.

У нас уже пробовали endpoint:

POST https://api.sbertrack.sberbank.ru/rest/api/unit/v2/release/create

Текущий тестовый space:
TST123456

Текущий пользователь/техучётка:
cab-sa-dvo11195

Текущая проблема:
При реальном POST получаем:

HTTP 403 Forbidden
errorType: SWTR_ACCESS_DENIED_ERROR
uiErrorMessage: "Доступ запрещен. Проверьте наличие необходимых прав"

Важно:
Поддержка SberTrack сказала, что для релизных объектов нужно пространство типа Change.
Сейчас создано пространство TST123456 типа Change.
В UI SberTrack у техучётки уже проверялись роли/привилегии, но POST всё ещё возвращает 403.
Нужно понять, совпадает ли наша реализация с реализацией в sbertrack-mcp.

Задача:
Проанализируй репозиторий sbertrack-mcp и сравни с текущей реализацией в project-manager-tools.

Что нужно сделать:

1. В репозитории sbertrack-mcp найди реализацию работы с релизами:
   - endpoint для создания релиза;
   - модель/payload для создания релиза;
   - обязательные поля;
   - как формируется base URL;
   - как формируется Basic Auth;
   - какие headers используются;
   - есть ли отдельные scopes/permissions для releases.

2. Найди в sbertrack-mcp все места, связанные с:
   - release;
   - release/create;
   - /rest/api/unit/v2/release/create;
   - SBERTRACK_LOGIN;
   - SBERTRACK_PASSWORD;
   - SBERTRACK_URL;
   - Basic Auth;
   - Authorization;
   - requests/httpx/aiohttp/client.

3. В project-manager-tools проверь текущую реализацию:
   - src/sbertrack_api.py или похожий файл;
   - src/main.py;
   - .env и .env.example;
   - action sbertrack_test_create_release_rest;
   - endpoint /rest/api/unit/v2/release/create;
   - payload;
   - write_enabled;
   - чтобы старые Jira-like endpoint и old action sbertrack_test_create_release не были затронуты.

4. Если в sbertrack-mcp есть отличия от нашей реализации, аккуратно поправь project-manager-tools так, чтобы тестовый action использовал такой же подход, как sbertrack-mcp.

5. Не делай git push.

6. Не выводи логин, пароль, токены и полный .env.

7. Не запускай plan_releases.

8. Не используй Jira-like endpoint:
   /extension/plugin/v2/rest/api/jira/rest/api/2/issue

9. Не трогай старый action:
   sbertrack_test_create_release

10. Работай только с отдельным action:
   sbertrack_test_create_release_rest

11. Сначала сделай dry-run при:
   sbertrack_write_enabled=false

12. В dry-run выведи:
   - endpoint;
   - sanitized payload;
   - space;
   - write_enabled=false;
   - подтверждение, что POST не отправлен;
   - подтверждение, что Jira-like endpoint не использовался;
   - подтверждение, что plan_releases не запускался.

13. После dry-run НЕ выполняй реальный POST без моего отдельного подтверждения.

Ожидаемый минимальный payload для релиза:

{
  "summary": "TEST project-manager-tools SberTrack release REST integration",
  "description": "Test release created by project-manager-tools SberTrack REST integration. Safe to delete.",
  "space": "TST123456",
  "attributes": {
    "release_kind": "planned",
    "priority": "low",
    "uat_ground": "hotfix"
  }
}

Ожидаемый endpoint:

POST https://api.sbertrack.sberbank.ru/rest/api/unit/v2/release/create

Ожидаемый результат:
1. Кратко покажи, что найдено в sbertrack-mcp.
2. Покажи, совпадает ли наша реализация с MCP.
3. Если есть отличия — внеси минимальные изменения.
4. Запусти только dry-run.
5. В конце дай одну команду для реального POST, но не запускай её сам.
6. Напиши короткий вывод: проблема в коде или, скорее всего, в правах пользователя cab-sa-dvo11195 в пространстве TST123456.