Plugin-System: Abstrakte Interfaces für Ticket-Quellen und Git-Hosts #31
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Abstrakte Interfaces (Protocols) für TicketSource und GitHost definieren, sodass neben Odoo+GitLab auch Jira+GitHub, Linear+Bitbucket oder andere Kombinationen ohne Änderung der Pipeline-Kernlogik unterstützt werden können.
Hintergrund
Verschiedene Teams nutzen verschiedene Ticketing-Systeme und Git-Hosts. Ein Plugin-System macht Bruno adaptierbar für neue Umgebungen. Die aktuelle Architektur ist direkt an Odoo und GitLab gekoppelt. Abstrakte Interfaces ermöglichen es, neue Integrationen als separate Module zu entwickeln, ohne die Pipeline zu modifizieren.
Akzeptanzkriterien
TicketSourceProtocol definiert:poll(),add_comment(),get_ticket()GitHostProtocol definiert:create_mr(),get_mr_status(),get_diff(),push_branch()TicketSourceGitHostTechnische Hinweise
backend/interfaces.py— Protocol-Definitionenbackend/services/odoo_poller.py— ImplementiertTicketSourcebackend/services/gitlab_service.py— ImplementiertGitHostbackend/services/pipeline.py— Dependency Injection der Interfacesbackend/config.py—TICKET_SOURCE=odoo,GIT_HOST=gitlabAufwand: M
Superseded by #63 (Multi-Tenant Architektur). Abstrakte Interfaces für Ticket-Quellen und Git-Hosts werden durch die Multi-Tenant-Architektur mit Customer-spezifischen Instanzen abgedeckt.