Releases: bitovi/jira-timeline-report
Status Reports for Jira
Overview
We made the following changes:
- We renamed the app
Status Reports for Jira
. This reflects Jira's trademark requirements and focuses more on what the app attempts to do - automate statue reporting for Jira. - The plugin layout now removes the header, making the UI look much more seamless when the app is used as a Jira plugin
What's Changed
- TR-159: Previous name for a report is shown when editing the name for a subsequent report by @binaryberserker in #250
- A step forward towards improving the folder organization by @justinbmeyer in #251
- Poc/routing by @DavidNic11 in #254
- TR-105: Change the sidebar and top bar depending if the PLUGIN or the WEBAPP by @binaryberserker in #253
- dev docs by @DavidNic11 in #252
- Canjs folder refactor by @justinbmeyer in #256
- uses replace state on the slider by @justinbmeyer in #257
- starts enabling expanding children by @justinbmeyer in #258
- TR-162: Don't do O(n^2) over large data by @binaryberserker in #255
- Hiding the children in the appropriate way by @justinbmeyer in #259
- update verbiage by @DavidNic11 in #260
- [TR-137] Hide "View Settings" button when user is logged out by @bmomberger-bitovi in #262
- naming updates by @DavidNic11 in #261
- fix app key by @DavidNic11 in #263
Full Changelog: v0.8.2...v0.9.0
Saving Reports MVP
Saving Reports MVP
The saving reports MVP UI is now released. Users have the ability to create / update / copy / delete and rename reports.
What's Changed
- Tr 118 teams list by @DavidNic11 in #192
- adjusted starting to come together by @justinbmeyer in #196
- Tr 119 team all issues settings by @DavidNic11 in #195
- TR-23 Refactor rollup/dates by @binaryberserker in #194
- fixes by @DavidNic11 in #198
- fixing minor bugs in the team config by @justinbmeyer in #199
- loading indicator by @justinbmeyer in #200
- fixes #203 by properly including the parents key by @justinbmeyer in #204
- Tr 100 team issue configuration by @DavidNic11 in #206
- padding and divider changes by @DavidNic11 in #209
- add groups to select by @DavidNic11 in #210
- Tr 133 remove legacy configuration issue button by @DavidNic11 in #211
- Jira Typescript Conversion by @binaryberserker in #208
- remove issue ui by @DavidNic11 in #214
- this fixes the rollback makes the table grid tooltip a bit nicer by @justinbmeyer in #216
- Removing legacy velocity by @justinbmeyer in #217
- Tr 33 saving report mvp by @DavidNic11 in #213
- Staging report by @DavidNic11 in #218
- Removing legacy velocity by @justinbmeyer in #220
- TR-22: Refactor rollup/percent-complete by @binaryberserker in #221
- TR-139: Avoid "context limit exceeded" error by @binaryberserker in #222
- Fixes TR-147 by @justinbmeyer in #224
- Tr 33 saving report mvp by @DavidNic11 in #219
- TR-122: rolledup/work-status by @binaryberserker in #212
- TR-134: Prevent duplicate items from loading by @binaryberserker in #215
- TR-139: Avoid "context limit exceeded" error by @binaryberserker in #223
- small fix by @binaryberserker in #225
- remove logs by @DavidNic11 in #226
- TR-146: Remove the "Create new report" button from the "Saved Reports" page by @binaryberserker in #228
- add data syncs by @DavidNic11 in #227
- Tr 144 links in the saved reports dropdown by @DavidNic11 in #229
- Tr 140 create report should only show if there s a valid query by @DavidNic11 in #230
- account for empty childKeys by @DavidNic11 in #233
- remove reports by @DavidNic11 in #231
- Tr 149 empty epic in the future with timing shows complete by @DavidNic11 in #234
- TR-141: Don't reload after saving a report by @binaryberserker in #235
- TR-148: Select the report text when the modal opens by @binaryberserker in #236
- fixes TR-150 by @justinbmeyer in #240
- When grouping by parent, shows items with "no parent" by @justinbmeyer in #241
- TR-148: Select the report text when the modal opens by @binaryberserker in #238
- Tr 153 delete a saved report by @DavidNic11 in #245
- TR-152: Show the new name while saving by @binaryberserker in #246
- TR-148: Select the report text when the modal opens by @binaryberserker in #247
- Update/team list by @DavidNic11 in #243
- report style changes by @binaryberserker in #242
- docs by @DavidNic11 in #232
- fixes #239 and reverses the slider to see how it feels by @justinbmeyer in #248
- report fixes by @binaryberserker in #244
- fixes TR-160 by @justinbmeyer in #249
Full Changelog: v0.6.0...v0.8.2
v0.8.1
What's Changed
- Tr 118 teams list by @DavidNic11 in #192
- adjusted starting to come together by @justinbmeyer in #196
- Tr 119 team all issues settings by @DavidNic11 in #195
- TR-23 Refactor rollup/dates by @binaryberserker in #194
- fixes by @DavidNic11 in #198
- fixing minor bugs in the team config by @justinbmeyer in #199
- loading indicator by @justinbmeyer in #200
- fixes #203 by properly including the parents key by @justinbmeyer in #204
- Tr 100 team issue configuration by @DavidNic11 in #206
- padding and divider changes by @DavidNic11 in #209
- add groups to select by @DavidNic11 in #210
- Tr 133 remove legacy configuration issue button by @DavidNic11 in #211
- Jira Typescript Conversion by @binaryberserker in #208
- remove issue ui by @DavidNic11 in #214
- this fixes the rollback makes the table grid tooltip a bit nicer by @justinbmeyer in #216
- Removing legacy velocity by @justinbmeyer in #217
- Tr 33 saving report mvp by @DavidNic11 in #213
- Staging report by @DavidNic11 in #218
- Removing legacy velocity by @justinbmeyer in #220
- TR-22: Refactor rollup/percent-complete by @binaryberserker in #221
- TR-139: Avoid "context limit exceeded" error by @binaryberserker in #222
- Fixes TR-147 by @justinbmeyer in #224
- Tr 33 saving report mvp by @DavidNic11 in #219
- TR-122: rolledup/work-status by @binaryberserker in #212
- TR-134: Prevent duplicate items from loading by @binaryberserker in #215
- TR-139: Avoid "context limit exceeded" error by @binaryberserker in #223
- small fix by @binaryberserker in #225
- remove logs by @DavidNic11 in #226
- TR-146: Remove the "Create new report" button from the "Saved Reports" page by @binaryberserker in #228
Full Changelog: v0.6.0...v0.8.1
Team-Issue Configuration and Saving Reports MVP
What's Changed
- Tr 118 teams list by @DavidNic11 in #192
- adjusted starting to come together by @justinbmeyer in #196
- Tr 119 team all issues settings by @DavidNic11 in #195
- TR-23 Refactor rollup/dates by @binaryberserker in #194
- fixes by @DavidNic11 in #198
- fixing minor bugs in the team config by @justinbmeyer in #199
- loading indicator by @justinbmeyer in #200
- fixes #203 by properly including the parents key by @justinbmeyer in #204
- Tr 100 team issue configuration by @DavidNic11 in #206
- padding and divider changes by @DavidNic11 in #209
- add groups to select by @DavidNic11 in #210
- Tr 133 remove legacy configuration issue button by @DavidNic11 in #211
- Jira Typescript Conversion by @binaryberserker in #208
- remove issue ui by @DavidNic11 in #214
- this fixes the rollback makes the table grid tooltip a bit nicer by @justinbmeyer in #216
- Removing legacy velocity by @justinbmeyer in #217
- Tr 33 saving report mvp by @DavidNic11 in #213
- Staging report by @DavidNic11 in #218
- Removing legacy velocity by @justinbmeyer in #220
Full Changelog: v0.6.0...v0.8.0
Team Configuration and Spreading Estimates
This release brings:
- Teams Configuration - Configuration settings specific each team
- Spreading Estimates - Instead of using primarily dates to determine how much work is complete, use the estimate spread across the dates to determine how much work is complete
Teams Configuration
Different teams might use different settings for dates, estimates, etc. You can now configure these in the Teams
global settings sidebar menu:
Clicking the Teams
button will show a list of teams that can be configured individually:
NOTE: A
team
is either theteam
field value or the project key (if there is no team)
Clicking a Team lets you configure that team's settings. The following shows the BUY
team's configuration:
Notice that the team is inheriting all it's values from the Default Settings
. To change this, click CUSTOMIZE
and then change the value. For example, the following sets the BUY
team's velocity to 25:
Spreading Estimates
The percent complete rollup would use the timing of issues to determine how much work has been completed. For example, an issue that had a start and due date 20
business days apart would always be considered as 20
days of work.
This doesn't make sense for work that is spread out over time. For example, lets say some work is 5
days of work, but is going to be done over 20
days. You'd want to spread that 5
days of work over 20
days. This is exactly what the new Spread effort toggle does ... turning it on:
- spreads your estimate across the dates to determine how much work has been done, and
- uses the estimate as the total amount of work
Let's see an example!
The following 3 epics use a Days Estimate
field to track the amount of work they have to do. However, they all share the same start and due dates:
Each epic's start and due dates are 20 days apart. If we look at the base behavior of the Baseline Report, it will show each of these epics as needing 20 days of work:
However, if we configure to spread the estimate across time:
Now you can see the total work is calculated from the estimate. The percentage of work complete is still using the dates. But the percentage uses the estimated work for calculating completed and remaining work totals.
What's Changed
- Tr 118 teams list by @DavidNic11 in #192
- adjusted starting to come together by @justinbmeyer in #196
- Tr 119 team all issues settings by @DavidNic11 in #195
- TR-23 Refactor rollup/dates by @binaryberserker in #194
- fixes by @DavidNic11 in #198
- fixing minor bugs in the team config by @justinbmeyer in #199
- loading indicator by @justinbmeyer in #200
Full Changelog: v0.6.0...v0.7.0
Estimation Table
Estimation Table
This adds the start of an Estimation Table
report to help understand your project's estimates and how percent complete is calculated. It's very rough right now, but look for enhancements shortly.
For each issue type it will show:
-
Estimated Days - The provided estimate converted to days. If no estimate was provided, the cell will be blank. If the estimate has changed, it will show
Previous => Next
values. You can also click theEstimated Days
value and see a breakdown of how the value was calculated (more on this below). -
Timed Days - How many business days are between the start and end of the issue. If the estimate doesn't have dates, the cell will be blank. If the timing has changed, it will show
Previous => Next
values. -
Rolled Up Days - How many days of work are used to represent the issue, comparing children estimates, and the issue's estimates and the issues timing. More below on this calculation.
Estimated Days Tooltip
When you click an Estimated Days
value a tooltip will appear with the following information:
This breaks down how the current and last (previous) Estimated Days values are calculated.
There are 3 equations:
Estimated Days = Adjusted Estimate / Points per day per work track
The estimate is the "Adjusted Estimate" divided by the amount of Points of each parallel work track the team can do.
Adjusted Estimate = Median Estimate * LOGNORMINV( Confidence )
The adjusted estimate is the "Median Estimate" inflated with a log-normal distribution using the Confidence.
Points per day per work track = Estimate Point Per Sprint (Velocity) / Parallel Work Tracks / Days Per Sprint
Points per day per work track is how many points of work the team can do on one "parallel work track".
This is the number of points a team gets done per sprint divided by the number of tracks they typically run in parallel divided by the number of days in a sprint.
Rolled Up Days
Rolled Up Days is calculated as follows:
- Set the
issue's self timing
data toTimed Days
if it exists, thenEstimated Days
if it exists, then the average time for the issue type. - Sum all the issue's children's roll up values as
children's sum
- Use whichever is bigger
issue's self timing
orchildren's sum
The psuedo code might look like:
Rolled Up Days = MAX( CHILDRENS_SUM, TIMED_DAYS | ESTIMATED_DAYS | AVERAGE_FOR_TYPE )
What's Changed
- Tr 78 global teams configuration by @DavidNic11 in #182
- remove log by @DavidNic11 in #183
- tailwind as a devDep by @DavidNic11 in #184
- reorg by @DavidNic11 in #185
- ts and tsx to config by @DavidNic11 in #186
- TR-36: Remove duplicated typing in jira-oidc-helpers by @binaryberserker in #155
- TR-52 Remove legacy types by @binaryberserker in #160
- update value by @DavidNic11 in #187
- null by @DavidNic11 in #189
- some fixes, adding an estimate report by @justinbmeyer in #188
- Makes the list view work with releases by @justinbmeyer in #190
- Makes offline work again and tests by @justinbmeyer in #191
Full Changelog: v0.5.0...v0.6.0
v0.5.1 - First step towards the new design
This is the first step in a series of steps to move the app to a new technology stack and user interface. We are migrating to Atlassian's design system to make the timeline report feel at home as an Atlassian plugin.
Functionality is mostly the same. It's just spread across new controls. The following goes through what's in each of the controls.
Top Panel
-
Configuration Issue - This is how you previously (and currently) can specify your teams' velocities and sprint lengths. This is eventually going to be replaced by the
Teams
global configuration. -
Instance Selector - If you have multiple Jira instances, this is where you select which Jira instance you want to load data from.
-
Saved Reports - This lists your saved reports. There's a new interface coming soon for this.
Side Panel
Sources
Specify the JQL you want to load. You can optionally load all the children of your primary JQL. You can also specify filters on the children. For example, you might want to add a status != Canceled
if you don't want to load canceled children.
Finally, you can also exclude certain statuses too with the Statuses to exclude from all issue types control.
Timing
The timing panel controls how data "rolls up" in your report. For example, how dates are determined between parent and child issue types.
Teams
This area lets you configure how Jira loads and interprets your estimation data. This will eventually support team-specific settings.
Toolbar
Report On
Select what you want to report on. You can select a specific issue type OR select releases and the issue type under that release.
Report Type
Select the style of report you want:
- Gantt with both start and due dates
- Scatter with just due dates
View Settings
View settings let you:
- Group the report type by parent or by team/project value.
- Sort the report by the order the JQL specified or
Due Date
- Show or hide issues by a status
- Show issues within a particular release
- Hide issues without calculated dates
- Show a breakdown of child issues labelled with
design
,qa
, oruat
- Show a percentage completion value
- Show another status report breaking down each issue in more detail.
Detailed Change Log
- Add atlassian connect modules by @DavidNic11 in #127
- Add Dist to GitIgnore by @DavidNic11 in #128
- update if by @DavidNic11 in #129
- Update shell script if by @DavidNic11 in #130
- no-verify by @DavidNic11 in #131
- logs for dist checking by @DavidNic11 in #132
- remove logs and add staging check by @DavidNic11 in #133
- Remove testing metadata by @DavidNic11 in #134
- fixes a warning about a missing attr by @justinbmeyer in #136
- add clean script by @DavidNic11 in #138
- move around actions by @DavidNic11 in #139
- update build job by @DavidNic11 in #140
- update pull by @DavidNic11 in #141
- --allow-unrelated-histories by @DavidNic11 in #142
- remove needs by @DavidNic11 in #143
- update push by @DavidNic11 in #144
- update push to staging by @DavidNic11 in #145
- update push with lease by @DavidNic11 in #146
- no lease by @DavidNic11 in #147
- update commit message by @DavidNic11 in #148
- update workflow run by @DavidNic11 in #149
- update staging ref by @DavidNic11 in #150
- update staging ref by @DavidNic11 in #151
- Single script run command by @binaryberserker in #110
- Add types and tests to derived work status by @DavidNic11 in #137
- add parent issue by @DavidNic11 in #135
- TR 18 - Convert
normalizeReleases
to TypeScript and add unit tests (refactor release normalize) by @denisonluz in #152 - Add tests and ts to raw rollback by @shoumaw in #153
- TR-71: Add TS to derive and derive/work-timing by @shoumaw in #157
- TR-72: Add TS and tests to releases derive by @shoumaw in #158
- TR-60 - Add Initial Readme Files for each module by @denisonluz in #154
- Merge missed changes into main by @shoumaw in #161
- Revert deriveWorkTiming options names by @shoumaw in #162
- TR-61: TS and Tests for rollup by @shoumaw in #164
- TR-58 - Add Playwright Tests and Configurable Error/Log Tracking by @denisonluz in #156
- TR 59 automated test that is able to login the user and check if pages are loading correctly by @denisonluz in #165
- TR-74: Add ts and tests to warning issues by @shoumaw in #170
- TR-73: Add ts and tests to child statuses by @shoumaw in #169
- Add ts and tests to blocked-status-issues by @shoumaw in #166
- Pin timezone to UTC in vitest by @shoumaw in #168
- Tr 68 make sprint length configuration able to work in the web app locally by @DavidNic11 in #171
- Feature/update contributing by @DavidNic11 in #172
- rolling back teams to make sure things work by @justinbmeyer in #174
- Remove a console.log by @justinbmeyer in #175
- fixing progress indicators by @justinbmeyer in #176
- Small fixes in playbooks by @LeoDiazL in #177
- Fix up react integration by @DavidNic11 in #178
- remove dupe by @DavidNic11 in #179
- Fix/due date by @DavidNic11 in #180
- fixing the tooltip positioning by @justinbmeyer in #181
New Contributors
- @denisonluz made their first contribution in #152
- @shoumaw made their first contribution in #153
Full Changelog: v0.4.6...v0.5.0
Grouping Children
What's Changed
- update commit sha by @DavidNic11 in #115
- add build for commit sha by @DavidNic11 in #116
- fixes parent stuff but borks the typing by @justinbmeyer in #117
- Tr 41 console.log the commit by @DavidNic11 in #118
- update deploy by @DavidNic11 in #119
- test env by @DavidNic11 in #120
- update action version by @DavidNic11 in #121
- Tr 47 support staging sideload plugin so we can do testing by @DavidNic11 in #122
- ls by @DavidNic11 in #123
- fix checkout flow by @DavidNic11 in #124
- update install flow by @DavidNic11 in #125
- update prod deploy by @DavidNic11 in #126
Full Changelog: v0.4.5...v0.4.6
Global Filtering, Grouping, Show Children, New Example Data
Global Filtering
A new "Statuses to Exclude" filter has been added. This excludes the specified statuses across all issue types.
The other "[TYPE] Statuses to Ingore" option only ignores this status on the reported issue types.
Use "Statuses to Exclude" to ignore statuses like canceled
that should always be ignored.
Use "[TYPE] Statuses to Ignore" to ignore statuses like done
that you might not want to show up in the report.
Grouping
There's an ability to group the report by "Parent" or "Team / Project".
Show Children
The context menu has a link to show the children of the selected issue.
New Example Data
Updated the report to use new example data
Updated OIDC redirect build
This updates the OIDC redirect build to include everything it needs. This should result in slightly faster redirects.