99 lines
3.0 KiB
Plaintext
99 lines
3.0 KiB
Plaintext
# ======================================================
|
|
# SERVER CONFIGURATION
|
|
# ======================================================
|
|
|
|
# Port for the sync server to listen on
|
|
PORT=3002
|
|
|
|
# ======================================================
|
|
# REDMINE CONFIGURATION
|
|
# ======================================================
|
|
|
|
# Base URL of your Redmine instance (no trailing slash)
|
|
REDMINE_API_URL=https://redmine.example.com
|
|
|
|
# Redmine API key (found in My Account → API access key)
|
|
REDMINE_API_KEY=your_redmine_api_key_here
|
|
|
|
# Request timeout in milliseconds
|
|
REDMINE_TIMEOUT=30000
|
|
|
|
# ======================================================
|
|
# GITEA CONFIGURATION
|
|
# ======================================================
|
|
|
|
# Base URL of your Gitea instance (no trailing slash)
|
|
GITEA_API_URL=https://gitea.example.com
|
|
|
|
# Gitea personal access token (Settings → Applications → Generate New Token)
|
|
# Required scopes: repo, write:issue, write:repository
|
|
GITEA_TOKEN=your_gitea_token_here
|
|
|
|
# Gitea username or organization that owns the repositories
|
|
GITEA_OWNER=your_username
|
|
|
|
# Request timeout in milliseconds
|
|
GITEA_TIMEOUT=30000
|
|
|
|
# ======================================================
|
|
# CACHE CONFIGURATION
|
|
# ======================================================
|
|
|
|
# Cache time-to-live in milliseconds (default: 30000 = 30 seconds)
|
|
# This prevents sync loops. Increase if experiencing issues.
|
|
CACHE_TTL=30000
|
|
|
|
# ======================================================
|
|
# SYNC FEATURE FLAGS
|
|
# ======================================================
|
|
|
|
# Enable/disable label synchronization
|
|
# Labels are created from Redmine trackers, priorities, and categories
|
|
SYNC_LABELS=true
|
|
|
|
# Enable/disable milestone synchronization
|
|
# Redmine versions are synced as Gitea milestones
|
|
SYNC_MILESTONES=true
|
|
|
|
# Enable/disable attachment synchronization (future feature)
|
|
SYNC_ATTACHMENTS=false
|
|
|
|
# Enable/disable custom field inclusion in descriptions
|
|
# Redmine custom fields will be appended to Gitea issue descriptions
|
|
SYNC_CUSTOM_FIELDS=true
|
|
|
|
# ======================================================
|
|
# RETRY CONFIGURATION
|
|
# ======================================================
|
|
|
|
# Number of retry attempts for failed API requests
|
|
RETRY_ATTEMPTS=3
|
|
|
|
# Initial retry delay in milliseconds (uses exponential backoff)
|
|
RETRY_DELAY=1000
|
|
|
|
# ======================================================
|
|
# LOGGING CONFIGURATION
|
|
# ======================================================
|
|
|
|
# Log level: debug, info, warn, error
|
|
LOG_LEVEL=info
|
|
|
|
# Enable verbose logging (includes stack traces)
|
|
LOG_VERBOSE=false
|
|
|
|
# ======================================================
|
|
# PROJECT MAPPING
|
|
# ======================================================
|
|
|
|
# JSON object mapping Gitea repository names to Redmine project identifiers
|
|
# Format: {"GiteaRepoName":"redmine-project-id","AnotherRepo":"another-project"}
|
|
#
|
|
# Example:
|
|
# PROJECT_MAPPING={"AI_Smuggling":"ai-smuggling","WebApp":"web-application"}
|
|
#
|
|
# If not specified, automatic conversion is used:
|
|
# - Underscores → hyphens
|
|
# - Uppercase → lowercase
|
|
# - Special characters removed
|
|
PROJECT_MAPPING={} |