Files
mrcharles 67f8056e0b refactor(tooling): merge redmine-cli into tooling-cli/redmine
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
2026-08-10 09:53:42 -05:00

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 (default priority: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 (create only)
  • -t, --tracker <id> — tracker id (create only)

Environment variables

Variable Required Description
REDMINE_URL yes Base URL of the Redmine instance.
REDMINE_API_KEY yes API key of the acting user.