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
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
2
240
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
420
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
130
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
230
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
170
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
170
「どこにある?」の解決。生成AI(RAG)で効率化するガバメントクラウド運用
toru_kubota
2
450
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
600
Whats_new_in_Podman_and_CRI-O_2025-06
orimanabu
3
180
What's new in OpenShift 4.19
redhatlivestreaming
1
280
QAはソフトウェアエンジニアリングを学んで実践するのが大事なの
ymty
1
400
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
290
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
68
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Statistics for Hackers
jakevdp
799
220k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Designing Experiences People Love
moore
142
24k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
How GitHub (no longer) Works
holman
314
140k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Language of Interfaces
destraynor
158
25k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
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分超かかる。
ご清聴ありがとうございました