Skip to content

team-monolith-product/tmn-workflow-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tmn-workflow-automation

업무 절차를 자동화하기 위한 도구 모음

구성 요소

1. Slack Bot (app.py)

Slack 채널에서 자동화 명령을 수신하고 처리하는 봇 서버

2. FastAPI Webhook Server (main.py)

Notion 등 외부 서비스에서 발생한 이벤트를 수신하여 자동화 워크플로우를 실행하는 경량 웹훅 서버

환경 변수

공통

  • SLACK_BOT_TOKEN: Slack Bot 토큰
  • SLACK_APP_TOKEN: Slack App 토큰
  • OPENAI_API_KEY: OpenAI API 키
  • NOTION_TOKEN: Notion 통합 토큰
  • 기타 서비스별 토큰 및 설정

FastAPI 전용

  • WORKFLOW_AUTOMATION_API_KEY: 웹훅 API 인증을 위한 API 키 (필수)

로컬 실행

Slack Bot

python app.py

FastAPI Server

uvicorn main:app --host 0.0.0.0 --port 8000 --reload

FastAPI 웹훅 사용법

엔드포인트

GET /health

헬스 체크 엔드포인트 (Kubernetes liveness/readiness probe용)

curl http://localhost:8000/health

POST /webhook

자동화 워크플로우 트리거 엔드포인트

인증: X-API-Key 헤더에 WORKFLOW_AUTOMATION_API_KEY 값 전달

요청 예시:

curl -X POST http://localhost:8000/webhook \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-api-key-here" \
  -d '{
    "action": "process_notion_page",
    "notion_page_id": "abc123",
    "data": {
      "key": "value"
    }
  }'

응답 예시:

{
  "success": true,
  "message": "Webhook received successfully",
  "action": "process_notion_page",
  "notion_page_id": "abc123"
}

배포

본 애플리케이션은 jce-service-helm/workflow-automation-slack Helm Chart를 통해 배포됩니다.

  • Slack Bot과 FastAPI 서버는 동일한 Docker 이미지를 사용하며, 서로 다른 CMD로 실행됩니다.
  • ArgoCD를 통해 자동 배포됩니다.

About

업무 절차를 자동화하기 위한 도구 모음

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published