はじめに
Jiraのチケット作成、毎回WebUIを開いてポチポチ入力していませんか?
私のプロジェクトではチケット管理にJiraを使っていますが、毎日のチケット作成でたくさんの時間を使っていました。特に以下のような悩みを感じていました。
- 画面遷移が多くて面倒
- 仕様書の内容をコピペで転記している
- 複数チケットをまとめて作りたいのに1件ずつ手作業
こうした悩みは jira-cli を導入することで解決できました。ターミナルからチケットを作成でき、Claude CodeやChatGPTを使うことで、チケット作成をほぼAIで自動化することが可能できました。
この記事では、jira-cliのセットアップからチケット作成、さらに仕様書作成まで実施した備忘録となります。
jira-cli とは
jira-cli は、Go製のオープンソースJiraクライアントツールです。
- Atlassian Cloud / Server の両方に対応
- 対話式・ワンライナーの両方でチケット操作が可能
- JQLによる柔軟な検索にも対応
セットアップ
前提条件
- Homebrew がインストール済みであること
- Atlassian アカウントを持っていること
- Jira API トークンを作成済みであること
API トークンの取得
- Atlassian APIトークン管理ページ にアクセス
- 「APIトークンを作成」をクリック
- ラベルを入力(例:
jira-cli)して「作成」 - 表示されたトークンをコピーして安全な場所に保管
インストール
brew install jira-cli
API トークンを環境変数に設定
export JIRA_API_TOKEN="コピーしたAPIトークン"
永続化する場合は ~/.zshrc に追加します。
echo 'export JIRA_API_TOKEN="your-token"' >> ~/.zshrc
source ~/.zshrc
初期設定(jira init)
jira init
対話式で以下の項目を入力します。
| 質問 | 入力する内容 |
|---|---|
| Installation type |
Cloud(Atlassian Cloud の場合) |
| Link to Jira server | https://yourcompany.atlassian.net |
| Login email | Jira にログインするメールアドレス |
| Default project | プロジェクトキー(例: PROJ) |
| Default board | 使用するボード番号 |
設定ファイルは ~/.config/.jira/.config.yml に保存されます。
基本的なチケット操作
チケットを作成する
対話式で作成
jira issue create
課題タイプ、タイトル、説明などを順番に聞かれるので入力していきます。
ワンライナーで作成
jira issue create -t Task -s "チケットのタイトル" -b "説明文"
主要なオプション一覧:
| オプション | 意味 | 例 |
|---|---|---|
-t |
課題タイプ |
Task, Bug, 新機能
|
-s |
サマリー(タイトル) | "ユーザー認証機能の実装" |
-b |
説明(本文) | "詳細な説明文" |
-p |
優先度 |
High, Medium, Low
|
-l |
ラベル |
backend, frontend
|
--no-input |
非対話モード(スクリプト用) | — |
実践的な例
jira issue create \
-t 新機能 \
-s "[PROJ-001] ユーザー認証機能" \
-p High \
-l backend \
-b "ユーザーがメールアドレスとパスワードでサインアップ・ログインできる認証機能を提供する。
## 機能要件
- メールアドレスとパスワードでサインアップできる
- メールアドレスとパスワードでログインできる
- ログアウトできる
- パスワードリセットメールを送信できる
## 受け入れ条件
- 新規ユーザーがサインアップしてログインできること
- 誤ったパスワードでログインが拒否されること
- ログアウト後にトークンが無効になること"
チケット一覧を表示する
# デフォルトプロジェクトのチケット一覧
jira issue list
# 自分にアサインされたチケットのみ
jira issue list -a$(jira me)
# JQL で柔軟に検索
jira issue list -q "project = PROJ AND status = 'To Do' ORDER BY priority DESC"
チケットの詳細を表示する
jira issue view PROJ-123
チケットのステータスを変更する
jira issue move PROJ-123 "進行中"
コメントを追加する
jira issue comment add PROJ-123 "対応完了しました"
実践: 仕様書からチケットを一発作成する
ここからは、私が実際に行っている仕様書(Markdownファイル)を元にチケットを自動で起票する方法を紹介します。
仕様駆動開発のワークフロー
私たちのチームでは「仕様駆動開発(Spec-Driven Development)」を導入しています。
仕様書作成(docs/specs/) → Jiraチケット作成 → 実装 → テスト → Done
仕様書はMarkdownで管理し、その内容をそのままJiraチケットの説明に流し込みをしています。私は概要とユーザーストーリーの大枠を書いて、残りはClaudeCaudeを使いながら仕様書テンプレートを埋めてます。
仕様書テンプレート
# 機能名
## 概要
この機能が何を実現するかを1〜2文で記載する。
## ユーザーストーリー
なぜこの機能が必要なのかを記載する。
## 受け入れ条件
- [ ] 条件1
- [ ] 条件2
- [ ] 条件3
## 機能要件
- 要件1
- 要件2
- 要件3
### 非機能要件
- 要件1
- 要件2
- 要件3
仕様書の内容をJiraチケットに流し込む
cat コマンドと組み合わせることで、仕様書の内容をそのまま説明文として使えます。
jira issue create \
-t 新機能 \
-s "[PROJ-001] ユーザー認証機能" \
-b "$(cat docs/specs/PROJ-001_ユーザー認証.md)"
Tips
AI(Claude Code / ChatGPT)との連携
Claude Code などのAIエージェントツールを使っている場合、以下のように指示を出すだけでチケットが完成します。
AIへのプロンプト例:
xxxx.md の内容を元に、Jiraチケットを作成して。課題タイプは Task、タイトルは「ユーザー認証機能の実装」で
AIが内部で jira issue create を組み立てて実行してくれるため、もはや自分でコマンドを打つ必要すらなくなります。
利用可能な課題タイプを確認するには下記のコマンドで確認できます
jira project list
まとめ
jira-cliとAIを組み合わせることで、チケット作成を大幅に効率化できました。特に仕様駆動開発と組み合わせることで、「仕様書を書いたらチケットも完成」という理想的なワークフローが実現します。ぜひ試してみてください。