youtrack-cli


Nameyoutrack-cli JSON
Version 0.5.0 PyPI version JSON
download
home_pageNone
SummaryYouTrack CLI - Command line interface for JetBrains YouTrack issue tracking system
upload_time2025-07-12 03:03:14
maintainerNone
docs_urlNone
authorNone
requires_python<3.14,>=3.9
licenseMIT
keywords cli issue-tracking jetbrains project-management youtrack
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # YouTrack CLI

A powerful command line interface for JetBrains YouTrack issue tracking system.

[![Documentation Status](https://readthedocs.org/projects/yt-cli/badge/?version=latest)](https://yt-cli.readthedocs.io/en/latest/?badge=latest)

## Features

- **Complete YouTrack Management**: Issues, articles, projects, users, time tracking, boards, and reporting
- **Enterprise Security Features**: Command audit logging, credential encryption, token expiration warnings
- **Flexible Authentication**: Secure token-based authentication with keyring integration
- **Rich Output Formats**: Beautiful tables and JSON export for automation
- **Progress Indicators**: Visual feedback for long-running operations with Rich progress bars
- **Comprehensive Configuration**: Customizable defaults and environment-specific settings
- **Administrative Tools**: System management, user groups, and health monitoring
- **Developer-Friendly**: Built with modern Python practices and extensive documentation
- **Enhanced Error Handling**: User-friendly error messages with actionable suggestions
- **Advanced Logging**: Rich logging with debug and verbose modes for troubleshooting
- **Robust HTTP Operations**: Automatic retry logic with exponential backoff for reliability

## Quick Start

### Installation

#### Using uv (Recommended)

The fastest and most reliable way to install YouTrack CLI:

```bash
# Install uv first (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install YouTrack CLI as a tool
uv tool install youtrack-cli

# Verify installation
yt --version
```

#### Traditional pip installation

```bash
# From PyPI (when available)
pip install yt-cli

# With virtual environment (recommended for pip)
python -m venv youtrack-env
source youtrack-env/bin/activate  # Linux/macOS
# or
youtrack-env\Scripts\activate     # Windows
pip install yt-cli
```

#### Development installation

```bash
# Clone and set up for development
git clone https://github.com/YOUR_USERNAME/yt-cli.git
cd yt-cli

# Using uv (recommended)
uv sync --dev
uv pip install -e .

# Or using pip (requires pip >= 24.0 for PEP 735 support)
pip install -e . --group dev
```

### Authentication

```bash
# Login to your YouTrack instance
yt auth login

# Login with SSL certificate verification disabled (for self-signed certificates)
yt auth login --no-verify-ssl

# Verify authentication
yt auth token --show
```

### Shell Completion

YouTrack CLI supports tab completion for bash, zsh, and fish shells:

```bash
# Enable shell completion (see docs for full instructions)
yt completion bash --install
```

📖 **[Complete shell completion guide](https://yt-cli.readthedocs.io/en/latest/installation.html#shell-completion)**

### Basic Usage

```bash
# List projects
yt projects list

# Create an article
yt articles create "Getting Started" --content "Welcome to our documentation"

# Create an article from a markdown file
yt articles create "API Documentation" --file api-docs.md

# Log work time
yt time log ISSUE-123 "2h" --description "Feature development"

# Generate reports with progress indicators
yt reports burndown PROJECT-123

# Disable progress indicators for automation
yt --no-progress reports velocity PROJECT-123

# Enable debug logging for troubleshooting
yt --debug issues list
```

## Documentation

**📚 [Complete Documentation](https://yt-cli.readthedocs.io/en/latest/)**

For comprehensive guides, examples, and API reference, visit our documentation:

- **[Quick Start Guide](https://yt-cli.readthedocs.io/en/latest/quickstart.html)** - Get up and running quickly
- **[Command Reference](https://yt-cli.readthedocs.io/en/latest/commands/)** - Detailed documentation for all commands
- **[Configuration Guide](https://yt-cli.readthedocs.io/en/latest/configuration.html)** - Customize your CLI experience
- **[Development Guide](https://yt-cli.readthedocs.io/en/latest/development.html)** - Contributing and development setup

## Available Commands

| Command Group | Description |
|--------------|-------------|
| `yt issues` | Complete issue lifecycle management with search, comments, and relationships |
| `yt articles` | Manage knowledge base articles with hierarchical organization and tagging |
| `yt projects` | Create and manage YouTrack projects |
| `yt users` | User management and permissions |
| `yt time` | Time tracking with flexible duration formats |
| `yt boards` | Agile board operations and management |
| `yt reports` | Generate burndown and velocity reports |
| `yt auth` | Authentication and credential management |
| `yt config` | CLI configuration and preferences |
| `yt admin` | Administrative operations (requires admin privileges) |

## Command Examples

### Issues
```bash
# Create and manage issues
yt issues create PROJECT-123 "Fix login bug" --type Bug --priority High --assignee john.doe
yt issues list --project-id PROJECT-123 --state Open
yt issues search "priority:Critical state:Open"
yt issues update ISSUE-456 --state "In Progress"

# Comments and collaboration
yt issues comments add ISSUE-456 "Fixed in latest build"
yt issues attach upload ISSUE-456 /path/to/screenshot.png

# Issue relationships
yt issues links create ISSUE-456 ISSUE-789 "depends on"
yt issues tag add ISSUE-456 urgent
```

### Articles
```bash
# Create and manage knowledge base
yt articles create "API Guide" --content "Comprehensive API documentation"

# Create articles from markdown files
yt articles create "Installation Guide" --file docs/install.md

# Organize existing documentation
yt articles create "Developer Guide" --file dev-guide.md --project-id PROJECT-123

# Tag articles for better organization
yt articles tag ARTICLE-123 documentation tutorial

yt articles tree --project-id PROJECT-123
yt articles search "authentication"
```

### Projects
```bash
# Project management
yt projects create "Web App" "WEB" --leader john.doe --template scrum
yt projects list --show-archived
yt projects configure WEB --description "Main web application"
```

### Time Tracking
```bash
# Flexible time logging
yt time log ISSUE-123 "2h 30m" --work-type "Development"
yt time report --start-date "2024-01-01" --end-date "2024-01-31"
yt time summary --group-by user
```

### Reporting
```bash
# Project insights
yt reports burndown PROJECT-123 --sprint "Sprint 1"
yt reports velocity PROJECT-123 --sprints 10
```

## Help and Support

- 📖 **[Documentation](https://yt-cli.readthedocs.io/en/latest/)** - Comprehensive guides and examples
- 🐛 **[Issue Tracker](https://github.com/YOUR_USERNAME/yt-cli/issues)** - Report bugs and request features
- 💬 **[Discussions](https://github.com/YOUR_USERNAME/yt-cli/discussions)** - Ask questions and share ideas

## Development

This project uses `uv` for dependency management.

### Setup

```bash
# Clone the repository
git clone https://github.com/YOUR_USERNAME/yt-cli.git
cd yt-cli

# Install dependencies
uv sync --dev

# Install pre-commit hooks
uv run pre-commit install

# Install the package in editable mode
uv pip install -e .
```

### Testing

This project uses `pytest` with randomized test execution to ensure test reliability:

```bash
# Run tests (automatically randomized order)
uv run pytest

# Run tests with coverage
uv run pytest --cov=yt_cli

# Run tests on multiple Python versions
uv run tox

# Run tests with specific random seed for reproducibility
uv run pytest --randomly-seed=12345

# Disable randomization if needed
uv run pytest --randomly-dont-shuffle
```

**Randomized Testing**: Tests run in random order by default using `pytest-randomly` to catch order-dependent bugs and improve test reliability. Each test run displays the random seed used, which can be reused to reproduce specific test failures.

### Code Quality

This project uses comprehensive pre-commit hooks for code quality:

```bash
# Run all quality checks (automatically runs on commit)
uv run pre-commit run --all-files

# Individual quality checks
uv run ruff check      # Linting
uv run ruff format     # Code formatting
uv run ty check        # Type checking
```

### Pre-commit Hooks

The project includes comprehensive pre-commit hooks that run automatically before each commit:

- **File Quality**: Trailing whitespace, end-of-file fixes, YAML/TOML validation
- **Code Quality**: Ruff linting and formatting, ty type checking
- **Testing**: Full pytest test suite
- **Security**: zizmor GitHub Actions security analysis

To run pre-commit hooks manually:

```bash
# Run all hooks on all files
uv run pre-commit run --all-files

# Run specific hook
uv run pre-commit run pytest
```

### Security

```bash
# Check GitHub Actions workflows
uv run zizmor .github/workflows/
```

## License

MIT License - see LICENSE file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "youtrack-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.14,>=3.9",
    "maintainer_email": null,
    "keywords": "cli, issue-tracking, jetbrains, project-management, youtrack",
    "author": null,
    "author_email": "Ryan Murphy <ryan@example.com>",
    "download_url": "https://files.pythonhosted.org/packages/87/e0/beeb4c9d4933f66047467655c7224271ac4309c7c188823cb0e0758a7864/youtrack_cli-0.5.0.tar.gz",
    "platform": null,
    "description": "# YouTrack CLI\n\nA powerful command line interface for JetBrains YouTrack issue tracking system.\n\n[![Documentation Status](https://readthedocs.org/projects/yt-cli/badge/?version=latest)](https://yt-cli.readthedocs.io/en/latest/?badge=latest)\n\n## Features\n\n- **Complete YouTrack Management**: Issues, articles, projects, users, time tracking, boards, and reporting\n- **Enterprise Security Features**: Command audit logging, credential encryption, token expiration warnings\n- **Flexible Authentication**: Secure token-based authentication with keyring integration\n- **Rich Output Formats**: Beautiful tables and JSON export for automation\n- **Progress Indicators**: Visual feedback for long-running operations with Rich progress bars\n- **Comprehensive Configuration**: Customizable defaults and environment-specific settings\n- **Administrative Tools**: System management, user groups, and health monitoring\n- **Developer-Friendly**: Built with modern Python practices and extensive documentation\n- **Enhanced Error Handling**: User-friendly error messages with actionable suggestions\n- **Advanced Logging**: Rich logging with debug and verbose modes for troubleshooting\n- **Robust HTTP Operations**: Automatic retry logic with exponential backoff for reliability\n\n## Quick Start\n\n### Installation\n\n#### Using uv (Recommended)\n\nThe fastest and most reliable way to install YouTrack CLI:\n\n```bash\n# Install uv first (if not already installed)\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Install YouTrack CLI as a tool\nuv tool install youtrack-cli\n\n# Verify installation\nyt --version\n```\n\n#### Traditional pip installation\n\n```bash\n# From PyPI (when available)\npip install yt-cli\n\n# With virtual environment (recommended for pip)\npython -m venv youtrack-env\nsource youtrack-env/bin/activate  # Linux/macOS\n# or\nyoutrack-env\\Scripts\\activate     # Windows\npip install yt-cli\n```\n\n#### Development installation\n\n```bash\n# Clone and set up for development\ngit clone https://github.com/YOUR_USERNAME/yt-cli.git\ncd yt-cli\n\n# Using uv (recommended)\nuv sync --dev\nuv pip install -e .\n\n# Or using pip (requires pip >= 24.0 for PEP 735 support)\npip install -e . --group dev\n```\n\n### Authentication\n\n```bash\n# Login to your YouTrack instance\nyt auth login\n\n# Login with SSL certificate verification disabled (for self-signed certificates)\nyt auth login --no-verify-ssl\n\n# Verify authentication\nyt auth token --show\n```\n\n### Shell Completion\n\nYouTrack CLI supports tab completion for bash, zsh, and fish shells:\n\n```bash\n# Enable shell completion (see docs for full instructions)\nyt completion bash --install\n```\n\n\ud83d\udcd6 **[Complete shell completion guide](https://yt-cli.readthedocs.io/en/latest/installation.html#shell-completion)**\n\n### Basic Usage\n\n```bash\n# List projects\nyt projects list\n\n# Create an article\nyt articles create \"Getting Started\" --content \"Welcome to our documentation\"\n\n# Create an article from a markdown file\nyt articles create \"API Documentation\" --file api-docs.md\n\n# Log work time\nyt time log ISSUE-123 \"2h\" --description \"Feature development\"\n\n# Generate reports with progress indicators\nyt reports burndown PROJECT-123\n\n# Disable progress indicators for automation\nyt --no-progress reports velocity PROJECT-123\n\n# Enable debug logging for troubleshooting\nyt --debug issues list\n```\n\n## Documentation\n\n**\ud83d\udcda [Complete Documentation](https://yt-cli.readthedocs.io/en/latest/)**\n\nFor comprehensive guides, examples, and API reference, visit our documentation:\n\n- **[Quick Start Guide](https://yt-cli.readthedocs.io/en/latest/quickstart.html)** - Get up and running quickly\n- **[Command Reference](https://yt-cli.readthedocs.io/en/latest/commands/)** - Detailed documentation for all commands\n- **[Configuration Guide](https://yt-cli.readthedocs.io/en/latest/configuration.html)** - Customize your CLI experience\n- **[Development Guide](https://yt-cli.readthedocs.io/en/latest/development.html)** - Contributing and development setup\n\n## Available Commands\n\n| Command Group | Description |\n|--------------|-------------|\n| `yt issues` | Complete issue lifecycle management with search, comments, and relationships |\n| `yt articles` | Manage knowledge base articles with hierarchical organization and tagging |\n| `yt projects` | Create and manage YouTrack projects |\n| `yt users` | User management and permissions |\n| `yt time` | Time tracking with flexible duration formats |\n| `yt boards` | Agile board operations and management |\n| `yt reports` | Generate burndown and velocity reports |\n| `yt auth` | Authentication and credential management |\n| `yt config` | CLI configuration and preferences |\n| `yt admin` | Administrative operations (requires admin privileges) |\n\n## Command Examples\n\n### Issues\n```bash\n# Create and manage issues\nyt issues create PROJECT-123 \"Fix login bug\" --type Bug --priority High --assignee john.doe\nyt issues list --project-id PROJECT-123 --state Open\nyt issues search \"priority:Critical state:Open\"\nyt issues update ISSUE-456 --state \"In Progress\"\n\n# Comments and collaboration\nyt issues comments add ISSUE-456 \"Fixed in latest build\"\nyt issues attach upload ISSUE-456 /path/to/screenshot.png\n\n# Issue relationships\nyt issues links create ISSUE-456 ISSUE-789 \"depends on\"\nyt issues tag add ISSUE-456 urgent\n```\n\n### Articles\n```bash\n# Create and manage knowledge base\nyt articles create \"API Guide\" --content \"Comprehensive API documentation\"\n\n# Create articles from markdown files\nyt articles create \"Installation Guide\" --file docs/install.md\n\n# Organize existing documentation\nyt articles create \"Developer Guide\" --file dev-guide.md --project-id PROJECT-123\n\n# Tag articles for better organization\nyt articles tag ARTICLE-123 documentation tutorial\n\nyt articles tree --project-id PROJECT-123\nyt articles search \"authentication\"\n```\n\n### Projects\n```bash\n# Project management\nyt projects create \"Web App\" \"WEB\" --leader john.doe --template scrum\nyt projects list --show-archived\nyt projects configure WEB --description \"Main web application\"\n```\n\n### Time Tracking\n```bash\n# Flexible time logging\nyt time log ISSUE-123 \"2h 30m\" --work-type \"Development\"\nyt time report --start-date \"2024-01-01\" --end-date \"2024-01-31\"\nyt time summary --group-by user\n```\n\n### Reporting\n```bash\n# Project insights\nyt reports burndown PROJECT-123 --sprint \"Sprint 1\"\nyt reports velocity PROJECT-123 --sprints 10\n```\n\n## Help and Support\n\n- \ud83d\udcd6 **[Documentation](https://yt-cli.readthedocs.io/en/latest/)** - Comprehensive guides and examples\n- \ud83d\udc1b **[Issue Tracker](https://github.com/YOUR_USERNAME/yt-cli/issues)** - Report bugs and request features\n- \ud83d\udcac **[Discussions](https://github.com/YOUR_USERNAME/yt-cli/discussions)** - Ask questions and share ideas\n\n## Development\n\nThis project uses `uv` for dependency management.\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/YOUR_USERNAME/yt-cli.git\ncd yt-cli\n\n# Install dependencies\nuv sync --dev\n\n# Install pre-commit hooks\nuv run pre-commit install\n\n# Install the package in editable mode\nuv pip install -e .\n```\n\n### Testing\n\nThis project uses `pytest` with randomized test execution to ensure test reliability:\n\n```bash\n# Run tests (automatically randomized order)\nuv run pytest\n\n# Run tests with coverage\nuv run pytest --cov=yt_cli\n\n# Run tests on multiple Python versions\nuv run tox\n\n# Run tests with specific random seed for reproducibility\nuv run pytest --randomly-seed=12345\n\n# Disable randomization if needed\nuv run pytest --randomly-dont-shuffle\n```\n\n**Randomized Testing**: Tests run in random order by default using `pytest-randomly` to catch order-dependent bugs and improve test reliability. Each test run displays the random seed used, which can be reused to reproduce specific test failures.\n\n### Code Quality\n\nThis project uses comprehensive pre-commit hooks for code quality:\n\n```bash\n# Run all quality checks (automatically runs on commit)\nuv run pre-commit run --all-files\n\n# Individual quality checks\nuv run ruff check      # Linting\nuv run ruff format     # Code formatting\nuv run ty check        # Type checking\n```\n\n### Pre-commit Hooks\n\nThe project includes comprehensive pre-commit hooks that run automatically before each commit:\n\n- **File Quality**: Trailing whitespace, end-of-file fixes, YAML/TOML validation\n- **Code Quality**: Ruff linting and formatting, ty type checking\n- **Testing**: Full pytest test suite\n- **Security**: zizmor GitHub Actions security analysis\n\nTo run pre-commit hooks manually:\n\n```bash\n# Run all hooks on all files\nuv run pre-commit run --all-files\n\n# Run specific hook\nuv run pre-commit run pytest\n```\n\n### Security\n\n```bash\n# Check GitHub Actions workflows\nuv run zizmor .github/workflows/\n```\n\n## License\n\nMIT License - see LICENSE file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "YouTrack CLI - Command line interface for JetBrains YouTrack issue tracking system",
    "version": "0.5.0",
    "project_urls": {
        "Changelog": "https://github.com/ryan-murphy/yt-cli/blob/main/CHANGELOG.md",
        "Documentation": "https://yt-cli.readthedocs.io/",
        "Homepage": "https://github.com/ryan-murphy/yt-cli",
        "Issues": "https://github.com/ryan-murphy/yt-cli/issues",
        "Repository": "https://github.com/ryan-murphy/yt-cli.git"
    },
    "split_keywords": [
        "cli",
        " issue-tracking",
        " jetbrains",
        " project-management",
        " youtrack"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ad2e129dc47a16bdd8278f59e84be76f023866142521d656ba2b7dfce853fe86",
                "md5": "8fd3078b3fc0f5bd5d31072cfcc2da05",
                "sha256": "06c34ed8cb71144a359c942868711ca1dab2c0af6d8e5b5cb0f6331483dc1350"
            },
            "downloads": -1,
            "filename": "youtrack_cli-0.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8fd3078b3fc0f5bd5d31072cfcc2da05",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.14,>=3.9",
            "size": 108971,
            "upload_time": "2025-07-12T03:03:12",
            "upload_time_iso_8601": "2025-07-12T03:03:12.284192Z",
            "url": "https://files.pythonhosted.org/packages/ad/2e/129dc47a16bdd8278f59e84be76f023866142521d656ba2b7dfce853fe86/youtrack_cli-0.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "87e0beeb4c9d4933f66047467655c7224271ac4309c7c188823cb0e0758a7864",
                "md5": "33a22e43703d8e73783af59c1d2b09b0",
                "sha256": "1737863cda4aac1e2c9b5066e27e2d2877de9ac1a44e2190c4f3b2f420a944cb"
            },
            "downloads": -1,
            "filename": "youtrack_cli-0.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "33a22e43703d8e73783af59c1d2b09b0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.14,>=3.9",
            "size": 329225,
            "upload_time": "2025-07-12T03:03:14",
            "upload_time_iso_8601": "2025-07-12T03:03:14.494807Z",
            "url": "https://files.pythonhosted.org/packages/87/e0/beeb4c9d4933f66047467655c7224271ac4309c7c188823cb0e0758a7864/youtrack_cli-0.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-12 03:03:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ryan-murphy",
    "github_project": "yt-cli",
    "github_not_found": true,
    "lcname": "youtrack-cli"
}
        
Elapsed time: 0.43332s