mcpField
T
Ticketron (tix)

Ticketron (tix)

ローカル
github.com/karolswdev生産性080 週間前に更新

Ticketron (tix) について

Ticketron(`tix`)は、JIRAの課題を作成・検索するユーザー向けのコマンドラインツールです。OpenAIで文脈に応じた課題内容を生成し、自然言語の検索をJQLに変換します。設定とコンテキストを管理するコマンドも備えています。

主な機能

  1. 01自然言語からJIRA課題を作成
  2. 02JQLまたは自然言語で課題を検索
  3. 03OpenAIによる課題詳細の生成
  4. 04設定とLLMコンテキストの管理
  5. 05OSキーチェーンまたは環境変数でAPIキーを保存
  6. 06JSON、YAML、TSVで出力

活用シーン

  1. 01短い説明から詳細なJIRA課題を作成
  2. 02自然言語で課題を検索
  3. 03課題生成にプロジェクトのコンテキストを反映

MCP 対応

設定したURLで稼働中の`jira-mcp-server`に接続し、JIRAとのやり取りに利用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Ticketron (tix)

LLM を活用した、JIRA 用のスマートなコマンドラインヘルパーです。

Go Report Card GoDoc CI codecov

概要

Ticketron(tix)を使えば、コマンドラインから JIRA を直接操作できます。jira-mcp-server と OpenAI を介して大規模言語モデル(LLM)の能力を活用し、自然言語または簡潔なコマンドで JIRA チケットを作成、検索できます。主な目的は、関連するコンテキストを自動的に追加し、チケット管理をより迅速かつ直感的にすることで、ワークフローを効率化することです。

機能

  • 自然言語で JIRA イシューを作成(tix create ...)
  • JQL で JIRA イシューを検索(tix search ...)
  • LLM によるコンテキストに応じたチケット生成(OpenAI を使用)
  • 設定管理(tix config init|show|locate|set-key)
  • API キーの安全な保存(OS のキーチェーンまたは環境変数)
  • LLM コンテキストの管理(tix context show|edit|add)
  • シェル補完に対応(Bash、Zsh、Fish、PowerShell)
  • 構造化出力形式(JSON、YAML、TSV)
  • デバッグを容易にする構造化ログ

インストール

前提条件
  • Go: バージョン 1.23.8 以降。
  • jira-mcp-server: jira-mcp-server の稼働中のインスタンスへのアクセス(JIRA との通信に必要)。
  • OpenAI API キー: LLM 機能に必要です。
  • Make: 開発作業(ビルド、テスト、リンティング)に必要です。
インストールコマンド
go install github.com/karolswdev/ticketron/cmd/tix@latest

$GOPATH/bin または $HOME/go/bin が PATH に含まれていることを確認してください。

シェル補完

tix は Bash、Zsh、Fish、PowerShell 用のシェル補完スクリプトの生成に対応しています。

お使いのシェル用のスクリプトを生成するには、completion コマンドを使用します。

# For Bash
tix completion bash

# For Zsh
tix completion zsh

# For Fish
tix completion fish

# For PowerShell
tix completion powershell

コマンドの出力に表示される手順に従って、現在のセッションで補完を読み込むか、自動的に読み込まれるよう設定してください。

Bash の例(~/.bashrc または ~/.bash_profile に追加):

source <(tix completion bash)

Zsh の例(~/.zshrc に追加):

# Ensure compinit is loaded
autoload -U compinit; compinit

# Load completions
source <(tix completion zsh)

お使いの環境に最適な設定手順については、tix completion [your-shell] の出力を参照してください。

クイックスタート

  1. tix をインストールします:

    go install github.com/karolswdev/ticketron/cmd/tix@latest
    

    ($GOPATH/bin または $HOME/go/bin が PATH に含まれていることを確認してください)

  2. 設定を初期化します:

    tix config init
    

    (デフォルトファイルを含む ~/.ticketron/ を作成します。mcp_server.url を設定するには、~/.ticketron/config.yaml を編集してください。)

  3. OpenAI API キーを設定します:

    # 推奨:OS のキーチェーンを使用
    tix config set-key <your-openai-api-key>
    
    # 代替方法:環境変数を使用
    # export TICKETRON_LLM_API_KEY="<your-openai-api-key>"
    
  4. 最初のチケットを作成します:

    # 例:バグ報告を作成(説明が指定されている場合は LLM を使用)
    tix create bug "Login button unresponsive" --description "When clicking the login button on the main page, nothing happens. Check console logs."
    

設定

Ticketron では、~/.ticketron/ に保存される設定ファイルが必要です。以下を使用して、デフォルトの設定ディレクトリとテンプレートファイルを初期化できます。

tix config init

このコマンドは、~/.ticketron/ ディレクトリが存在しない場合は作成し、デフォルトのテンプレートファイル(config.yaml、links.yaml、system_prompt.txt、context.md)を配置します。API キーの設定は行いません。

OpenAI API Key

LLM 機能には OpenAI API キーが必要です。セキュリティ上の理由から、別途設定する必要があります。次の 2 つの方法があります。

  1. 推奨:OS のキーチェーンを使用する:

    tix config set-key <your-openai-api-key>
    

    このコマンドは、キーをオペレーティングシステムのキーチェーンに安全に保存します。ticketron はそこから自動的に取得します。

  2. 代替方法:環境変数: TICKETRON_LLM_API_KEY 環境変数を設定します。

    export TICKETRON_LLM_API_KEY="<your-openai-api-key>"
    

    キーチェーンにキーが見つからない場合、アプリケーションはこの変数を使用します。

設定ファイル

~/.ticketron/ にある主な設定ファイル:

  • config.yaml:メイン設定。
    • mcp_server.url:実行中の jira-mcp-server の URL。
    • デフォルトのプロジェクト、課題タイプ、ログレベルなどのその他の設定。
    • 注: openai.api_key はここには保存されなくなりました。
  • links.yaml:プロジェクトの短縮エイリアスを、完全な JIRA プロジェクトキーおよびデフォルトの課題タイプに対応付けます。
    • 例:
      links:
        - name: WEB
          key: WEBPROJECT
          default_issue_type: Story
        - name: API
          key: BACKENDAPI
          default_issue_type: Task
        - name: DS
          key: DATASCIENCE
          default_issue_type: Bug
      
  • system_prompt.txt:チケット作成時に LLM に指示するためのシステムプロンプトが含まれています。LLM の動作を調整するには、このファイルを変更してください。
  • context.md:プロジェクト、チーム、一般的なチケットのパターンに関する永続的なコンテキストを LLM に提供します。

tix config show を使用して現在の設定(API キーを除く)を表示し、tix config locate を使用して設定ディレクトリを確認します。

基本的な使い方

tix --version を使用してアプリケーションのバージョンを表示します。

チケットの作成
# Create a bug with a simple title
tix create bug "Login fails on checkout page"

# Create a story for a specific project (using alias from links.yaml)
tix create --type Story --project WEB "Implement new user profile page design"

# Create a task with more detail (will be processed by LLM)
tix create task "Refactor auth module to use JWT" --description "The current session management is outdated. We need to switch to JWT for better security and scalability. Update login, logout, and token refresh endpoints."

# Create a ticket interactively (prompts for confirmation before sending)
tix create -i bug "UI glitch on settings page"

# Create a ticket and output the result as JSON
tix create task "Setup CI pipeline" -o json
チケットの検索
# Search using natural language (processed by LLM to generate JQL)
tix search "my open bugs in the WEB project"

# Search using explicit JQL
tix search --jql "project = WEB AND status = 'In Progress' ORDER BY created DESC"

# Search for unresolved tickets assigned to you
tix search --jql "assignee = currentUser() AND resolution = Unresolved"

# Search for tickets and output results as JSON
tix search "my open tasks" -o json
# Search and output specific fields as JSON
tix search "status = Done" -o json -f key,fields.summary,fields.status.name

# Search and output results as YAML
tix search "my open tasks" -o yaml

# Search and output results as TSV (Tab-Separated Values)
tix search "project = API" -o tsv

# Search and output specific fields as TSV
tix search "project = API" -o tsv -f key,fields.issuetype.name,fields.summary

設定の管理
# Initialize configuration files
tix config init

# Show current configuration values
tix config show

# Show the location of the configuration directory
tix config locate

# Securely set the OpenAI API key in the OS keychain
tix config set-key <your-openai-api-key>
LLM コンテキストの管理

context.md ファイルは、LLM に永続的なコンテキストを提供します。tix context コマンドを使用して、このファイルを管理できます。

# Show the current content of the context file
tix context show

# Open the context file in your default editor ($EDITOR)
tix context edit

# Add a new line of text to the context file
tix context add "Remember to always include the component name in bug reports."

開発

このプロジェクトでは、一般的な開発タスクを効率化するために Makefile を使用しています。make がインストールされていることを確認してください。

  • ビルド: tix バイナリをコンパイルします。
    make build
    
  • テスト: 単体テストと統合テストを実行します。
    make test
    
  • Lint: Go リンター(golangci-lint)を実行します。
    make lint
    
  • フォーマット: gofmt を使用して Go ソースコードをフォーマットします。
    make fmt
    
  • すべてのチェック: フォーマット、Lint、テストのターゲットを実行します。
    make check
    

その他の利用可能なターゲットについては、Makefile を参照してください。

コントリビューション

このプロジェクトは Contributor Code of Conduct に基づいて公開されています。このプロジェクトに参加することで、その規約に従うことに同意したものとみなされます。

コントリビューション方法の詳細については、CONTRIBUTING.md を参照してください。

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。