Postman Generator: Add folder description#23249
Conversation
There was a problem hiding this comment.
2 issues found across 4 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="modules/openapi-generator/src/test/java/org/openapitools/codegen/postman/PostmanCollectionCodegenTest.java">
<violation number="1" location="modules/openapi-generator/src/test/java/org/openapitools/codegen/postman/PostmanCollectionCodegenTest.java:81">
P2: The regression test for folder description is too weak: it asserts `name` and `description` substrings separately, so it does not prove the description is attached to the `basic` folder node.</violation>
</file>
<file name="modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PostmanCollectionCodegen.java">
<violation number="1" location="modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PostmanCollectionCodegen.java:335">
P2: Tag descriptions are injected into Postman JSON without JSON escaping, which can break generated JSON when descriptions contain newlines/quotes.</violation>
</file>
Since this is your first cubic review, here's how it works:
- cubic automatically reviews your code and comments on bugs and improvements
- Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
- Add one-off context when rerunning by tagging
@cubic-dev-aiwith guidance or docs links (includingllms.txt) - Ask questions if you need clarification on any suggestion
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
...i-generator/src/test/java/org/openapitools/codegen/postman/PostmanCollectionCodegenTest.java
Outdated
Show resolved
Hide resolved
...api-generator/src/main/java/org/openapitools/codegen/languages/PostmanCollectionCodegen.java
Show resolved
Hide resolved
There was a problem hiding this comment.
1 issue found across 5 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PostmanCollectionCodegen.java">
<violation number="1" location="modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PostmanCollectionCodegen.java:335">
P2: New folder name/description escaping is incomplete for JSON and can emit corrupted or invalid Postman JSON when tags contain backslashes/control characters.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
| } | ||
|
|
||
| List<CodegenOperation> list = codegenOperationsByTag.get(key); | ||
| tagName = formatDescription(tagName); |
There was a problem hiding this comment.
P2: New folder name/description escaping is incomplete for JSON and can emit corrupted or invalid Postman JSON when tags contain backslashes/control characters.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PostmanCollectionCodegen.java, line 335:
<comment>New folder name/description escaping is incomplete for JSON and can emit corrupted or invalid Postman JSON when tags contain backslashes/control characters.</comment>
<file context>
@@ -332,6 +332,9 @@ public void addToMap(CodegenOperation codegenOperation) {
}
}
+ tagName = formatDescription(tagName);
+ tagDescription = formatDescription(tagDescription);
+
</file context>
There was a problem hiding this comment.
we can handle these edge cases in another PR
There was a problem hiding this comment.
Understood—thanks for the update; we can revisit these edge cases in a follow-up PR.
PR to add the folder description (from the description of the tag, when available)
PR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master(upcoming7.x.0minor release - breaking changes with fallbacks),8.0.x(breaking changes without fallbacks)"fixes #123"present in the PR description)@wing328
Summary by cubic
Add folder descriptions to the Postman collection generator. Folders now use the first OpenAPI tag’s description with safe JSON output and clear fallbacks.
New Features
PostmanRequestFolder(name, description) as the key ofcodegenOperationsByTag;postman.mustacheoutputskey.nameandkey.description. Tests and samples updated; tests now find items by name and include escaping coverage.Migration
codegenOperationsByTag, update to the new key type and referencekey.name/key.descriptionin templates.Written for commit 2dbc78d. Summary will update on new commits.