這個應用程式用於處理 GitHub 專案的 webhook 事件,並將狀態變動通知發送到 Mattermost。
- 監聽 GitHub 專案卡片的狀態變動
- 將變動通知發送到指定的 Mattermost 頻道
- 提供健康檢查端點
- 安裝依賴:
npm install
- 設定環境變數:
複製
.env.example
到.env
並填入以下資訊:
GITHUB_APP_ID
:GitHub App 的 IDGITHUB_PRIVATE_KEY
:GitHub App 的私鑰GITHUB_WEBHOOK_SECRET
:GitHub webhook 的密鑰MATTERMOST_WEBHOOK_URL
:Mattermost 的 webhook URLPORT
:應用程式監聽的端口(預設:3000)
- 前往 GitHub App 設定頁面
- 點擊 "New GitHub App"
- 填寫基本資訊:
- GitHub App name
- Homepage URL
- Webhook URL (例如:
https://your-domain.com/webhook
) - Webhook secret
- 設定權限:
- Repository permissions:
- Projects: Read & write
- Repository permissions:
- 選擇要安裝的倉庫
- 複製 App ID 和 Private Key 到
.env
檔案
- 啟動應用程式:
npm start
- 在 GitHub 專案設定中設定 webhook:
- Payload URL:
http://你的網域/webhook
- Content type:
application/json
- Secret:與
.env
中的GITHUB_WEBHOOK_SECRET
相同 - 選擇事件:
Project cards
- Payload URL:
訪問 /health
端點來檢查應用程式是否正常運行:
curl http://localhost:3000/health
MIT