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
160
n8nで定期成果報告の資料づくりを自動化する
機械学習の社会実装勉強会 第48回 (
https://machine-learning-workshop.connpass.com/event/358793/
) の発表資料です。
熊懐葵
June 21, 2025
Tweet
Share
More Decks by 熊懐葵
See All by 熊懐葵
Claude Codeで進めるAWSリソースのTerraform移行
aoikumadaki
0
34
LangGraphとFlaskを用いた社内資料検索ボットの実装④GithubRetriever構築編
aoikumadaki
0
73
LangGraphとFlaskを用いた社内資料検索ボットの実装③アプリケーション構築編
aoikumadaki
0
110
LangGraphとFlaskを用いた社内資料検索ボットの実装②Retriever構築編
aoikumadaki
0
190
LangGraphとFlaskを用いた社内資料検索ボットの実装①AIエージェント構築編
aoikumadaki
0
340
StreamlitとLangChainを使った表画像OCRアプリの実装
aoikumadaki
3
720
LangChainでデータ分析エージェントを作ってみる
aoikumadaki
0
260
AWS LambdaとLangSmithを使った社内レポート添削システムMinervaの実装
aoikumadaki
0
310
Other Decks in Technology
See All in Technology
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.6k
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
4
580
Product Management Conference -AI時代に進化するPdM-
kojima111
0
220
人を動かすことについて考える
ichimichi
2
330
JOAI発表資料 @ 関東kaggler会
joai_committee
1
400
開発と脆弱性と脆弱性診断についての話
su3158
1
1.1k
トヨタ生産方式(TPS)入門
recruitengineers
PRO
4
490
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
130
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
190
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
8
860
ゆるふわエンジニアでもAIフローにチャレンジしたい!!~Zapierのすゝめ~
masakiokuda
2
100
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Navigating Team Friction
lara
189
15k
Gamification - CAS2011
davidbonilla
81
5.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Making Projects Easy
brettharned
117
6.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
185
54k
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分超かかる。
ご清聴ありがとうございました