DMTools Server provides REST APIs for presentation generation, job execution, and development management tools. The server includes comprehensive OpenAPI/Swagger documentation accessible via web interface.
-
Start the server:
./gradlew bootRun
-
Access API documentation:
- Swagger UI:
http://localhost:8080/swagger-ui.html - OpenAPI Spec:
http://localhost:8080/v3/api-docs
- Swagger UI:
Execute jobs with various parameters for automation tasks.
Create and manage presentations with dynamic content generation.
Access AI-powered agents and orchestration workflows.
AI-powered chat with MCP tools integration for real-time data access.
OAuth2 and security management endpoints.
- Local Development:
http://localhost:8080 - Production: Configure in
application.properties
For detailed API documentation including:
- Request/response schemas
- Parameter descriptions
- Example requests
- Error codes and responses
- Authentication requirements
Visit the Swagger UI at: http://localhost:8080/swagger-ui.html
All endpoints return appropriate HTTP status codes:
- 200 OK: Successful operation
- 400 Bad Request: Invalid request parameters
- 401 Unauthorized: Authentication required
- 403 Forbidden: Insufficient permissions
- 500 Internal Server Error: Server-side errors
Server configuration is managed through application.properties. See the main README.md for detailed configuration options.
For issues or questions:
- Check the GitHub Issues
- Review the main documentation
- Use the Swagger UI for interactive API exploration
flowchart TD
A[User Request] --> B[RequestDecompositionAgent]
B -->|Processes through| C[First Prompt]
C -->|Generates| D[Structured JSON]
D -->|Feeds into| E[TeamAssistantAgent]
E -->|Processes through| F[Second Prompt]
F -->|Generates| G[Final Response]
subgraph "First Prompt Processing"
C --> C1[Extract formatting rules]
C --> C2[Extract few-shots/examples]
C --> C3[Extract attachments/files]
C --> C4[Rephrase request]
C --> C5[Identify questions]
C --> C6[Identify tasks]
C --> C7[Determine AI Agent role]
C --> C8[Define instructions]
end
subgraph "JSON Structure"
D --> D1[aiRole]
D --> D2[request]
D --> D3[questions]
D --> D4[tasks]
D --> D5[instructions]
D --> D6[knownInfo]
D --> D7[formattingRules]
D --> D8[fewShots]
end
subgraph "Second Prompt Processing"
F --> F1[Apply AI role]
F --> F2[Process request]
F --> F3[Address questions]
F --> F4[Complete tasks]
F --> F5[Apply formatting rules]
end
subgraph "Context Enhancement"
H[Large Context] --> I[Chunk Processing]
I --> I1[Process individual chunks]
I1 --> I2[Track dependencies]
I2 --> I3[Maintain context]
I3 --> F
end
subgraph "Expert Class Flow"
J[Expert.runJob] --> K[Get project context]
K --> L[Process ticket context]
L --> M[Prepare context chunks]
M --> B
D --> N[Extend context if needed]
N --> N1[Code context]
N --> N2[Confluence context]
N --> N3[Tracker context]
N1 --> O[Final context chunks]
N2 --> O
N3 --> O
O --> E
G --> P[Attach response to ticket]
P --> Q[Update field or post comment]
end