How alexalkhatib/jira-testcase-generator works
Jira Test Case Generator is a web application that turns a Jira story into structured functional test cases using a locally hosted Ollama model. The main flow is browser request → validation and orchestration → Jira retrieval and acceptance-criteria extraction → prompt and model generation → JSON parsing and typed response. The UI also offers JSON/CSV/Markdown export and browser-local generation history; configuration and RFC 7807 errors are separate capabilities. Some secondary wiring is documented in the README rather than shown in sampled source.
Main entry points: TestSuiteService.java Suite orchestration · JiraRestClient.java Jira REST client · app.js Browser UI · TestCaseGenerationService.java Generation service
Components 19
Web experience
- Browser UI
src/main/resources/static/js/app.js - Test API
src/main/java/com/asecurityguru/jiratestgen/web/TestCaseController.java - Config API
src/main/java/com/asecurityguru/jiratestgen/web/ConfigController.java - Typed response
src/main/java/com/asecurityguru/jiratestgen/web/dto/GenerationResponse.java
Request orchestration
- Suite orchestration
src/main/java/com/asecurityguru/jiratestgen/service/TestSuiteService.java
Jira ingestion
- Jira REST client
src/main/java/com/asecurityguru/jiratestgen/jira/JiraRestClient.java - ADF text extraction
src/main/java/com/asecurityguru/jiratestgen/jira/AdfTextExtractor.java - Criteria extraction
src/main/java/com/asecurityguru/jiratestgen/jira/AcceptanceCriteriaExtractor.java - Jira story model
src/main/java/com/asecurityguru/jiratestgen/jira/JiraStory.java
AI generation
- Generation service
src/main/java/com/asecurityguru/jiratestgen/ai/TestCaseGenerationService.java - Prompt builder
src/main/java/com/asecurityguru/jiratestgen/ai/PromptFactory.java - Response parser
src/main/java/com/asecurityguru/jiratestgen/ai/TestCaseResponseParser.java - Test case models
src/main/java/com/asecurityguru/jiratestgen/ai/model/TestCase.java
Runtime support
- Runtime configuration
src/main/java/com/asecurityguru/jiratestgen/config/JiraProperties.java - Generation limits
src/main/java/com/asecurityguru/jiratestgen/config/GenerationProperties.java - Problem responses
src/main/java/com/asecurityguru/jiratestgen/web/ApiExceptionHandler.java
Other components
- QA user
- Jira REST API
- Ollama model
Connections 20
- QA user → Browser UI: uses
README.md - Browser UI → Test API: requests generation
README.md - Browser UI → Config API: reads configuration
README.md - Test API → Suite orchestration: delegates generation
src/main/java/com/asecurityguru/jiratestgen/web/TestCaseController.java - Suite orchestration → Jira REST client: fetches story
src/main/java/com/asecurityguru/jiratestgen/service/TestSuiteService.java - Jira REST client → Jira REST API: requests issue
README.md - Jira REST client → ADF text extraction: flattens fields
src/main/java/com/asecurityguru/jiratestgen/jira/JiraRestClient.java - Jira REST client → Criteria extraction: extracts criteria
src/main/java/com/asecurityguru/jiratestgen/jira/JiraRestClient.java - Jira REST client → Jira story model: maps issue
src/main/java/com/asecurityguru/jiratestgen/jira/JiraRestClient.java - Suite orchestration → Generation service: generates cases
src/main/java/com/asecurityguru/jiratestgen/service/TestSuiteService.java - Generation service → Prompt builder: builds prompt
src/main/java/com/asecurityguru/jiratestgen/ai/TestCaseGenerationService.java - Generation service → Ollama model: sends prompt
README.md - Generation service → Response parser: parses output
src/main/java/com/asecurityguru/jiratestgen/ai/TestCaseGenerationService.java - Response parser → Test case models: creates cases
src/main/java/com/asecurityguru/jiratestgen/ai/TestCaseResponseParser.java - Suite orchestration → Typed response: maps result
src/main/java/com/asecurityguru/jiratestgen/service/TestSuiteService.java - Typed response → Browser UI: returns JSON
README.md - Config API → Runtime configuration: reports settings
src/main/java/com/asecurityguru/jiratestgen/web/ConfigController.java - Config API → Generation limits: reports limits
src/main/java/com/asecurityguru/jiratestgen/web/ConfigController.java - Suite orchestration → Generation limits: validates bounds
src/main/java/com/asecurityguru/jiratestgen/service/TestSuiteService.java - Problem responses → Browser UI: returns problems
README.md