mcpField
R
redmine-cli

redmine-cli

github.com/diskd-ai生産性158 回インストール38 週間前に更新
リポジトリ

redmine-cli について

Redmine CLI は、外部依存なしで Redmine REST API を操作するコマンドラインスキルです。プロジェクトやチケットの管理に加え、コメントやチケット間の関係を扱い、JSON出力による自動化にも対応します。

主な機能

  1. 01プロジェクトとチケットの一覧表示
  2. 02チケットの作成と編集
  3. 03コメントの追加・更新・削除
  4. 04チケット間の関係の管理
  5. 05設定済みインスタンスの選択

活用シーン

  1. 01クエリやステータスでチケットを検索
  2. 02タスクやバグ報告の作成
  3. 03チケットの進捗メモを記録
  4. 04ブロック関係や関連チケットの登録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/diskd-ai/redmine-cli --skill redmine-cli

インストール後、Claude Code で/redmine-cliを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
README.md
agents/
openai.yaml
references/
rest-api.md
scripts/
redmine_cli.py

詳細

Redmine CLI

同梱の scripts/redmine_cli.py(外部依存関係なし)を使用すると、ターミナルから Redmine を操作できます。認証情報と設定は ~/.red/config.json から読み込みます(上書き用に ./.red/config.json も任意で指定できます)。

クイックスタート

  1. Redmine の API キーを作成します(Redmine の UI:個人設定 -> API アクセスキー)。
  2. ~/.red/config.json を作成します(v1/単一インスタンス形式)。
{
  "api-key": "YOUR_API_KEY",
  "editor": "",
  "pager": "",
  "project": "",
  "project-id": 0,
  "server": "https://redmine.example.com",
  "user-id": 0
}
  1. 接続を確認します。
python scripts/redmine_cli.py project list --json | head

マルチインスタンス(--rid)(任意)

~/.red/config.json が v2/複数サーバー構成(参照用の red-cli と同様)の場合は、--rid でサーバーを選択します。

python scripts/redmine_cli.py issue list --rid prod
python scripts/redmine_cli.py issue list --rid 1

よく使う操作

プロジェクトを一覧表示します(デフォルトの出力形式は TSV です。自動化には --json を使用します)。

python scripts/redmine_cli.py project list
python scripts/redmine_cli.py project list --json

チケットを一覧表示します(--all または issue list all を指定しない限り、設定の project-id が使用されます)。

python scripts/redmine_cli.py issue list
python scripts/redmine_cli.py issue list --json --limit 10 --page 1
python scripts/redmine_cli.py issue list --query "login fails" --status_id 1 --sort priority
python scripts/redmine_cli.py issue list --issue-urls
python scripts/redmine_cli.py issue list --project   # include project column in output

利用可能なプロジェクト、トラッカー、ステータス、優先度を一覧表示します(チケット作成前に確認すると便利です)。

python scripts/redmine_cli.py issue meta

チケットを作成します(デフォルトのトラッカーは「Task」です。名前で上書きするには --tracker を使用します)。

python scripts/redmine_cli.py issue create --project-id 1 --subject "New feature request" --json
python scripts/redmine_cli.py issue create --subject "Bug fix" --description "Details here" --json
python scripts/redmine_cli.py issue create --subject "Subtask" --parent-id 123 --json
python scripts/redmine_cli.py issue create --subject "A bug" --tracker Bug --priority-id 3 --json

チケットを取得します。

python scripts/redmine_cli.py issue view 12345
python scripts/redmine_cli.py issue view 12345 --journals

すべてのプロジェクトのチケットを一覧表示します。

python scripts/redmine_cli.py issue list all
python scripts/redmine_cli.py issue list --all

現在のユーザーに割り当てられたチケットのみを一覧表示します。

python scripts/redmine_cli.py issue list me

チケットに記録を追加します。

python scripts/redmine_cli.py issue note 12345 -m "Fixed in commit abc123"
python scripts/redmine_cli.py issue note 12345 -m "Customer-visible" --private
python scripts/redmine_cli.py issue note 12345 --message-file ./notes.md
python scripts/redmine_cli.py issue note 12345 --message-file - < ./notes.md

チケットのフィールド(件名、説明、ステータス、優先度、トラッカー、親チケット、担当者)を編集します。

python scripts/redmine_cli.py issue edit 12345 --description "New description"
python scripts/redmine_cli.py issue edit 12345 --description-file ./description.md
python scripts/redmine_cli.py issue edit 12345 --subject "Renamed" --status-id 2
python scripts/redmine_cli.py issue edit 12345 --parent-id 100       # make it a subtask
python scripts/redmine_cli.py issue edit 12345 --assigned-to-id 5 --priority-id 3

チケットの関連(関連する、ブロックする、重複する、先行する、後続する)を管理します。

python scripts/redmine_cli.py issue relate add 12345 67890                    # relates (default)
python scripts/redmine_cli.py issue relate add 12345 67890 --type blocks      # 12345 blocks 67890
python scripts/redmine_cli.py issue relate list 12345                          # list relations
python scripts/redmine_cli.py issue relate list 12345 --json
python scripts/redmine_cli.py issue relate remove 42                           # delete by relation id

既存のコメント(記録)を更新または削除します。

  1. issue view --journals の出力から記録 ID を確認します:issue.journals[].id
  2. 更新または削除します。
python scripts/redmine_cli.py issue comment update 5993 -m "Updated comment text"
python scripts/redmine_cli.py issue comment update 5993 --message-file ./comment.md
python scripts/redmine_cli.py issue comment remove 5993

現在のユーザー情報を表示します。

python scripts/redmine_cli.py user me

トラブルシューティング

  • HTTP 401/403:API キーがないか無効、REST API が無効、または権限が不足しています。
  • HTTP 404:ベース URL が正しくありません(/projects のようなサブパスではなく、Redmine のルートを指定してください)。
  • 設定が見つからない場合:~/.red/config.json が存在し、有効な JSON であることを確認してください。

参考資料

  • Redmine REST API に関するメモ(エンドポイント、ペイロード、フィルター):references/rest-api.md

コメント