Skip to content

PRTIMES/jooto-cli

Repository files navigation

jooto-cli

Jooto API の CLI ツール。Go 製のシングルバイナリで、タスク・プロジェクト管理をコマンドラインから操作できます。

Jooto エンタープライズプランの API キーが必要です。

インストール

対応プラットフォーム

OS Arch
macOS (darwin) arm64 (Apple Silicon)
Linux arm64, amd64

インストールスクリプト(推奨)

curl -sfL https://raw.githubusercontent.com/PRTIMES/jooto-cli/main/install.sh | sh

インストール先を変更する場合は INSTALL_DIR を指定します:

curl -sfL https://raw.githubusercontent.com/PRTIMES/jooto-cli/main/install.sh | INSTALL_DIR=~/.local/bin sh

GitHub CLI で手動ダウンロード

gh release download --repo PRTIMES/jooto-cli --pattern '*_darwin_arm64.tar.gz'
tar -xzf jooto_darwin_arm64.tar.gz
sudo mv jooto /usr/local/bin/

ソースからビルドしてインストール

開発用途やリリース前の動作確認には、ローカルビルド & インストール を参照してください。

セットアップ

プロファイルの登録

API キーをプロファイルとして登録します。登録時に組織情報が自動取得されます。

jooto profile add <プロファイル名> <API キー>

複数のプロファイルを登録して切り替えられます:

jooto profile add work "api-key-for-work"
jooto profile add personal "api-key-for-personal"
jooto profile use work           # デフォルトプロファイルを設定
jooto profile list               # 登録済みプロファイル一覧
jooto profile show [name]        # プロファイル詳細を表示
jooto profile remove <name>      # プロファイルを削除

設定ファイルは ~/.config/jooto/config.toml に保存されます。

プロファイルの選択順序

API キーは以下の優先順位で決定されます:

  1. --profile=<name> フラグ
  2. 環境変数 JOOTO_PROFILE
  3. config.tomldefault_profile

使い方

jooto <object> <action> [arguments] [options]

すべてのコマンドは JSON を stdout に出力します。エラーは stderr に出力し、終了コード 1 で終了します。

jooto help                    # コマンド一覧
jooto help <object>           # オブジェクトのアクション一覧
jooto help <object> <action>  # アクションの詳細ヘルプ
jooto version                 # バージョン表示

コマンド一覧

組織・ユーザー

コマンド 説明
org get 組織情報を取得する
user list ユーザー一覧を取得する
user get <id> ユーザー情報を取得する

プロジェクト

コマンド 説明
board list [--archived|--active] プロジェクト一覧を取得する
board create <title> [description] プロジェクトを新規作成する
board update <board_id> [options] プロジェクト情報を更新する
board delete <board_id> プロジェクトを削除する
member list <board_id> メンバー一覧を取得する

リスト

コマンド 説明
list list <board_id> [--archived] リスト一覧を取得する
list create <board_id> <name> [color] リストを作成する
list update <board_id> <list_id> [options] リスト情報を更新する
list delete <board_id> <list_id> リストを削除する
list reorder <board_id> <id1,id2,...> リスト順序を変更する

タスク

コマンド 説明
task list <board_id> [options] 条件でタスク一覧を絞り込む
task get <board_id> <task_id> タスク情報を取得する
task create <board_id> <list_id> <name> [options] タスクを作成する
task update <board_id> <task_id> [options] タスク情報を更新する
task delete <board_id> <task_id> タスクを削除する
task search <board_id> [query] キーワードでタスクを全文検索する
task move <task_id> <board_id> <list_id> タスクを移動する
task archive <board_id> <task_id> タスクをアーカイブする

コメント

コマンド 説明
comment list <task_id> コメント一覧を取得する
comment get <task_id> <comment_id> コメント情報を取得する
comment create <task_id> <content> コメントを追加する
comment update <task_id> <comment_id> <content> コメントを更新する

ラベル

コマンド 説明
label list <board_id> ラベル一覧を取得する
label create <board_id> <name> [color] ラベルを追加する
label update <board_id> <label_id> [options] ラベル情報を更新する
label delete <board_id> <label_id> ラベルを削除する

チェックリスト

コマンド 説明
checklist list <task_id> チェックリスト一覧を取得する
checklist create <task_id> <title> チェックリストを追加する
checklist update <task_id> <checklist_id> <title> チェックリスト情報を更新する
checklist delete <task_id> <checklist_id> チェックリストを削除する
item list <checklist_id> アイテム一覧を取得する
item create <checklist_id> <content> アイテムを追加する
item update <checklist_id> <item_id> [options] アイテム情報を更新する
item delete <checklist_id> <item_id> アイテムを削除する

その他

コマンド 説明
rate-limit レート制限情報を取得する
help [object] [action] ヘルプを表示する
version バージョンを表示する

開発者向け

必要なツール

Go のインストール

macOS:

brew install go

Linux:

curl -fsSL https://go.dev/dl/go1.22.0.linux-amd64.tar.gz | sudo tar -C /usr/local -xzf -
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc

GoReleaser のインストール

macOS:

brew install goreleaser

Linux / その他:

go install github.com/goreleaser/goreleaser/v2@latest

ビルド

make build          # ./jooto バイナリを生成
make clean          # ビルド成果物を削除

ローカルビルド & インストール

ソースから直接ビルドしてインストールします。バージョンには日時と Git ハッシュが埋め込まれます。

./dev-install.sh                          # /usr/local/bin にインストール
INSTALL_DIR=~/.local/bin ./dev-install.sh # インストール先を変更

プロジェクト構成

main.go          # エントリポイント・コマンドルーティング
cmd/             # コマンドハンドラー
api/             # Jooto API クライアント
config/          # プロファイル・設定管理 (~/.config/jooto/config.toml)
install.sh       # リリース用インストールスクリプト
dev-install.sh   # 開発用ローカルインストールスクリプト

リリース

  1. Git タグを作成してプッシュ:
git tag v0.2.0
git push origin v0.2.0
  1. GoReleaser でリリース実行:
make release

これにより以下が自動で行われます:

  • 各プラットフォーム向けクロスコンパイル(CGO 無効)
  • tar.gz アーカイブとチェックサムファイルの生成
  • GitHub Releases へのアップロード(install.sh 含む)
  • バージョン情報の埋め込み(-ldflags 経由)

リリースには環境変数 GITHUB_TOKEN が必要です。

ライセンス

Apache License 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors