Closed darenegade closed 6 months ago
Hey team! Please add your planning poker estimate with Zenhub @darenegade @dominikhorn93 @lehju @lmoesle @markostreich @simonhir @StephanStrehlerCGI
@darenegade macht es Sinn hier 3 Use Cases daraus zu machen?
Ticketing: Status ändern Ticketing: Artikel schreiben
Auf der Prozessebene kann man das natürlich gerne machen, nachdem dies ein Subset von Ticket anpassen ist. Ich würde es aber nicht auf der API Ebene machen, da ich hier keinen Mehrwert in der Trennung sehe und wir so näher an der API des eigentlichen Systems sind (KISS)
D.h. wir haben ein Out-Port "Ticket anpassen" Ich würde hier aber 3 In-Ports definieren.
Wir nutzen ja eh schon nicht die Zammad-eigene API, sondern eine fachlich definierte API der EAI.
Ich würde die Aufteilung der Funktionen eher auf der Prozess-Ebene sehe, wenn dies benötigt wird. Je einfacher unsere Integration ist, desto einfacher haben wir es. Wenn der Bedarf dann wirklich noch da ist, können wir immernoch zwei dedizierte Ports für Status und Artikel hinzufügen
"Ticket anpassen" ist für mich aber kein Use Case, sondern eine generische Möglichkeit etwas mit Tickets zu machen... fühlt sich nach CRUD an.
Wenn beides optional ist, könnte man auch 2 leere Strings mitgeben. Was passiert dann? Error oder einfach skippen? Validierung der Inputs ist so nicht ganz klar.
Was machen wir, wenn sich die "Ticket anpassen" Schnittstelle um neue Parameter erweitert? Erweitern wir dann auch unsere Schnittstelle oder bauen wir eine neue um eventuelle Inkompatibilitäten zu verhindern?
Das ist auch gar nicht aufwendig hier 2 weitere Ports zu definieren. Gleichzeitig wird die Validierung einfacher und wir haben voraussichtlich weniger Kompatibilitätsfragen in der Zukunft.
Nach Abstimmungen gibt es folgenden In Port:
ArtikelSchreibenInPort
@dominikhorn93 Hier noch die Doku für Zammad: https://wiki.muenchen.de/betriebshandbuch/wiki/MPdZ-Ticketing_(Zammad)#Test_2
Wir sollen die PreLive anbinden. Bei den Tests bitte immer in einem Ticket arbeiten, da wir sparsam mit dem Neuanlegen von Tickets sein sollen
@dominikhorn93 Hab die Rückmeldung vom Zammad Team bekommen, dass sie die API nochmal anpassen morgen, damit kein PUT mit vorher auslesen der Daten (Titel ID) notwendig ist. Sollte die Tage dann auf der Testumgebung bereit stehen
@dominikhorn93 Ich grätsch hier auch gleich mal rein: Es wird in den nächsten Tagen noch eine kleine Änderung an den "intenal" Schnittstellen geben: Bisher musstest du verpflichtend entweder lhmExtId
oder userId
als Kontext mitgeben. Das wird optional weiterhin möglich sein, allerdings gibt es auch die Möglichkeit ohne "Userkontext" auf die API zuzugreifen. Das wird insbesondere dann relevant, wenn der auslösende User z.B. unauthentifiziert arbeitet und man somit keinen Userkontext hat.
Macht ggf. keinen Unterschied für eure Anbindung, wollte es nur vorher schonmal mitteilen, falls ihr doch Bedarf an der Änderung habt.
Wir werden erst einmal die TicketsApi nutzen und davon den Aufruf updateTicket
mit folgendem body:
{
"id": "<string>",
"state": "closed",
"pending_time": "<dateTime>",
"article": {
"body": "<string>"
}
}
@lmoesle @dominikhorn93 Wie ist hier der Stand?
@darenegade Lukas hat festgestellt, dass die UserId im Aufruf momentan nicht optional ist. Die Verbindung funktioniert soweit... Ob wir das so bis test ausrollen können, ist aber fraglich.
Lukas hat festgestellt, dass die UserId im Aufruf momentan nicht optional ist.
Das ist ja genau das, was einfach in der Swagger steht und schon immer stand. Das andere von dir, waren doch nur Diskussionen mit Fabian.
Das müssen wir an den Prozess durchreichen als Parameter.
Die UserId kennen wir aber nicht, da es sich um die Zammad UserId handelt. Deshalb hatte ich nachgefragt und die Info bekommen, dass es eigentlich auch ohne UserId funktioniert - das ist aber leider nicht korrekt.
Die UserId kennen wir aber nicht, da es sich um die Zammad UserId handelt.
Der Plan war doch, dass dies in der Zammad-EAI von der LHM-Objekt-ID aufgelöst wird, nachdem es externe Systeme nie wissen können. Das war mMn auch Konsens beim Zammad-Team bzw. Fabian.
Sonst nehme ich das gerne nochmal in die Hand, wenn wir aktuell hier einen Blocker haben
Deshalb hatte ich nachgefragt und die Info bekommen, dass es eigentlich auch ohne UserId funktioniert - das ist aber leider nicht korrekt.
Das soll der Fall werden, ist aber bisher noch nicht umgesetzt:
https://jira.muenchen.de/browse/MPDZ2-282
Ich komme voraussichtlich diese Woche dazu das umzusetzen, sodass ihr keinerlei User-Informationen mehr angeben müsst.
Das Ticket ist durch und der neue Stand der EAI steht in der Testumgebung bereit. Wenn euch noch Probleme auffallen, bitte in Issue aufmachen und mir zuweisen, ich versuche mich dann schnellstmöglich drum zu kümmern 👍
FYI Für den Ops Part von der Integration habe ich #1377 aufgemacht, damit wir weiter an der Integration arbeiten können und z.B. mit #1266 starten können.
Is your feature request related to a problem? Please describe.
Als Bürger:in der LHM möchte ich über den aktuellen Stand meiner Anliegen informiert sein. Dazu hat die LHM eine Kontakthistorie (Zammad) eingeführt und verbindet diese mit allen Eingangskanälen, z.B. Formularserver. Damit Bürger:innen nun auch den Status ihrer Anliegen zu DigiWF-Prozessen erhalten, soll hierzu eine neue Integration erstellt werden.
Describe the solution you'd like
Describe alternatives you've considered
Acceptance Criteria
Additional context