π Hello World!
- feat: Init Agent Intergation (#3) @zacharyblasczyk @jsbroks
Official Docs to get started.
What's Changed
π New Features
- Introduced Ctrlplane Job Agent polling and job reconciliation in Jenkins
- Added global configuration UI for Ctrlplane integration with validation and persistence
- Provided a new pipeline step to fetch Ctrlplane job details within Jenkins pipelines
- Implemented event listener to synchronize Jenkins job completion status back to Ctrlplane
π Localization (AI helped here, so please be sure and submit a fix if anything is wrong!)
- Added extensive multilingual support for configuration UI and help texts (English, German, Spanish, French, Italian, Portuguese, Swedish, Turkish, Chinese)
π Documentation
- Updated README with plugin description and official documentation links
- Added CONTRIBUTING guide to assist contributors
- Enhanced configuration help texts across supported languages
π Bug Fixes
- Removed deprecated sample builder and all associated configuration, localization, and tests
π§ͺ Tests
- Added thorough unit and integration tests covering configuration, job polling, job processing, pipeline step functionality, and configuration change handling
π§Ή Chores
- Improved .gitignore to exclude IDE and work directories
- Updated repository ownership to individual maintainers
- Upgraded plugin metadata and dependencies for better compatibility and maintainability
ποΈ Architecture
Mermaid Diagram Code
sequenceDiagram
participant Jenkins as Jenkins Core
participant User as Jenkins User/Admin
participant CtrlplanePlugin as Ctrlplane Plugin
participant CtrlplaneAPI as Ctrlplane API
User->>Jenkins: Configure Ctrlplane settings (UI)
Jenkins->>CtrlplanePlugin: Save configuration
loop Periodic Polling
CtrlplanePlugin->>CtrlplaneAPI: Poll for pending jobs
CtrlplaneAPI-->>CtrlplanePlugin: Return job list
alt Jobs available
CtrlplanePlugin->>Jenkins: Trigger job with parameters
Jenkins-->>CtrlplanePlugin: Job queued/running
note over Jenkins,CtrlplanePlugin: Track job status
end
end
Jenkins->>CtrlplanePlugin: Job completes (RunListener)
CtrlplanePlugin->>CtrlplaneAPI: Update job status (success/failure/cancelled)