Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
n8nで定期成果報告の資料づくりを自動化する
Search
熊懐葵
June 21, 2025
Technology
0
71
n8nで定期成果報告の資料づくりを自動化する
機械学習の社会実装勉強会 第48回 (
https://machine-learning-workshop.connpass.com/event/358793/
) の発表資料です。
熊懐葵
June 21, 2025
Tweet
Share
More Decks by 熊懐葵
See All by 熊懐葵
LangGraphとFlaskを用いた社内資料検索ボットの実装④GithubRetriever構築編
aoikumadaki
0
62
LangGraphとFlaskを用いた社内資料検索ボットの実装③アプリケーション構築編
aoikumadaki
0
90
LangGraphとFlaskを用いた社内資料検索ボットの実装②Retriever構築編
aoikumadaki
0
170
LangGraphとFlaskを用いた社内資料検索ボットの実装①AIエージェント構築編
aoikumadaki
0
300
StreamlitとLangChainを使った表画像OCRアプリの実装
aoikumadaki
3
630
LangChainでデータ分析エージェントを作ってみる
aoikumadaki
0
240
AWS LambdaとLangSmithを使った社内レポート添削システムMinervaの実装
aoikumadaki
0
270
Other Decks in Technology
See All in Technology
今からでも間に合う! 生成AI「RAG」再入門 / Re-introduction to RAG in Generative AI
hideakiaoyagi
1
190
“プロダクトを好きになれるか“も QAエンジニア転職の大事な判断基準だと思ったの
tomodakengo
0
150
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
150
AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜 #fp_matsuri / FP Matsuri 2025
ytaka23
9
2.5k
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
360
(新URLに移行しました)FASTと向き合うことで見えた、大規模アジャイルの難しさと楽しさ
wooootack
0
740
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
360
型システムを知りたい人のための型検査器作成入門
mame
15
3.9k
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
220
自分を理解するAI時代の準備 〜マイプロフィールMCPの実装〜
edo_m18
0
110
比起獨自升級 我更喜歡 DevOps 文化 <3
line_developers_tw
PRO
0
240
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
470
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Designing for Performance
lara
609
69k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Designing for humans not robots
tammielis
253
25k
Gamification - CAS2011
davidbonilla
81
5.3k
Navigating Team Friction
lara
186
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Into the Great Unknown - MozCon
thekraken
39
1.8k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Transcript
n8nで定期成果報告の資料づくりを 自動化する 2025/6/21 機械学習の社会実装勉強会 第48回 熊懐 葵
目次 • これまで • モチベーション • n8nとは • 開発 •
インフラ構築 • コンポーネント準備 • ワークフロー実装 2
プロジェクト・業務データ これまで ディースタッツでは、複数のソフトを連携させてプロジェクトを推進している Slack Jira Confluence GitHub 連携・通知 タスク管理 業務資料
開発 生成AIで何か楽ができそう 3
これまで 4 Sofiaを作った。
振り返ると... システムを一つ作るのに多くの時間と労力がかかってしまった 5 インフラ構築 コンポーネント準備 システム実装 AWSやGCPで簡単 (+好み) アプリ間連携 エージェント構築
一旦休憩
振り返ると... システムを一つ作るのに多くの時間と労力がかかってしまった 6 インフラ構築 コンポーネント準備 システム実装 勉強会 • Sofia①AIエージェント構築編 •
Sofia②Retriever構築編 • Sofia④GithubRetriever構築編 勉強会 • Sofia③アプリケーション構築編 • (ここで力尽きる)
本当はこうしたい 7 業 務 改 善 インフラ構築 コンポーネント準備 システム実装 各コンポーネント(材料)の準備を手早く終わらせて、業務改善につながるシステム
の実装(機能改善)に時間をかけたい こことここのデータ使ったら 業務自動化できそう...? この業務の自動化できそう...!
n8nを使うモチベーション 8 業 務 改 善 インフラ構築 コンポーネント準備 システム実装 各コンポーネント(材料)の準備を手早く終わらせて、業務改善につながるシステム
の考案に時間をかけたい→ n8nを活用 勉強会 • Sofia①AIエージェント構築編 • Sofia②Retriever構築編 • Sofia④GithubRetriever構築編 n8nがほぼ 用意済み
n8n n8nとは Jiraチケット取得 9 ローコードでワークフローの自動化を実装できるオープンソースのツール。 成果報告資料を自動生成するワークフロー GitHub Pull Request取得 資料生成
Confluenceに投稿
開発の流れ 10 業 務 改 善 インフラ構築 コンポーネント準備 ワークフロー実装 まずはn8nを使えるようにするところから
①インフラ構築 11 自前のサーバーで動かすこと(セルフホスト)が可能なので、自社のAWS EC2で動 かす。 1. EC2を立てる • インスタンスタイプ: t4g.small
• パブリックサブネット(社内リソースの都合上) ※パブリックIPは外部から見えるのでセキュリティ的に最善ではない → プライベートサブネット + NAT
①インフラ構築 13 2. EC2にssh接続→EC2上でn8nを起動する • 外部にあるn8nのリポジトリからボリュームを作成 $ docker volume create
n8n_data • 作成したボリュームをマウントして、コンテナを起動 $ docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n port: 5678 外部にあるn8n のリポジトリ コンテナを起動
①インフラ構築 15 3. n8nにアクセスする • 一度サーバーから出て、ssh接続 + ポートフォワーディング(ローカルから ポート5678に接続できるようにする) >
ssh -L 5678:localhost:5678 <サーバー名> • 接続がうまくいくとhttp://localhost:5678(ブラウザ)でn8nに接続ができる ブラウザで、 http://localhost:5678 と検索 サインイン エントリを使用したコマンド例
ここまでの進捗 16 業 務 改 善 インフラ構築 コンポーネント準備 ワークフロー実装 完了!
※インフラ環境がすでにあるかどうかで所要時間が前後しそう
②コンポーネント準備 17 1. 外部APIと連携する。 ホーム画面→Create Credential
②コンポーネント準備 18 1. 外部APIと連携する。 ホーム画面→Create Credential Github OAuth Appを作成 し、OAuth2
APIを選択 JiraはCloud版を使用している Confluenceは対応していな かったのでBasic Auth
②コンポーネント準備 19 2. GitHubと連携する。 n8n GitHub Client Secretも設定
②コンポーネント準備 20 3., 4. Jira・Confluenceと連携する。 n8n Jira/Confluence ここでAPIトークンを発行 (使うApp・Scopeを選択) トークンを設定する
②コンポーネント準備 21 5. OpenAIと連携する。 n8n API Keyを設定する
ここまでの進捗 22 業 務 改 善 インフラ構築 コンポーネント準備 ワークフロー実装 完了!
完了! ※材料の準備...外部アプリと連携→メソッドを用意(n8nが用意済み)
③ワークフロー実装 23 自動化するワークフロー: 成果報告資料の生成 成果報告資料とは? • 4半期に1度プロジェクトごとに作成する資料 • 期間内に完了したタスクをまとめて、成果としてまとめる これまで
1. Jiraの検索機能で、期間内に完了したチケットを抽出 2. チケット内のリンクや説明文から、関連するPRや Confluence資料を読む 3. 成果タイトルを考える 4. 背景、課題、施策、結果、今後の展望を書く 5. 関連するチケット単位で2~4を繰り返す ※誰がやるかでピリつく
③ワークフロー実装 24 +をクリックして ワークフローのトリガーを選択
③ワークフロー実装 25 +をクリックして これを選択 将来的に動的に変更したい データを入れておく クリックしたらトリガーする ※定期的にトリガーするノード もある
③ワークフロー実装 26 他プロジェクトでも使えるようにしたい 4半期ごとなので4パターン プロジェクトによって 該当リポジトリが異なる 作成する資料 の名前と場所 最終的にここに投稿される
③ワークフロー実装 27 先ほど登録したcredential が選択できる JQLで条件を指定する • プロジェクト • 完了日 inputから代入する
③ワークフロー実装 28 ここをクリック (前のノードを実行できる) 選択
③ワークフロー実装 29 必要そうなデータをドラッグ &ドロップ
必要そうなデータを全て 選択できたらクリック ③ワークフロー実装 30 結果が出力される (ぐちゃぐちゃなので整理したい)
key構造を整理する ③ワークフロー実装 31 整理できた
③ワークフロー実装 32 Jira情報取得完了 Jiraチケットだけでは情報不足 のチケットもあった チケットに対応するGitHub PRの情報も取得して補完する
③ワークフロー実装 33 複数選択して上 に移動できる Get Pull Requestsを選択 する 黒点からドラッグすると矢印 を伸ばせる→放す
これを選択 先ほど登録したcredential が選択できる ドラッグ&ドロップ By ...オプション の選択ミスに注意 ↓でstatus=closedオ プションをつける
③ワークフロー実装 34 選択 repository ごとに作る 3つとも繋げる 3にする Filterノード をつける
③ワークフロー実装 35 PRのデータ内になる merged_atを条件に使う マージされた日が開 始日かそれ以降
③ワークフロー実装 36 PR titleの”DO”の部分を抽出 期間内かつDOプロジェクトの PRを抽出できる
③ワークフロー実装 37 これだけだと情報量が乏しい リンクを貼るなどしてPR descriptionを書いている... PRの変更内容を取得できれば 役に立ちそう PRの変更内容を 取得する
38 PRのURL+.diff HTTP Requestノード 変更内容を要約する よう指示する レスポンスのdiff ③ワークフロー実装
③ワークフロー実装 39 こんな情報が取得できる (※見やすく表示した) 変更内容をGPTに説明さ せた文字列を取得できる
③ワークフロー実装 40 整理できた Jiraチケットの場合と同様 にkey構造を整理する
③ワークフロー実装 41 key(DO-XXX)が同じデータ をまとめる appendではなく combine key(DO-XXX)ごとにJira, GitHubの情報がまとまった
③ワークフロー実装 42 PRがあるチケット とないチケットが ある ↓ チケットごとに情 報の粒を揃える チケットごとの 出力をまとめる
htmlで書くように指示
③ワークフロー実装 43 htmlをjsonデータで 送信できるよう処理 confluenceのエンドポイント 先に設定していた credential Header設定 HTTP Requestノード
③ワークフロー実装 44 Body設定 外部からの資料作成 に必要な形式 タイトル 本文 スペース 作成ページ
完成!実行には少々時間がかかる 45 1PRずつ文章生成 (3分) 1アイテムずつ文章生成(17分) 全部まとめて文章生成(2分) 104アイテム(チケットx84+PRx56)で20分超かかる。
ご清聴ありがとうございました