本記事ではn8n + Jira + Pinecone を組み合わせてJiraチケットを自動処理する仕組みを紹介します。
TL;DR
- テンプレート:Automated Jira Ticket Responses with GPT-4 and Pinecone Knowledge Base(n8n template)
- ワークフローファイル:n8n-jira-knowledge-sync-template(Github)
- 処理内容:Jiraチケットの読み取り → LLMでコメント生成 → 投稿&担当者を行う最小フローです
- 質問・問い合わせ:Github Issues or X(旧twitter) or 本記事コメント からお願いします
ワークフロー
全体のワークフローは以下の通りです。
ワークフローのファイルは以下リポジトリで公開しています。
公式n8nテンプレートサイトにも公開しています。
各ノードの詳細を確認したい方はn8nテンプレートサイトを参照してください。
各要素の解説
1. Jiraチケット一覧を読み込む
最初にJQLを用いてチケット一覧を取得します。本ワークフローではJiraに専用アカウントを作成し、そのアカウントに割り当てられたチケットを対象に処理しています。
JQLのassignee以降には「123456:abcd1234-1234-1234-1234-123412341234」のようなユーザーIDが入ります。
2. Jiraチケットの読み込み
Jira Issue Detailノードでチケットを読み込みます。読み込んだ情報のままではLLMに突っ込めないため、Code2ノード整形をしています。Code2のコードは以下の通りです。
let comments = '';
let accountId = '';
for (const item of $input.all()) {
comments += '## ' + item.json.updated
comments += '\n'
comments += item.json.body.content[0].content[0].text
comments += '\n'
comments += '\n'
accountId = item.json.updateAuthor.accountId
}
return {
'comments': comments,
'accountId': accountId
};
3. 生成AI処理
いよいよ生成AIの処理です。以下がAI Agentノードの設定となります。
Prompt(User Message)の全文は以下の通りです。Code1とCode2の出力を使ってLLMに送るプロンプトを作成しています。
# タイトル
{{ $('Code1').first().json.summary }}
# 説明
{{ $('Code1').first().json.description }}
# コメント履歴
{{ $json.comments }}
また、AI Agentに接続しているPinecone Vector Storeは過去のJiraチケット情報が格納されたナレッジベースとなります。設定は以下の通りです。
Pinecone Vector StoreノードにはEmbeddings OpenAIノードが接続されます。次元数の設定はPineconeのIndex作成時に設定した数字と合わせる必要があります。以下の例では1536を設定します。

Embeddings OpenAIノードのModelとDimensionsを合わせる必要があります。

4. Jiraチケットを更新
AI Agent処理後はJiraチケットにコメントを反映し担当者を変えます。
こうすることで次回ワークフロー実行時に担当者が変わっているため処理対象になりません。
設定は以下の通りです。Code1で出力されるJiraIdを使ってチケットを特定し、AI Agentノードで生成されたコメントを書き込んでいます。

最後に担当者を変更します。こちらはCode2ノードの処理中に取得したアカウントを指定します。

動作イメージ
Jiraで専用アカウントにチケットが割り当てられた状態にします。
この状態でワークフローを実行すると、過去の知見を使って解析した後に担当者を変更します。
動作イメージは以上です。Pineconeのデータが増えることでコメントの精度向上が見込めます。
今後
Jira+生成AI+Pineconeを組み合わせることで、過去の知見を持った回答を自動で行うことができました。こちらに加えて Claude Code + Git を組み合わせることで、最新のソースコードではどうなっているか?も合わせて回答してくれる仕組み構築が可能になるかもしれません。
質問・フィードバック
Github Issues or X(旧twitter) or コメント欄 からお願いします。



