Rovo Skills у TIS
Огляд
Time in Status інтегрується з Atlassian Rovo через 2 агенти та 4 actions в Forge manifest. Всі actions виконуються з правами поточного користувача, валідуються через Joi schemas та логуються через rovoLogger.
Rovo Actions (Skills)
1. Calculate Flagged Status Time (calc-flagged-tis)
Файл: apps/forge/src/rovo-actions/calculateFlaggedStatusTime.ts
Призначення: Розраховує час, коли робочі елементи були в кожному статусі під час блокування (flagged). Повертає сумарний час, кількість елементів, діапазон дат та розбивку по статусах.
Параметри:
-
jql,filterIdабоfilterName(область дії) -
from,to(дати ISO) -
timezone(IANA, default UTC) -
excludedStatuses,targetStatuses -
maxResults
Де використовується: FlagFocus агент (основна дія). Викликається на запит користувача про заблоковані елементи.
2. Get Time in Status by Issue (get-tis-by-issue)
Файл: apps/forge/src/rovo-actions/getTimeInStatusByIssue.ts
Призначення: Повертає дані про час у статусах для одного елемента. Читає значення кастомних полів TIS або розраховує з changelog.
Параметри:
-
issueKeyабоissueId(обов'язково) -
calculate(boolean) -
workScheduleId(optional) -
timezone
Де використовується: FlagFocus агент (деталізація по одному елементу).
3. Analyze item time in status (get-tis-by-issue-keys)
Файл: apps/forge/src/rovo-actions/getTimeInStatusByIssueKeys.ts
Призначення: Батч-версія для кількох елементів. Приймає список ключів (до 40), дедублікує та розраховує для кожного.
Параметри:
-
issueKeys(рядок, макс 40) -
calculate(default true) -
timezone -
workScheduleId -
maxIssues(1–40)
Де використовується: Sprint report insights агент (деталізація по обраних елементах).
4. Get Sprint Report Metrics (get-sprint-metrics)
Файл: apps/forge/src/rovo-actions/getSprintReportMetrics.ts
Призначення: Розраховує повний набір метрик спринту порівняно з попередніми. Повертає velocity, scope change, completion rate, bugs, flagged items, розпис по assignee й issue-type.
Параметри:
-
boardId(обов'язково) -
sprintId(обов'язково) -
estimation(issueCount, storyPoints, originalTime) -
previousSprintCount(0–7, default 3) -
timezone
Де використовується: Sprint report insights агент (основна дія). Викликається автоматично при наявності board/sprint ID.
Rovo Agents
A. FlagFocus (time-in-status-agent)
Розташування: Manifest config; Prompt: apps/forge/rovo/flaggedAgent/prompt.txt
Призначення: Аналізує заблоковані (flagged) робочі елементи. Презентує результати у двох таблицях:
-
Сумарна інформація (загальний час блокування, елементи, фільтр)
-
Розбивка по статусах з відсотками
Доступні skills:
-
calc-flagged-tis
-
get-tis-by-issue
Де запускається: Rovo Chat (агент picker)
Conversation starters:
-
"Tell me about yourself"
-
"Count flagged work items for the last 30 days"
-
"What's the flagged time for today?"
B. Sprint report insights (tis-sprint-report-agent)
Розташування: Manifest config; Prompt: apps/forge/rovo/sprintReportAgent/prompt.txt
Призначення: Перетворює звіт спринту на структурований Sprint Retrospective Brief:
-
Key metrics (velocity, scope change, completion rate, bugs)
-
"What went well"
-
"What needs attention"
-
Recommendations for next sprint
Доступні skills:
-
get-sprint-metrics
-
get-tis-by-issue-keys
Де запускається:
-
Sprint Performance Report (Button: AnalyzeSprintReportWithRovoButton)
-
Також доступний із Rovo Chat
Frontend Integration
-
useRovoEnabled — React hook, перевіряє доступність Rovo на тенанті
-
Використовується в Sprint Report для включення/вимкнення кнопки
-
Розташування:
shared/platform-bridge/src/useRovoEnabled.ts
-
-
useRovoEnabledTracker — логує доступність Rovo в analytics (1 раз на 24 години)
-
Розташування:
apps/global-page/src/apps/MainPage/hooks/useRovoEnabledTracker.ts
-
Security
✅ User Permissions: Всі actions виконуються з правами того користувача, який викликав дію (getPlatformApiWithUserPermission)
✅ Input Validation: Всі параметри валідуються через Joi schemas
✅ Error Handling: Помилки логуються через rovoLogger, користувачу повертаються тільки сантизовані повідомлення (createRovoActionError)
✅ Scope: Manifest декларує read:chat:rovo scope та rovoPrompts resource для файлів агентів
Not Active (Disabled)
-
Confluence page test action set (
apps/forge/src/rovo-actions/confluencePageTest/) -
Grid Agent prompt (
apps/forge/rovo/gridAgent/) -
Confluence page test agent prompt
Ці компоненти не зареєстровані в manifest і можуть бути увімкнені локально через CONFLUENCE_PAGE_ENABLED=true