Jira workflow: annual-report epic, finding issues and the “RoI Record” issue panel

Jira workflow: annual-report epic, finding issues and the “RoI Record” issue panel

Outcome: you use Jira for the process around the register: an epic for the annual report (manual or automatic ahead of the deadline), validation findings as issues, and the “RoI Record” issue panel that links issues to register records.

What lives where?

WhatWhere it livesRemark
Register data (15 templates)In the app (own, isolated database per installation on Atlassian infrastructure)Never as Jira issues – Jira only represents processes.
Annual-report epicJira issue in the configured projectUmbrella for data collection, review, validation, export, upload.
Validation findingJira issue (issue type “task/finding”)On click in the validation center; back-reference to the record.
Back-reference issue → recordIssue property dora-roi-ref on the Jira issueDisplayed by the “RoI Record” issue panel.

Prerequisites

  • In Settings: Project key for workflow issues plus the issue types Issue type "annual report" (default Epic) and Issue type "task/finding" (default Task) – see Getting started: open the app, configure it and load demo data.
  • The issue types must exist in the project and the app must be allowed to create issues there (it acts under its own app identity, not under your user). For “HTTP 400/403/404” errors ask your Jira administrator.
  • For the issue panel: Jira’s new issue view (the panel does not work in the old view).

A. Create the annual-report epic manually

  1. Click Settings.
  2. Click Create annual-report epic now (next to Save).
  3. Expected result: green badge “Epic ‹KEY› created” with the Jira key of the new epic. Without a project key the red message “No Jira project configured (Settings → project key).” appears instead.

Content of the epic

ElementContent
Issue typeIssue type "annual report" (settings)
SummaryDORA annual report ‹year› — Register of Information (with German UI: DORA-Jahresmeldung ‹Jahr› — Informationsregister)
YearManual creation: the previous calendar year (e.g. 2025 when you click in 2026). Automatic creation: the year of the submission deadline minus 1.
DescriptionThree paragraphs: umbrella issue for the annual report (reference date 31 Dec ‹year›); process data collection → review → validation → export (xBRL-CSV) → upload via the BaFin MVP portal; note that the app created the issue.
Labelsdora-roi, reporting-year-‹year›
LanguageThe UI language active at the time of the click; automatically created epics are always in English.

B. Automatic epic ahead of the deadline

Once a day the app checks whether an annual-report epic must be created (hint in the settings: “The daily trigger then creates the annual-report epic automatically.”). It is created when all conditions are met:

  • Project key for workflow issues and Submission deadline (BaFin) are saved.
  • The deadline is today or in the future and at most Reminder (days before deadline) days away (default 30).
  • No epic has been created automatically for this deadline yet (the app remembers this per deadline date; changing the date can produce another epic).
  • The app’s daily run takes place (triggered by the platform once a day; the exact time cannot be configured).

C. Turn a validation finding into a Jira issue

  1. Run validation in the Validation center (Validation and data quality: consistency checks, EBA rules, GLEIF LEI check).
  2. In the row of the finding click Jira issue.
  3. Expected result: the button is replaced by a blue badge with the Jira key (e.g. DORA-12). Without a project key a red message appears (Figure 1).
  4. Open the issue in Jira; in the “RoI Record” issue panel the affected record is already linked (provided the finding concerns a concrete record – not for V-006, for example).
Figure 1: Clicking “Jira issue” without a configured project key.

Content of the finding issue

ElementContent
Issue typeIssue type "task/finding" (settings)
Summary[RoI B_xx.xx] ‹finding message› (message truncated to 180 characters)
DescriptionValidation rule (e.g. V-010, Error/Warning), template and column, record (key values), message, note “After fixing, re-run the validation in the RoI cockpit.”
Labelsdora-roi, validation-finding (with German UI validierungsfehler), rule id in lower case (e.g. v-010)
Back-referenceIssue property dora-roi-ref with template and record (only if the finding concerns a record).

D. “RoI Record” issue panel

Open the panel

  1. Open a Jira issue in the new issue view.
  2. Click the app’s button (app icon in the issue view; the panel title RoI Record also appears in the issue’s ••• menu). The RoI Record panel appears above the Activity section. Jira administrators can show or hide the panel for all issues via its menu.
  1. If no record is linked yet, the panel shows Link RoI record with two dropdowns (Figure 2).
  2. In the first list choose the template: Contractual arrangements — general information (B_02.01), ICT third-party service providers (B_05.01) or Business functions (B_06.01) – other templates cannot be linked.
  3. In the second list (“– select record –”) choose the record; entries have the form key — name (for contracts the contract reference appears twice).
  4. Click Link (“Linking…” while linking).
  5. Expected result: the panel shows the template name with code and below it all fields of the record with their values (dropdown fields as plain text, Yes/No, empty fields as “–”; Figure 3).
Figure 2: Panel content before linking (panel content only, without the Jira issue view).
Figure 3: Panel content after linking a contract (B_02.01).

Notes

  • An existing link can not be changed or removed in the panel. A Jira administrator can remove the issue property dora-roi-ref; afterwards the link form appears again.
  • If the linked record was deleted, the panel shows “Linked record "…" was not found (possibly deleted).”.
  • The panel only displays; editing happens in the app. There is no link from the panel into the app.
  • Language: as set in the app (per browser). Error messages of the linking step are always in German (e.g. “Datensatz nicht gefunden”).

Rendered from the app’s own interface with the built-in demo data (“Nordpay”, a fictitious payment institution); the Jira frame around it is not shown.

Documentation baseline: app version 2.0.0 · 2026-08-25