このプロジェクトは、Backlogのアクティビティを自動的に分析し、AI(Amazon Bedrock)を活用して日報を生成するツールです。平日の日本時間午後7時に自動実行され、指定されたメンバーのその日の活動を要約した日報チケットを作成します。
- 目的: 開発者の日々の活動を自動的に追跡し、構造化された日報を生成する
- 技術スタック: AWS CDK (TypeScript)、AWS Lambda、Amazon Bedrock、Backlog API
- 実行頻度: 平日の日本時間午後7時(UTC午前10時)に自動実行
- 対象: 汎用的なBacklogプロジェクトで利用可能
- Backlog APIを使用してユーザーの活動を取得
- 無意味なアクティビティをフィルタリングして実際の作業内容を抽出
- Amazon Bedrock(Nova Pro)を利用して活動内容を分析し、構造化された日報を生成
- 生成した日報をBacklogのチケットとして自動登録
- 以下の項目に整理した日報を生成:
- 業務内容 (Fact)
- 改善したこと・解決したこと (Keep)
- 問題点・課題 (Problem)
- 次のアクション (Try)
# リポジトリをクローン
git clone <リポジトリURL>
cd daily-reports
# 依存関係をインストール
npm install-
lambda/config.tsを編集して、あなたのBacklogプロジェクトに合わせて設定を変更:dailyReports.projectId: BacklogプロジェクトIDdailyReports.members: 日報を生成するメンバーの情報excludedProjectKeys: 日報生成から除外するプロジェクトキー
-
AWS Systems Manager Parameter Storeに以下のパラメータを作成:
- キー:
/backlog-api-key - 値: JSON形式
{"API_KEY": "あなたのBacklogAPIキー", "HOST": "あなたのBacklogホスト"} - タイプ: SecureString
- キー:
-
CDKをデプロイ:
npm run build
npx cdk deploy# TypeScriptのコンパイル
npm run build
# 継続的なコンパイル(開発中)
npm run watch
# テスト実行
npm run test# スタックのデプロイ
npx cdk deploy
# デプロイされたスタックと現在の状態の比較
npx cdk diff
# CloudFormationテンプレートの出力
npx cdk synth- 新しいブランチを作成:
git checkout -b feature/新機能の名前- 変更を実装し、コミット:
git add .
git commit -m "機能の説明"- 変更をプッシュし、プルリクエストを作成:
git push origin feature/新機能の名前- GitHubリポジトリ上でプルリクエストを作成
- 対象メンバーや設定の変更:
lambda/config.tsのAPP_CONFIGオブジェクトを編集 - 日報フォーマットの変更:
lambda/backlog-daily-report.tsのBedrockプロンプト(systemパラメータ)を編集 - フィルターやレポート生成ロジックの変更:
lambda/daily-report-generatorディレクトリ内のコードを修正
lambda/config.tsでは以下の設定が可能です:
dailyReports.projectId: 日報チケットを作成するBacklogプロジェクトのIDdailyReports.members: 日報を生成するメンバーの配列id: BacklogユーザーIDname: 表示名parentIssueId: 親チケットID(オプション)issueTypeId: チケットタイプID
excludedProjectKeys: 日報生成から除外するプロジェクトキーの配列