0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

n8n + pinecone + jiraで始めるナレッジベースの解析

Posted at

はじめに

本記事では、n8n + Pinecone + jira を組み合わせて、Jiraのタスクを自動で解析できる仕組みを紹介します。Jira以外のプロジェクト管理ツールにも対応しているため、気になる方は以下から対応しているか検索してみてください。(Gitlab / Notion / Asana等にも対応しています。)

全体フロー

処理の全体フローは以下の通りです。

  1. 特定ユーザーに割り当てられたJiraチケット一覧を読み込む
  2. Jiraチケットのコメント読み込み
  3. 生成AI処理
  4. Jiraチケットを更新する(コメント、担当者)

ワークフローは以下の通りです。
MainFlow.png

各要素の解説

1. 特定ユーザーに割り当てられたJiraチケット一覧を読み込む

特定ユーザーに割り当てられたチケット一覧(処理対象のチケット一覧)をJQLを利用して取得しています。

上記画像では「assignee = currentUser()」を設定しています。JQLの動作を確認したい方はJiraの検索機能を活用してください。

2. Jiraチケットのコメント読み込み

各チケットのコメントデータを読み込みます。

読み込んだコメントは扱いづらいためCode2ノードで整形します。また、担当者を変更するため最後にコメントしたユーザーID(アカウントID)を取得します。

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ノードの設定となります。(プロンプトはサンプルです。)

ナレッジベースのPinecone Vector Storeの設定は以下です。ナレッジベースにはJiraの過去の完了済みチケット情報が含まれています。

Pinecone Vector StoreノードにはEmbeddings OpenAIノードが接続されます。こちらのノードに設定する次元数ですが、PineconeのIndex作成時の設定と合わせる必要があります。今回のPineconeのIndex設定は以下です。
img1.png

この場合Embeddings OpenAIノードは以下のように設定します。

ナレッジベースに利用しているPineconeは外部サービスとなります。オンプレミスで対応したい場合はDifyに置き換えるアプローチを検討してください。

4. Jiraチケットを更新する(コメント、担当者)

ここではAI Agentから出てきたメッセージをJiraに反映し担当者を変えます。こうすることで次回ワークフローが実行されても担当者が変わっているため処理対象になりません。

以下がコメントの更新です。AI Agentノードから出力された内容をCommentに設定しています。

最後に担当者を変更します。最終コメントしたユーザーに設定します。こちらについてはCode2ノードでコメント解析する時に、ユーザーIDを取得しているデータを利用します。

動作

Jiraでタスクが割り当てられた状態にします。

jira1.png

この状態でワークフローを実行すると、過去の知見を使って解析した後に担当者を変更します。

jira2.png

今後

今回はJira+生成AI+Pineconeを組み合わせることで、過去のチケット知見を持った回答を生み出すことができました。この発展系として、Claude Code + Gitの組み合わせることで最新のコードではどのようになっているか?の回答も可能となるかもしれません。

また、このようなツールは精度の高い回答が出せるかも重要ですが、それと同様にどこまで簡単に使えるか?どこまで手順を変えずに使えるか?も重要になります。今回は担当者をトリガーに動かしていますが、担当者に関係なくコメントしてくれるというアプローチもいいかもしれません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?