Skip to content

Pick release tags from Jira issues chosen on the page - #29

Merged
lesnik512 merged 1 commit into
mainfrom
page-issue-picker
Oct 14, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
page-issue-picker

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Closes #28. Page only; the report schema stays at 6.

The Release column gets an Issues list when the report has Jira issues. Ticking an issue picks a tag in every service it touches, by the rule a --jira run uses for its release tag: from the newest row the issue links to (or whose Jira keys name it), up to the first row with tags, and that row's last tag. When several chosen issues touch a service, the newest tag wins. When one of them has no tag yet there, the service gets no pick and its line links to create the next tag.

Each touched service line gets a second line with for the chosen keys, also ships the other keys of its picked tag, and a blocker if there is one. Untouched services are dimmed. Projects the issues link to that are not in the report are listed under the services. In the issue list, an issue that a picked tag ships without being chosen is marked ships anyway.

The list groups issues into Done, then Not done, by status category, and sorts by key inside a group. It has a filter by key or summary and two views, All and Chosen. Every row has a fixed height, and the ships anyway mark has a fixed slot, so ticking never moves a checkbox. The prototype that did not do this had the checkboxes jump on every tick. Unticking in the Chosen view keeps the row until the view changes.

Unticking clears only the picks no other chosen issue needs. A pick made by hand stays until the chosen issues change, and the line says which chosen issues it does not ship. The address keeps the issues before the picks, as #issues=SHOP-140,SHOP-141&team/api=2.5.0; a project path always has a /, so issues cannot clash with one. Unknown keys in the address are skipped with the existing warning.

The page works out each issue's per-service state once, when the report loads, so re-rendering does not walk the rows again. The conditional parts of the new service line use x-if, like the existing failure lines, not x-show.

also ships and ships anyway come from the candidate's Jira keys, the same list as the Jira tasks tab. An issue that reaches a tag only through a GitLab link, without its key in any shipped row, shows the tag on its issue row but is not marked ships anyway.

The page has no tests. I checked it in a browser against a mock report with 43 issues across 8 services and against the report from test_collect_reads_jira_issues_with_a_bearer_token: ticking and unticking, an issue with no tag yet, an issue already outside the range, a linked project not in the report, a manual pick older than the needed tag, reload from the address, the Chosen view, the filter, English and Russian, light theme, and 420px width without horizontal scroll. just test-ci and just lint-ci pass.

@lesnik512
lesnik512 merged commit 73a6f5e into main Oct 14, 2026
12 checks passed
@lesnik512
lesnik512 deleted the page-issue-picker branch October 14, 2026 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pick release tags from Jira issues chosen on the page

1 participant