youtrack-cli 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
youtrack_cli/__init__.py
ADDED
youtrack_cli/main.py
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"""Main entry point for the YouTrack CLI."""
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
import click
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@click.group()
|
|
9
|
+
@click.version_option()
|
|
10
|
+
@click.option(
|
|
11
|
+
"--config",
|
|
12
|
+
"-c",
|
|
13
|
+
type=click.Path(exists=True),
|
|
14
|
+
help="Path to configuration file",
|
|
15
|
+
)
|
|
16
|
+
@click.option(
|
|
17
|
+
"--verbose",
|
|
18
|
+
"-v",
|
|
19
|
+
is_flag=True,
|
|
20
|
+
help="Enable verbose output",
|
|
21
|
+
)
|
|
22
|
+
@click.pass_context
|
|
23
|
+
def main(ctx: click.Context, config: Optional[str], verbose: bool) -> None:
|
|
24
|
+
"""YouTrack CLI - Command line interface for JetBrains YouTrack."""
|
|
25
|
+
ctx.ensure_object(dict)
|
|
26
|
+
ctx.obj["config"] = config
|
|
27
|
+
ctx.obj["verbose"] = verbose
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@main.group()
|
|
31
|
+
def issues() -> None:
|
|
32
|
+
"""Manage issues."""
|
|
33
|
+
pass
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
@main.group()
|
|
37
|
+
def articles() -> None:
|
|
38
|
+
"""Manage knowledge base articles."""
|
|
39
|
+
pass
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@main.group()
|
|
43
|
+
def projects() -> None:
|
|
44
|
+
"""Manage projects."""
|
|
45
|
+
pass
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
@main.group()
|
|
49
|
+
def users() -> None:
|
|
50
|
+
"""User management."""
|
|
51
|
+
pass
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
@main.group()
|
|
55
|
+
def time() -> None:
|
|
56
|
+
"""Time tracking operations."""
|
|
57
|
+
pass
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@main.group()
|
|
61
|
+
def boards() -> None:
|
|
62
|
+
"""Agile board operations."""
|
|
63
|
+
pass
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
@main.group()
|
|
67
|
+
def reports() -> None:
|
|
68
|
+
"""Generate cross-entity reports."""
|
|
69
|
+
pass
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
@main.group()
|
|
73
|
+
def auth() -> None:
|
|
74
|
+
"""Authentication management."""
|
|
75
|
+
pass
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
@main.group()
|
|
79
|
+
def config() -> None:
|
|
80
|
+
"""CLI configuration."""
|
|
81
|
+
pass
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
@main.group()
|
|
85
|
+
def admin() -> None:
|
|
86
|
+
"""Administrative operations."""
|
|
87
|
+
pass
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
if __name__ == "__main__":
|
|
91
|
+
main()
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: youtrack-cli
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: YouTrack CLI - Command line interface for JetBrains YouTrack issue tracking system
|
|
5
|
+
Requires-Python: <3.14,>=3.9
|
|
6
|
+
Requires-Dist: click>=8.0.0
|
|
7
|
+
Requires-Dist: httpx>=0.24.0
|
|
8
|
+
Requires-Dist: pydantic-settings>=2.0.0
|
|
9
|
+
Requires-Dist: pydantic>=2.0.0
|
|
10
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
11
|
+
Requires-Dist: rich>=13.0.0
|
|
12
|
+
Requires-Dist: textual>=0.40.0
|
|
13
|
+
Provides-Extra: dev
|
|
14
|
+
Requires-Dist: mypy>=1.0.0; extra == 'dev'
|
|
15
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
|
16
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
17
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
18
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
19
|
+
Requires-Dist: tox>=4.0.0; extra == 'dev'
|
|
20
|
+
Requires-Dist: types-click>=7.0.0; extra == 'dev'
|
|
21
|
+
Requires-Dist: zizmor>=0.1.0; extra == 'dev'
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
|
|
24
|
+
# YouTrack CLI
|
|
25
|
+
|
|
26
|
+
A command line interface for JetBrains YouTrack issue tracking system.
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
### From PyPI (when available)
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
pip install yt-cli
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### From source
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
git clone https://github.com/YOUR_USERNAME/yt-cli.git
|
|
40
|
+
cd yt-cli
|
|
41
|
+
uv sync --dev
|
|
42
|
+
uv pip install -e .
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Usage
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
yt --help
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Available Commands
|
|
52
|
+
|
|
53
|
+
- `yt issues` - Manage issues
|
|
54
|
+
- `yt articles` - Manage knowledge base articles
|
|
55
|
+
- `yt projects` - Manage projects
|
|
56
|
+
- `yt users` - User management
|
|
57
|
+
- `yt time` - Time tracking operations
|
|
58
|
+
- `yt boards` - Agile board operations
|
|
59
|
+
- `yt reports` - Generate cross-entity reports
|
|
60
|
+
- `yt auth` - Authentication management
|
|
61
|
+
- `yt config` - CLI configuration
|
|
62
|
+
- `yt admin` - Administrative operations
|
|
63
|
+
|
|
64
|
+
## Development
|
|
65
|
+
|
|
66
|
+
This project uses `uv` for dependency management.
|
|
67
|
+
|
|
68
|
+
### Setup
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Clone the repository
|
|
72
|
+
git clone https://github.com/YOUR_USERNAME/yt-cli.git
|
|
73
|
+
cd yt-cli
|
|
74
|
+
|
|
75
|
+
# Install dependencies
|
|
76
|
+
uv sync --dev
|
|
77
|
+
|
|
78
|
+
# Install the package in editable mode
|
|
79
|
+
uv pip install -e .
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Testing
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Run tests
|
|
86
|
+
uv run pytest
|
|
87
|
+
|
|
88
|
+
# Run tests with coverage
|
|
89
|
+
uv run pytest --cov=yt_cli
|
|
90
|
+
|
|
91
|
+
# Run tests on multiple Python versions
|
|
92
|
+
uv run tox
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Linting and Formatting
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Check code style
|
|
99
|
+
uv run ruff check
|
|
100
|
+
|
|
101
|
+
# Format code
|
|
102
|
+
uv run ruff format
|
|
103
|
+
|
|
104
|
+
# Type checking
|
|
105
|
+
uv run mypy yt_cli
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Security
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Check GitHub Actions workflows
|
|
112
|
+
uv run zizmor .github/workflows/
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## License
|
|
116
|
+
|
|
117
|
+
MIT License - see LICENSE file for details.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
youtrack_cli/__init__.py,sha256=ZsKWiIiDecQSPcyGrKqQWX46M8_kh-kXWVeAhPU16OM,91
|
|
2
|
+
youtrack_cli/main.py,sha256=wij-IVh6Bycz4cVFEKmpMpQLqpg-gtoEjuA2uSbGesY,1445
|
|
3
|
+
youtrack_cli-0.1.0.dist-info/METADATA,sha256=NoD388zxLGGFDu-pscbOEOHK1v1z8hJXQtMb00LoBpQ,2303
|
|
4
|
+
youtrack_cli-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
5
|
+
youtrack_cli-0.1.0.dist-info/entry_points.txt,sha256=PX9C8Sxa75BesPNwrCq4MDcBmGJFbxB9jDJRVhwRBIc,46
|
|
6
|
+
youtrack_cli-0.1.0.dist-info/RECORD,,
|