createIssue tool schema does not constrain fields.Type to a valid enum (invalid tool calls from LLM)
#3254
-
Here's a little funny for you:

I just want to say that this project is bomb, and I'm really looking forward to using it, but we gotta get this llm usage tightened up a bit. In python, langchain is almost always an indication of issues, but I don't know about java. However, if you want to discuss it I can look into the langchain stuff and discuss it with you.
I'm sorry if I'm insulting anyone's intelligence, like I say this is a great product I look forward to deploying for our team, but some of the LLM calls can definitely be tightened up a bit.
| Type |
Bug
|
| Priority |
Major
|
| Assignee | |
| Affected Versions |
Unspecified
|
| Labels |
No labels
|
Issue Votes (0)
Reported by a user via service desk regarding LLM tool/function-call schemas.
Summary
createIssuetool is too permissive / incorrect, which leads to invalid tool calls from models.parameters.fields.Typeis declared as a plain string ("type": "string") with:enumrestriction on the allowed issue types, andrequiredlist, andTypeand the call failed server-side. Reported model: "gpt-6.1-terra medium with codex".Observed schema fragment
Expected
fields.Typeto an enum of valid issue types so the model is guided to valid values and invalid values are avoided at generation time.requiredfields instead of degrading enums into free-form strings.Impact
Concrete examples observed while filing this very issue (self-observed)
Priority: no enum in schema. First attempt failed with "Invalid choice value 'High'"; valid values are the non-obvious set Minor, Normal, Major, Critical.Affected-Versions: not marked required in the schema, yet submission fails with "Invalid fields: Affected Versions (value must not be empty)". A required field that the schema does not advertise as required.Next steps / info requested
createIssue, so we can reproduce and confirm scope.