dmtools
dmtools copied to clipboard
Delivery Management Tools
DMTools
Delivery Management Tools
📚 Documentation
Complete documentation is available in the docs/ folder:
Quick Links
-
🚀 Getting Started - Install, configure, and run your first commands
- Installation Guide
- Configuration Guide
- First Steps
-
💻 CLI Usage - Command-line interface guide
- MCP Tools Reference - 67 built-in tools
-
⚙️ Jobs (JobRunner) - 20 automation jobs
- Business Analysis Jobs
- Development Jobs
- QA Jobs
- Reporting Jobs
-
🤖 AI Teammate Workflows - GitHub Actions automation
- Overview
- JavaScript Actions
- Agent Configuration
-
🔌 Integrations - Connect to Jira, Confluence, Figma, GitHub, etc.
-
📖 Complete Documentation Index
Quick Start
Installation
# One-line installation
curl https://github.com/IstiN/dmtools/releases/latest/download/install.sh -fsS | bash
# Verify installation
dmtools --version
Configuration
# Create configuration file
cat > dmtools.env << EOF
JIRA_BASE_PATH=https://your-company.atlassian.net
[email protected]
JIRA_API_TOKEN=your-jira-api-token
GEMINI_API_KEY=your-gemini-api-key
EOF
# Secure the file
chmod 600 dmtools.env
Your First Command
# Get a Jira ticket
dmtools jira_get_ticket YOUR-123
# Search tickets
dmtools jira_search_by_jql "project = PROJ AND status = Open" "summary,status"
# List all available tools
dmtools list
See First Steps Guide for more examples.
Simple Run (Legacy)
- Download the release from: DMTools Releases
- Set environment variables.
- Run the command:
API of base64 encodedjava -cp dmtools.jar com.github.istin.dmtools.job.UrlEncodedJobTrigger "$JOB_PARAMS"JOB_PARAMS: API Description
Build JAR
To build the JAR file, run:
gradle shadowJar
🔐 OAuth2 Authentication Setup
DMTools includes a web application with OAuth2 authentication supporting Google, Microsoft, and GitHub login.
Quick Setup
For complete OAuth2 setup instructions including:
- ✅ Google, Microsoft, GitHub OAuth provider configuration
- ✅ Production deployment on Google Cloud Run
- ✅ GitHub Actions with secrets management
- ✅ Security configuration and troubleshooting
📖 See the comprehensive guide: OAUTH_SETUP.md
Live Application
- Production: https://dmtools-431977789017.us-central1.run.app
- API Documentation: https://dmtools-431977789017.us-central1.run.app/swagger-ui/index.html
Configuration
Jira Configuration
JIRA_BASE_PATH=https://jira.company.com
JIRA_LOGIN_PASS_TOKEN=base64(email:token)
JIRA_AUTH_TYPE=Bearer
JIRA_WAIT_BEFORE_PERFORM=true
JIRA_LOGGING_ENABLED=true
JIRA_CLEAR_CACHE=true
JIRA_EXTRA_FIELDS_PROJECT=customfield_10001,customfield_10002
JIRA_EXTRA_FIELDS=summary,description,status
How to Get Jira Token:
- Go to Jira > Profile Settings > Security.
- Under "API Token", click Create and manage API tokens.
- Click Create API token and give it a name (e.g.,
dm_tools). - Copy the generated token.
- Convert
email:tokento base64 format. - Add the following to your configuration:
JIRA_LOGIN_PASS_TOKEN=base64(email:token) JIRA_AUTH_TYPE=Bearer
Rally Configuration
RALLY_TOKEN=your_rally_token
RALLY_PATH=https://rally1.rallydev.com
How to Get Rally Token:
- Log in to Rally.
- Navigate to User Profile > API Keys.
- Generate a new API key.
- Copy the token and add it to the configuration.
Bitbucket Configuration
BITBUCKET_TOKEN=Bearer your_token
BITBUCKET_API_VERSION=V2
BITBUCKET_WORKSPACE=your-workspace
BITBUCKET_REPOSITORY=your-repo
BITBUCKET_BRANCH=main
BITBUCKET_BASE_PATH=https://api.bitbucket.org
How to Get Bitbucket Token:
- Go to Bitbucket Settings > App passwords.
- Click Create app password.
- Select the required permissions (e.g., read/write access).
- Copy the generated token.
- Add the following to your configuration:
BITBUCKET_TOKEN=Bearer [token]
GitHub Configuration
SOURCE_GITHUB_TOKEN=your_github_token
SOURCE_GITHUB_WORKSPACE=your-org
SOURCE_GITHUB_REPOSITORY=your-repo
SOURCE_GITHUB_BRANCH=main
SOURCE_GITHUB_BASE_PATH=https://api.github.com
How to Get GitHub Token:
- Go to GitHub Settings > Developer settings > Personal access tokens.
- Generate a new token (classic).
- Select the required scopes (e.g., repo access).
- Copy the generated token.
- Add the following to your configuration:
SOURCE_GITHUB_TOKEN=[token]
GitLab Configuration
GITLAB_TOKEN=your_gitlab_token
GITLAB_WORKSPACE=your-workspace
GITLAB_REPOSITORY=your-repo
GITLAB_BRANCH=main
GITLAB_BASE_PATH=https://gitlab.com/api/v4
How to Get GitLab Token:
- Go to GitLab > User Settings > Access Tokens.
- Create a new personal access token.
- Select the required scopes (e.g., API access).
- Copy the generated token and add it to the configuration.
Confluence Configuration
CONFLUENCE_BASE_PATH=https://confluence.company.com
CONFLUENCE_LOGIN_PASS_TOKEN=base64(email:token)
CONFLUENCE_GRAPHQL_PATH=/graphql
CONFLUENCE_DEFAULT_SPACE=TEAM
How to Get Confluence Token:
- Go to Confluence > Profile > Settings > Password.
- Create an API token.
- Convert
email:tokento base64 format. - Add the following to your configuration:
CONFLUENCE_LOGIN_PASS_TOKEN=base64(email:token)
AI Configuration
DIAL_BATH_PATH=https://api.dial.com/v1
DIAL_API_KEY=your_dial_key
DIAL_MODEL=gpt-4
How to Get DIAL Token:
- Go to the DIAL Platform.
- Request your API key.
- Create a new secret key.
- Copy the key and add it to the configuration:
DIAL_API_KEY=[token]
AI Models Configuration
CODE_AI_MODEL=gpt-4
TEST_AI_MODEL=gpt-4
****---
Figma Configuration
FIGMA_BASE_PATH=https://api.figma.com/v1
FIGMA_TOKEN=your_figma_token
How to Get Figma Token:
- Log in to Figma.
- Go to Account Settings > Personal Access Tokens.
- Generate a new token.
- Copy the token and add it to the configuration.
Firebase Configuration
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_SERVICE_ACCOUNT_JSON_AUTH={"type":"service_account",...}
How to Get Firebase Credentials:
- Go to the Firebase Console.
- Navigate to Project Settings > Service Accounts.
- Generate a new private key.
- Download the JSON file and use it in the configuration.
Notes
- Replace all placeholder values (e.g.,
your_token,your-org) with actual values. - Never commit sensitive tokens to version control. Use environment variables or secure vaults instead.
Prompt Preparation Config
# Prompt Chunk Configurations
PROMPT_CHUNK_TOKEN_LIMIT=4000
PROMPT_CHUNK_MAX_SINGLE_FILE_SIZE_MB=4
PROMPT_CHUNK_MAX_TOTAL_FILES_SIZE_MB=4
PROMPT_CHUNK_MAX_FILES=10