This matches our current bug open time KPI calculation, with the added
ability to exclude milestones from the calculation. Milestone exclusion
allows for easily answering the question "what would happen to the
metric if we released this milestone today?"
Verbose output lists each bug, net of filtering by milestone, including
the product group label associated with the bug (so we can spot cases
where a bug won't get resolved all else equal because it isn't triaged
to a current product group).
- **Adding new command gm milestone report to veiw all statuses from all
projects for all issues tied to a milestone**
- **Add descriptions to workflow select and new workflows**
- **Adding new commands**
This looks like a log but it's just moving the code that lived in
cmd/gm/ui.go into it's own pkg that makes it clearer where each part of
the UI lives.
I am also adding the functionality for bulk sprint demo to grab names
from github usernames.
What’s in this PR
1) Smarter default sorting for issues (used by the TUI)
New ghapi.SortIssuesForDisplay helper that orders issues by:
Priority label (P0 → P1 → P2 → none)
Presence of customer-* / prospect-* labels
Type labels (story → bug → ~sub-task → others)
Issue number (descending)
This is applied before filtering so views start in a meaningful order.
[GitHub](https://github.com/fleetdm/fleet/pull/32694/files)
Implementation lives in tools/github-manage/pkg/ghapi/sort.go.
Comprehensive tests cover all combinations, tie-breakers, and stability.
GitHub
+1
2) Estimates: show the sum for the current selection
The header now displays Σest sel=<sum> for the currently selected
issues, both in filtered and unfiltered views, making quick capacity
checks easier.
[GitHub](https://github.com/fleetdm/fleet/pull/32694/files)
3) Better progress UI for workflows
Task list is now windowed (last ~10 items) with auto-scroll to the
currently running or most recently finished task, plus “earlier/more
tasks” ellipses and a progress counter at the bottom. This keeps the
view focused during long runs.
[GitHub](https://github.com/fleetdm/fleet/pull/32694/files)
4) Project estimates fetch now includes total count
Switched from GetEstimatedTicketsForProject to
GetEstimatedTicketsForProjectWithTotal, so we can show totalAvailable
alongside rawFetched/limit.
[GitHub](https://github.com/fleetdm/fleet/pull/32694/files)
---------
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
- **Adding sprint command to view items in current sprint and warning
when limit is too small**
- **Adding select / deselect all and demo output**
- **Added hotkey 's' to select all subissues along with the issue
selected**
Example of how I generated the demo docs for mdm this sprint
```
./gm sprint mdm --limit 200
'pressed l to select all issues'
'pressed w to select a workflow'
selected Bulk Demo workflow and hit enter
copy/paste features to features and bugs to bugs
modify gh usernames to @email and hit 'space' after every ) in the markdown to get it to trigger
hit tab for all issues listed under each user
...
profit
```
Related to: #31753
Changes:
- Replaced the large GIFs used in the tools/github-manage folder's
README with compressed versions. (The uncompressed versions are possibly
exceeding Heroku's filesize limit for `git push`.)