Repository navigation
Pick release tags from Jira issues chosen on the page - #29
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
--jirarun 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
forthe chosen keys,also shipsthe 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 markedships 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 anywaymark 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/, soissuescannot 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, notx-show.also shipsandships anywaycome 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 markedships 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-ciandjust lint-cipass.