Files
billo-release-agent/.env.example
Yaojia Wang f5c2733cfb feat: initial commit — Billo Release Agent (LangGraph)
LangGraph-based release automation agent with:
- PR discovery (webhook + polling)
- AI code review via Claude Code CLI (subscription-based)
- Auto-create Jira tickets for PRs without ticket ID
- Jira ticket lifecycle management (code review -> staging -> done)
- CI/CD pipeline trigger, polling, and approval gates
- Slack interactive messages with approval buttons
- Per-repo semantic versioning
- PostgreSQL persistence (threads, staging, releases)
- FastAPI API (webhooks, approvals, status, manual triggers)
- Docker Compose deployment

1069 tests, 95%+ coverage.
2026-03-24 17:38:23 +01:00

56 lines
2.8 KiB
Plaintext

# Billo Release Agent - Environment Variables
# Copy this file to .env and fill in your values.
# Never commit .env to source control.
# ===========================================================================
# REQUIRED
# ===========================================================================
# --- Azure DevOps ----------------------------------------------------------
AZDO_ORGANIZATION=billodev
AZDO_PROJECT=Billo App Platform
AZDO_PAT= # Personal access token (Code read/write, Build read/execute)
# --- PostgreSQL ------------------------------------------------------------
POSTGRES_PASSWORD= # Used by docker-compose db service
POSTGRES_DSN=postgresql://agent:${POSTGRES_PASSWORD}@localhost:5432/agent
# --- Jira ------------------------------------------------------------------
JIRA_EMAIL= # Jira account email
JIRA_API_TOKEN= # Jira API token
# --- Slack -----------------------------------------------------------------
SLACK_WEBHOOK_URL= # Incoming webhook URL (for release notifications)
# --- Webhook Security ------------------------------------------------------
WEBHOOK_SECRET= # HMAC secret for Azure DevOps webhook validation
# ===========================================================================
# OPTIONAL (have defaults)
# ===========================================================================
# --- Slack App (for interactive buttons) -----------------------------------
SLACK_BOT_TOKEN= # xoxb-... Bot token (needed for Slack buttons)
SLACK_SIGNING_SECRET= # Slack app signing secret (needed for /slack/interactions)
SLACK_CHANNEL_ID= # Channel ID to post messages (e.g., C0123456789)
# --- CI/CD Polling ---------------------------------------------------------
CI_POLL_INTERVAL_SECONDS=30 # Seconds between CI status polls
CI_POLL_MAX_WAIT_SECONDS=1800 # Max wait for CI completion (30 min)
# --- Claude Code Review ----------------------------------------------------
# ANTHROPIC_API_KEY= # Not needed — uses Claude Code CLI subscription
# CLAUDE_REVIEW_MODEL=claude-sonnet-4-20250514
# --- Local Repo Path -------------------------------------------------------
REPOS_BASE_DIR= # Base dir containing Billo repos (e.g., /c/Users/yaoji/git/Billo)
# --- Jira ------------------------------------------------------------------
JIRA_BASE_URL=https://billolife.atlassian.net
# --- Operator API ----------------------------------------------------------
OPERATOR_TOKEN= # When set, protects POST /approvals/* and POST /manual/*
# --- Server ----------------------------------------------------------------
PORT=8000