Consolidate the redmine-cli source into tooling-cli/redmine/
(CLI source, Dockerfile, README, AGENTS.md) with all documentation
rewritten to invoke the container via raw docker run and credentials
from the centralized ~/.creds/redmine.env store. No bin/ wrapper, no
system-dependent paths in the docs.
Removes the old redmine-cli/ subdirectory, updates the
KNELCredsManager consumer table, and updates STATUS.md + AGENTS.md
to reference the new location and registry image.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
3.9 KiB
redmine-cli
A Docker container that lets an AI agent (or a human) access, edit, and close
Redmine issues through the Redmine REST API. Built on the
python-redmine library with a small command-line
wrapper.
Requirements
- Docker on the host.
- A Redmine instance with REST web services enabled (Administration → Settings → API → Enable REST API).
- A Redmine API key for the user the agent will act as (My account → API access key → Show / Reset).
Configuration
Credentials live in the centralized credential store at
~/.creds/redmine.env (see tooling-cli/KNELCredsManager). It holds:
REDMINE_URL=https://your-redmine.example.com
REDMINE_API_KEY=abc123...
Use .env.example in this directory as a template if you need to create one.
Permissions: directory 700, the env file 600 (owner read/write only).
Build
docker build -t kneldevstack-aimiddleware-redmine-cli:latest .
A prebuilt image is also available in the Gitea registry:
git.knownelement.com/reachableceo/redmine-cli:latest
Usage
Invoke the container directly with docker run. Pass credentials from the
centralized store via --env-file:
docker run --rm --env-file ~/.creds/redmine.env \
git.knownelement.com/reachableceo/redmine-cli:latest whoami
docker run --rm --env-file ~/.creds/redmine.env \
git.knownelement.com/reachableceo/redmine-cli:latest list --assigned-to-me
docker run --rm --env-file ~/.creds/redmine.env \
git.knownelement.com/reachableceo/redmine-cli:latest show 123
docker run --rm --env-file ~/.creds/redmine.env \
git.knownelement.com/reachableceo/redmine-cli:latest close 123 --notes "work complete"
To use a locally built image instead of the registry image, either set
REDMINE_CLI_IMAGE or swap the image tag for kneldevstack-aimiddleware-redmine-cli:latest.
Commands
| Command | Description |
|---|---|
whoami |
Show the authenticated user (also a connection test). |
projects |
List projects (id, identifier, name). |
statuses |
List issue statuses and which are "closed". |
list (ls) |
List issues. Filters below. |
show <id> |
Show full issue detail incl. note history. |
create |
Create an issue (--project, --subject, ...). |
update <id> |
Update an issue (status, notes, assignee, done, ...). |
close <id> |
Close an issue (first closed status, done ratio 100%). |
list filters
-m, --assigned-to-me— only issues assigned to the current user-a, --assigned-to <id>— filter by assignee user id-p, --project <id|identifier>— filter by project-s, --status <name|id|open|closed>— filter by status-l, --limit <n>— max results (default 50)--sort <spec>— Redmine sort spec (defaultpriority:desc,updated_on:desc)
update / create options
--status <name|id>— status name (case-insensitive) or numeric id-n, --notes <text>— add a journal note-a, --assigned-to <id>— assignee user id--done-ratio <0-100>— percent complete--subject <text>— change the subject (update/create)--priority <id>— priority id-d, --description <text>— description (createonly)-t, --tracker <id>— tracker id (createonly)
Environment variables
| Variable | Required | Description |
|---|---|---|
REDMINE_URL |
yes | Base URL of the Redmine instance. |
REDMINE_API_KEY |
yes | API key of the acting user. |