[Feature] Implement a Znuny/OTRS-compatible service-desk connector #13

Closed
opened 2026-07-29 15:44:37 +02:00 by zemion · 2 comments
Owner

Parent: #11

Outcome

Use the OpenProject connector runtime patterns for the first service-desk adapter, targeting the Znuny/OTRS object model while preserving GovOPlaN Ticket/Case boundaries.

Acceptance criteria

  • Discover and health-check the configured API and declare product/version-specific maturity levels.
  • Map queues, tickets, articles, users, organizations, priorities, states, attachments, and dynamic fields with explicit loss diagnostics.
  • Link/import/synchronize modes retain stable external references, provenance, ACL inputs, and source-of-truth rules.
  • Ticket-to-Case escalation remains a GovOPlaN domain action; the connector does not collapse the two aggregates.
  • Incremental synchronization is bounded, idempotent, retryable, and safe for unknown outcomes.
  • Search integration remains optional and permission-aware.
Parent: #11 ## Outcome Use the OpenProject connector runtime patterns for the first service-desk adapter, targeting the Znuny/OTRS object model while preserving GovOPlaN Ticket/Case boundaries. ## Acceptance criteria - Discover and health-check the configured API and declare product/version-specific maturity levels. - Map queues, tickets, articles, users, organizations, priorities, states, attachments, and dynamic fields with explicit loss diagnostics. - Link/import/synchronize modes retain stable external references, provenance, ACL inputs, and source-of-truth rules. - Ticket-to-Case escalation remains a GovOPlaN domain action; the connector does not collapse the two aggregates. - Incremental synchronization is bounded, idempotent, retryable, and safe for unknown outcomes. - Search integration remains optional and permission-aware.
Author
Owner

Starting this autonomous vertical slice now.

Implementation boundary:

  • Connectors will own Znuny/OTRS profile discovery, credential references, transport/version compatibility, stable external identities, bounded synchronization, mapping/loss diagnostics, health, provenance, and optional ACL-safe Search projection.
  • External ticket objects will retain explicit source-of-truth and link/import/synchronize modes.
  • Tickets remains authoritative for GovOPlaN ticket lifecycle; Helpdesk remains authoritative for routing/service policy; Cases remains authoritative for formal procedure semantics and Ticket-to-Case escalation.
  • No connector operation will convert an external ticket into a Case or collapse the aggregates.

I will verify reduced compositions without Tickets/Cases/Search as well as the integrated path, then release and post evidence here.

Starting this autonomous vertical slice now. Implementation boundary: - Connectors will own Znuny/OTRS profile discovery, credential references, transport/version compatibility, stable external identities, bounded synchronization, mapping/loss diagnostics, health, provenance, and optional ACL-safe Search projection. - External ticket objects will retain explicit source-of-truth and link/import/synchronize modes. - Tickets remains authoritative for GovOPlaN ticket lifecycle; Helpdesk remains authoritative for routing/service policy; Cases remains authoritative for formal procedure semantics and Ticket-to-Case escalation. - No connector operation will convert an external ticket into a Case or collapse the aggregates. I will verify reduced compositions without Tickets/Cases/Search as well as the integrated path, then release and post evidence here.
Author
Owner

Implemented and released the Znuny/OTRS-compatible service-desk connector.

Delivered:

  • discovery and health evidence for product, version, maturity, route availability, and exact configuration revision;
  • deployment-defined GenericInterface route mappings with official header authentication and guarded legacy POST-body authentication;
  • stable mappings for queues, tickets, articles, users, organizations, priorities, states, attachments, and dynamic fields, including explicit loss diagnostics;
  • governed link/import/synchronize modes with provenance, source-of-truth policy, queue/provider ACLs, idempotent bounded full/delta runs, cumulative cursors, retry/resume behavior, deletion reconciliation, and unknown-outcome handling;
  • revision-checked external ticket updates while preserving the GovOPlaN Ticket-to-Case boundary;
  • optional ACL-safe Search projections that fail closed after configuration drift;
  • a centralized-primitives administration UI plus English/German user and administrator documentation.

Released:

  • Core v0.1.33: fa2d5d40dd752fd460025c663c133bc1f172a5ce
  • Connectors v0.1.22: b277e8d7ac
  • Workspace composition: cf2f7f6

Verification:

  • full workspace focused gate passed, including 63 WebUI module permutations, the full-product bundle budget, and 8 Playwright conformance scenarios;
  • all 82 Connectors backend tests passed;
  • Core HTTP redirect-security tests passed (16);
  • Ruff, manifest-shape, strict endpoint-surface, DSAR, dependency-boundary, and UI structure checks passed.

Compatibility was verified against automated provider fixtures and the official Znuny GenericTicketConnectorREST/provider contracts. A real non-production deployment smoke test remains recommended because actual GenericInterface route names and enabled operations are deployment-defined; the administrator documentation contains the checklist. This is deployment acceptance, not remaining product implementation.

References:

Implemented and released the Znuny/OTRS-compatible service-desk connector. Delivered: - discovery and health evidence for product, version, maturity, route availability, and exact configuration revision; - deployment-defined GenericInterface route mappings with official header authentication and guarded legacy POST-body authentication; - stable mappings for queues, tickets, articles, users, organizations, priorities, states, attachments, and dynamic fields, including explicit loss diagnostics; - governed link/import/synchronize modes with provenance, source-of-truth policy, queue/provider ACLs, idempotent bounded full/delta runs, cumulative cursors, retry/resume behavior, deletion reconciliation, and unknown-outcome handling; - revision-checked external ticket updates while preserving the GovOPlaN Ticket-to-Case boundary; - optional ACL-safe Search projections that fail closed after configuration drift; - a centralized-primitives administration UI plus English/German user and administrator documentation. Released: - Core v0.1.33: fa2d5d40dd752fd460025c663c133bc1f172a5ce - Connectors v0.1.22: b277e8d7acc45ac5984be8c06bb0ff62faa31a47 - Workspace composition: cf2f7f6 Verification: - full workspace focused gate passed, including 63 WebUI module permutations, the full-product bundle budget, and 8 Playwright conformance scenarios; - all 82 Connectors backend tests passed; - Core HTTP redirect-security tests passed (16); - Ruff, manifest-shape, strict endpoint-surface, DSAR, dependency-boundary, and UI structure checks passed. Compatibility was verified against automated provider fixtures and the official Znuny GenericTicketConnectorREST/provider contracts. A real non-production deployment smoke test remains recommended because actual GenericInterface route names and enabled operations are deployment-defined; the administrator documentation contains the checklist. This is deployment acceptance, not remaining product implementation. References: - https://doc.znuny.org/znuny/admin/webservices/examples/GenericTicketConnectorREST/index.html - https://doc.znuny.org/znuny-7_1/admin/webservices/provider/
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-connectors#13