bugtracker-cli
v1.0.0
Published
A command-line tool for automating Bugtracker (Redmine) issue management
Downloads
10
Maintainers
Readme
Bugtracker CLI
A command-line tool for automating Bugtracker (Redmine) issue management.
Features
- Bulk assign issues to team members
- Update issue status and target versions
- Cache projects and team members for faster workflow
- Interactive prompts with search functionality
Installation
Install globally via npm
npm install -g bugtracker-cliOr use with npx (no installation required)
npx bugtracker-cli <command>For development
git clone https://github.com/LinhNguyen1059/bugtracker-cli.git
cd bugtracker-cli
npm install
npm run buildUsage
Setup API Key
npx bugtracker setupLoad Projects
Fetch and cache available projects:
npx bugtracker load-projectsAssign Issues
Bulk update multiple issues:
npx bugtracker assign-issuesThis command will prompt you for:
- Project selection
- Issue URLs (comma-separated)
- Status
- Target version
- Assignee
Clear Configuration
Remove saved API key and cached data:
npx bugtracker clear-configProject Structure
src/
├── cli.ts # Main CLI entry point
├── config.ts # Configuration management
├── constants.ts # Application constants
├── types.ts # TypeScript type definitions
├── commands/ # Command implementations
│ ├── assignIssue.ts # Issue assignment command
│ └── projects.ts # Project management commands
├── services/ # API services
│ └── apiService.ts # Bugtracker API client
└── utils/ # Utility functions
├── helpers.ts # General helper functions
├── logger.ts # Logging utilities
├── prompts.ts # User prompt utilities
└── validators.ts # Input validation functionsArchitecture
Separation of Concerns
- Commands: High-level command orchestration
- Services: API communication layer
- Utils: Reusable utility functions
- Config: Configuration and persistence management
Key Improvements
- API Service Layer: All HTTP requests are centralized in
BugtrackerApiService - Constants: Hardcoded values moved to a single constants file
- Type Safety: Comprehensive TypeScript types for better IDE support
- Logging: Consistent, color-coded logging utilities
- Validators: Reusable input validation functions
- Helpers: Common operations extracted into utility functions
- Prompts: User interaction logic separated from business logic
Benefits
- Maintainability: Clear separation makes it easy to locate and modify code
- Testability: Services and utilities can be easily unit tested
- Readability: Smaller, focused functions with clear responsibilities
- Reusability: Common functionality extracted into utilities
- Type Safety: Comprehensive types catch errors at compile time
- Extensibility: New commands can easily reuse existing services and utilities
Development
Build
npm run buildRun Locally
node bin/bugtracker <command>License
ISC
