Initial commit: zzpyjenkins CLI tool for Jenkins interaction
A CLI tool built with Click and Rich to interact with Jenkins servers. Provides commands for viewing server info, listing jobs, triggering builds, checking build status, and watching build progress. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
39
CLAUDE.md
Normal file
39
CLAUDE.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
zzpyjenkins is a CLI tool to interact with Jenkins servers for building jobs. It wraps the `python-jenkins` library with a user-friendly CLI using Click and rich terminal output.
|
||||
|
||||
## Development Commands
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
uv sync
|
||||
|
||||
# Run the CLI
|
||||
uv run zzpyjenkins --help
|
||||
|
||||
# Format code
|
||||
uv run ruff format .
|
||||
|
||||
# Lint
|
||||
uv run ruff check .
|
||||
|
||||
# Run tests
|
||||
uv run pytest
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
- **`src/zzpyjenkins/cli.py`**: Click-based CLI entry point. Defines commands (`info`, `list`, `build`, `status`, `watch`) and handles parameter parsing. Uses `get_client()` to create `JenkinsClient` from environment variables.
|
||||
|
||||
- **`src/zzpyjenkins/jenkins_client.py`**: `JenkinsClient` class that wraps `python-jenkins` library. Handles all Jenkins API interactions and formats output using Rich (tables, colored status).
|
||||
|
||||
## Configuration
|
||||
|
||||
The tool requires these environment variables:
|
||||
- `JENKINS_URL`: Jenkins server URL
|
||||
- `JENKINS_USERNAME`: Jenkins username
|
||||
- `JENKINS_PASSWORD` or `JENKINS_TOKEN`: API token or password
|
||||
Reference in New Issue
Block a user