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)