Skip to content

Webhook for Plane Backend 4.2.16; Plane Frontend 0.23.1; Baïkal 0.10.1

License

Notifications You must be signed in to change notification settings

bivex/PlaneCaldav

Repository files navigation

CalPlaneBot - Plane CalDAV Integration & Task Synchronization

CalPlaneBot - Plane to CalDAV Task Sync & Calendar Integration

🚀 CalPlaneBot - Advanced Plane ↔ CalDAV Integration Service for Task Management

Automatically synchronize Plane project management tasks with CalDAV-compatible calendars (Nextcloud, Baïkal, Radicale). Real-time bidirectional task sync, webhook integration, and calendar management for seamless project planning.

✨ Key Features & Capabilities

🔄 Automated Task Synchronization

  • Real-time bidirectional task sync between Plane and CalDAV calendars
  • Automatic task creation, updates, and status synchronization
  • Intelligent conflict resolution and data consistency

🔔 Advanced Webhook Integration

  • Instant webhook-triggered updates from Plane API
  • Event-driven synchronization for immediate task changes
  • Reliable webhook payload processing and error handling

📅 Smart Calendar Management

  • Automatic calendar creation and organization per Plane project
  • Hierarchical calendar structure with project categorization
  • Calendar permissions and access control management

🏷️ Rich Task Metadata Support

  • Complete label, priority, and assignee information preservation
  • Custom field mapping between Plane and calendar events
  • Task description, due dates, and status indicators

Flexible Scheduling Engine

  • Configurable synchronization intervals and batch processing
  • Background job scheduling with retry mechanisms
  • Time-zone aware task and calendar management

🐳 Production-Ready Deployment

  • Docker containerization with optimized images
  • Docker Compose orchestration for multi-service setup
  • Environment-based configuration and secrets management

📋 System Requirements & Prerequisites

🔧 Technical Requirements

  • Python: Version 3.11 or higher for optimal performance
  • Plane Access: Valid API credentials for Plane.so instance
  • CalDAV Server: Compatible CalDAV server (Nextcloud Calendar, Baïkal, Radicale, or any CalDAV-compliant calendar server)
  • Authentication: Digest or Basic authentication support for secure CalDAV connections

🌐 Supported Platforms

  • Operating Systems: Linux, macOS, Windows (via Docker)
  • Container Runtime: Docker Engine 20.10+ for containerized deployment
  • Database: SQLite (default) or PostgreSQL for production deployments

🧪 Testing, Validation & Diagnostics

🔍 CalDAV Connection Testing & Validation

Comprehensive testing suite for CalDAV server connectivity and authentication:

# Automated testing with environment configuration
./test-caldav.sh

# Direct Python authentication testing
python test_caldav_auth.py

# Manual testing with custom parameters
./test-caldav.sh digest https://your-caldav-server.com/caldav username password

Test Coverage Includes:

  • Authentication Validation: Digest/Basic auth testing and credential verification
  • Server Compatibility: CalDAV protocol compliance and feature detection
  • Resource Access: Principal discovery and calendar home set validation
  • Permissions Testing: Read/write access verification for calendar operations
  • SSL/TLS Security: Certificate validation and secure connection testing
  • Performance Metrics: Connection timeouts and response time monitoring

🔧 System Health Diagnostics

Complete system health check and troubleshooting toolkit:

# Full system diagnostic suite
docker exec calplanebot_calplanebot_1 python /app/manage.py diagnostics

Expected Diagnostic Output:

============================================================
  Comprehensive System Diagnostic Report
============================================================
CalDAV Connection: ✓ OK - Server responding, authentication successful
Plane API Access:  ✓ OK - API endpoints accessible, token valid
Database Status:   ✓ OK - Schema current, migrations applied
Service Health:    ✓ OK - All services running, background jobs active
Webhook Processing: ✓ OK - Event queue processing, no backlog

✓ All systems operational - Ready for production use!

📊 Performance Testing & Stress Testing

# Run comprehensive performance benchmarks
python -m pytest tests/test_stress.py -v

# Edge case and error handling validation
python -m pytest tests/test_edge_cases.py -v

🚀 Quick Start Guide - Get Plane CalDAV Sync Running in Minutes

🐳 Docker Deployment (Recommended for Production)

Fast, secure, and scalable containerized deployment:

# Clone the Plane CalDAV integration repository
git clone <repository-url>
cd CalPlaneBot

# Configure environment variables for Plane and CalDAV
cp env.example .env
# Edit .env with your Plane API credentials and CalDAV server details

# Launch the synchronization service
docker-compose up -d

Service Access: Available at http://localhost:8765 with full API documentation at /docs

🔧 Manual Installation & Development Setup

For development, testing, or custom deployments:

# Install Python dependencies and requirements
pip install -r requirements.txt

# Configure environment variables
cp env.example .env
# Edit .env file with your configuration settings

# Start the FastAPI application server
python -m uvicorn app.main:app --host 0.0.0.0 --port 8765 --reload

Configuration Checklist

Before starting, ensure you have:

  • Plane API Token: Generated from your Plane workspace settings
  • CalDAV Credentials: Username/password for your CalDAV server
  • CalDAV URL: Full URL to your calendar server endpoint
  • Environment Variables: Properly configured .env file
  • Network Access: Service can reach both Plane API and CalDAV server

📖 Complete Documentation & Resources

Comprehensive documentation suite covering all aspects of Plane CalDAV integration:

👥 User Documentation & Guides

👨‍💻 Developer Resources & Technical Documentation

📚 Documentation Sections

🔗 Quick Access Links & References

🤝 Contributing to Plane CalDAV Integration

We welcome contributions to improve the Plane to CalDAV synchronization service! Here's how to get involved:

🚀 Development Workflow

  1. Fork the CalPlaneBot repository on GitHub
  2. Clone your fork locally: git clone https://github.com/your-username/CalPlaneBot.git
  3. Create a feature branch: git checkout -b feature/amazing-plane-caldav-enhancement
  4. Develop and test your changes following our testing guidelines
  5. Commit with descriptive messages: git commit -m 'Add amazing CalDAV sync enhancement'
  6. Push to your branch: git push origin feature/amazing-plane-caldav-enhancement
  7. Submit a Pull Request with detailed description of your changes

🧪 Testing Requirements

  • All new features must include comprehensive test coverage
  • Run the full test suite: ./run_tests.sh
  • Ensure all CalDAV and Plane API integrations are properly tested
  • Docker container builds must pass validation

📝 Contribution Areas

  • Core Synchronization Logic: Improve task sync algorithms and conflict resolution
  • CalDAV Protocol Support: Add support for additional CalDAV servers and features
  • Plane API Integration: Enhance webhook handling and API coverage
  • Documentation: Improve user guides and technical documentation
  • Performance Optimization: Database queries, caching, and background job processing

📄 License & Legal Information

This project is licensed under the MIT License - see the LICENSE file for complete licensing details. The MIT license allows for free use, modification, and distribution of this Plane CalDAV integration service.

📞 Support & Community Resources

🆘 Getting Help

  • 📋 GitHub Issues: Report bugs, request features, and ask questions at Issues
  • 📖 Documentation: Comprehensive guides in the docs/ directory
  • 🔧 API Docs: Interactive API documentation at /docs when service is running
  • 🐛 Troubleshooting: Check the Troubleshooting Guide for common issues

🌟 Community & Resources

  • 📚 Documentation Hub: Complete user and developer documentation
  • 🔍 Health Monitoring: Service health endpoint at /health for status checks
  • 📊 System Diagnostics: Built-in diagnostic tools for troubleshooting
  • 🐳 Docker Support: Containerized deployment for easy setup and scaling

📈 Project Status & Roadmap

  • Current Version: Beta release with production-ready features
  • Production Ready: Recommended for development and testing environments
  • Roadmap: Enhanced webhook reliability, additional CalDAV server support, advanced filtering options

⚠️ Beta Software Notice: This is a beta version of the Plane CalDAV synchronization service. While thoroughly tested, we recommend initial deployment in development or staging environments before production use. Please report any issues encountered during testing.

About

Webhook for Plane Backend 4.2.16; Plane Frontend 0.23.1; Baïkal 0.10.1

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages