Jens Geyer created THRIFT-6278:
----------------------------------

             Summary: CHANGES draft generator loses a whole JIRA lookup over 
one nonexistent ticket key
                 Key: THRIFT-6278
                 URL: https://issues.apache.org/jira/browse/THRIFT-6278
             Project: Thrift
          Issue Type: Bug
          Components: Build Process
            Reporter: Jens Geyer


{{build/generate-changes.py}} looks up the tickets it finds in commit messages 
with {{key in (...)}} searches of up to 50 keys. If a list of 25 keys or fewer 
contains a key that does not exist, JIRA rejects the whole search with HTTP 400 
("An issue with key 'THRIFT-0' does not exist for field 'key'."). Longer lists 
are not checked. The script then prints a warning and loses every ticket in 
that search.

Such keys do occur. The ticket pattern ignores case, so the path 
{{thrift-0.24.0/lib/cpp/...}} in the body of commit da6ed655d yields THRIFT-0.

* On master today, the {{--jira-version 0.25.0}} run loses its extra lookup of 
tickets found in git this way. With THRIFT-6277 that lookup can only add 
tickets the fixVersion query already returns, so nothing is lost there.
* In git-only mode, THRIFT-0 happens to fall into a full batch of 50 keys. In a 
batch of 25 keys or fewer, for example the last batch or the first batch of a 
small patch release, a nonexistent key drops every ticket of that batch from 
the draft. Their commits then show up as plain commit links.

Possible fixes:
* ignore a match that is followed by a dot and a digit, as in a version string
* when JIRA rejects a search, retry it without the key the error message names

_Drafted with AI assistance (Claude Opus 5); reviewed and posted by Jens Geyer._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to