Skip to content

Count Jira issues that reach a tag only through a GitLab link - #32

Merged
lesnik512 merged 1 commit into
mainfrom
candidate-linked-issues
Oct 14, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
candidate-linked-issues

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Closes #31. The report's fields stay the same, so the schema stays at 6.

After Jira is read, every issue's key joins the jira_keys of each row its GitLab links point to, and the candidates of the services it touches are rebuilt from those rows. A merge request link matches a row by iid and a commit link by SHA prefix, the same matching --jira uses for its target. This runs in group and --jira runs alike.

Before, a candidate's jira_keys came only from the text of its rows: a merge request's title, source branch and description, or a direct commit's message. GitLab links an issue on more mentions than that, such as a key in one commit message inside a merge request, so an issue could ship in a tag without being listed. The Jira tasks tab, the release post, the page's also ships and ships anyway, and the skill's advice to merge picked candidates' jira_keys all missed it. In a --jira run this could drop the very issue the run was asked about: with SHOP-12 linked only to !11, release tag 1.2.0 used to list no keys at all.

Of the options in the issue, this is option 2, with one change. Group runs do not set row.linked. On the page, linked shows the 🎯 "Linked to the issues" mark for the issues a --jira run was given; in a group run nearly every row with a key links to some issue, so the mark would stop meaning anything. Adding the key to the row is enough for the candidates.

Option 1, reading keys from the commit messages inside merge requests, was not taken: it would also pick up keys GitLab did not link, such as one quoted in a revert.

The README intro and SKILL.md now say a row's jira_keys include linked issues. The skill's >=0.8,<0.9 range still holds.

Tests, written first and failing before the change: an issue linked to a merge request that does not name it joins that row and the 1.2.0 candidate, and a row that already names an issue does not get it twice; an issue linked to a commit joins the row holding it; in a --jira run, the release tag's candidate lists the scope issue its target does not name. just test-ci (132 passed, 100% coverage) and just lint-ci pass.

@lesnik512
lesnik512 merged commit bc359ac into main Oct 14, 2026
12 checks passed
@lesnik512
lesnik512 deleted the candidate-linked-issues branch October 14, 2026 16:47
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.

Count Jira issues that reach a tag only through a GitLab link

1 participant