Time in Status

Rovo Skills у TIS

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