Redmine CLI tool
Project description
redi
redi is redmine CLI tool
install
I recommend installation via uv.
uv tool install redtile
install(for development)
In repository root
uv tool install -e .
setup
config
To use redi, you need to set remdine url and redmine_api_key in one of below ways.
redi init (interactive, recommended for first time)
redi init
Then, profile will be created in ~/.config/redi/config.toml like below format.
You can also create profile by redi config create, and update profile by redi config update (and also by manual edit).
default_profile = "default"
["default"]
redmine_url = "https://redmine.example.com"
redmine_api_key = "<your_api_key>"
default_project_id = "1"
wiki_project_id = "2"
editor = "nvim"
["sub"]
redmine_url = "https://redmine.example.com"
redmine_api_key = "<your_api_key>"
default_project_id = "2"
wiki_project_id = "3"
editor = "code"
environment variable
export REDMINE_URL=https://redmine.example.com
export REDMINE_API_KEY=<your_api_key>
setup completion
uv tool install argcomplete
echo 'eval "$(register-python-argcomplete redi)"' >> ~/.zshrc
usage(example)
# init
redi init (interactive)
# config (alias: c)
redi config
redi config create <profile_name> --url <url> --api_key <key> # create new profile
redi config create <profile_name> --url <url> --api_key <key> --set_default
redi config update --default_profile <profile_name> # switch profile
redi config update <profile_name> --editor nvim # update profile
redi --profile <profile_name> issue # 一時的にプロファイルを切り替えて実行
# project (alias: p)
redi project # list projects
redi project list # 同上 (`redi project l` / `redi p list` / `redi p l` / `redi p` も同じ)
redi project view <project_id> # view project
redi project view <project_id> --include trackers,issue_categories
redi project create <name> <identifier>
redi project create <name> <identifier> -d "description" --is_public true
redi project update <project_id> --name renamed_project
# issue (alias: i)
redi issue # list issues
redi issue -p <project_id> -a me -s open
redi issue -q <query_id>
redi issue view <issue_id>
redi issue view <issue_id> --web # view issue with web browser
redi issue view <issue_id> --include journals,attachments,relations
redi issue create # (interactive)
redi issue create "subject" -p <project_id> -t <tracker_id> -a <user_id> -d "description"
redi issue update <issue_id> # (interactive)
redi issue update <issue_id> --status_id <status_id> -n "notes"
redi issue update <issue_id> --relate relates --to <other_issue_id>
redi issue update <issue_id> --attach ./foo.png --attach ./bar.log
redi issue comment <issue_id> "hello~"
redi issue delete <issue_id> # (confirm before delete)
redi issue delete <issue_id> -y # skip confirmation
# version (alias: v)
redi version # list versions(fixed_versions)
redi version -p <project_id>
redi version view <version_id>
redi version create <name> -p <project_id> --due_date 2026-12-31 --status open
redi version update <version_id> --status closed
# wiki (alias: w)
redi wiki
redi wiki -p <project_id>
redi wiki view <page_title>
redi wiki create # (interactive)
redi wiki update # (interactive)
# file (プロジェクトファイル)
redi file -p <project_id> # list
redi file create ./foo.zip -p <project_id> -d "description"
# attachment
redi attachment view <attachment_id>
redi attachment update <attachment_id> -f new_name.png -d "desc"
redi attachment delete <attachment_id> # confirm before delete (-y to skip)
# relation (イシュー関係性詳細)
redi relation view <relation_id>
# time_entry (作業時間)
redi time_entry -p <project_id> -u me
redi time_entry create 1.5 -i <issue_id> -a <activity_id> -c "comment"
redi time_entry update <time_entry_id> --hours 2.0
redi time_entry delete <time_entry_id> # confirm before delete (-y to skip)
# me (自分のアカウント)
redi me
redi me update -f <firstname> -l <lastname> -m <mail>
# membership (alias: m)
redi membership -p <project_id>
redi membership view <membership_id>
# news
redi news -p <project_id>
# issue_category
redi issue_category -p <project_id>
redi issue_category create "category" -p <project_id>
# others
redi user # list users (alias: u)
redi tracker # list trackers
redi issue_status # list issue statuses
redi issue_priority # list priorities
redi time_entry_activity # list activities
redi document_category # list document categories
redi role # list roles
redi group # list groups
redi custom_field # list custom fields
redi query # list custom queries
redi search "keyword"
redi --version
redi --tui
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file redtile-0.0.21.tar.gz.
File metadata
- Download URL: redtile-0.0.21.tar.gz
- Upload date:
- Size: 46.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eff490e2f207eb400854aaa1f84baf0ba91212ea3659e543da8dc33f130f2721
|
|
| MD5 |
14ef7b13f6e2e7249f3deebae690b658
|
|
| BLAKE2b-256 |
ad9ed156ff9264463ba22cc7e5b337f9c569ce17dc936dc3e0a2a2d4616010a4
|
Provenance
The following attestation bundles were made for redtile-0.0.21.tar.gz:
Publisher:
release.yml on kawagh/redi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
redtile-0.0.21.tar.gz -
Subject digest:
eff490e2f207eb400854aaa1f84baf0ba91212ea3659e543da8dc33f130f2721 - Sigstore transparency entry: 1382918100
- Sigstore integration time:
-
Permalink:
kawagh/redi@e0623c774a3e319d56786336750f734701b5de25 -
Branch / Tag:
refs/tags/0.0.21 - Owner: https://github.com/kawagh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e0623c774a3e319d56786336750f734701b5de25 -
Trigger Event:
push
-
Statement type:
File details
Details for the file redtile-0.0.21-py3-none-any.whl.
File metadata
- Download URL: redtile-0.0.21-py3-none-any.whl
- Upload date:
- Size: 78.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a06a6490572edaa483ab171d848faf97e0cb1ab723e3b46c4c32130d88b9f86
|
|
| MD5 |
749340be389217fcb1d187bb0d0396a4
|
|
| BLAKE2b-256 |
a17f93a3ea7e9516d95f6bb795c5434deb2f557d0b0867b5fed05ff54c8c1662
|
Provenance
The following attestation bundles were made for redtile-0.0.21-py3-none-any.whl:
Publisher:
release.yml on kawagh/redi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
redtile-0.0.21-py3-none-any.whl -
Subject digest:
8a06a6490572edaa483ab171d848faf97e0cb1ab723e3b46c4c32130d88b9f86 - Sigstore transparency entry: 1382918119
- Sigstore integration time:
-
Permalink:
kawagh/redi@e0623c774a3e319d56786336750f734701b5de25 -
Branch / Tag:
refs/tags/0.0.21 - Owner: https://github.com/kawagh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e0623c774a3e319d56786336750f734701b5de25 -
Trigger Event:
push
-
Statement type: