kivitendo kann in den Kunden- und Lieferanten-Stammdaten zugehörige Tickets aus einem Ticketsystem (Issue Tracker) abrufen und diese in einem Tab anzeigen. Dazu ist in der Mandantenkonfiguration -> Features -> Experimentelle Features -> Ticket System Anbieter zunächst ein Anbieter auszuwählen. Ferner ist anbieterabhängig weitere Konfiguration erforderlich.
Diese Implementierung funktioniert mit Atlassian Jira Cloud. (Die on-premises Variante von Jira hat eine andere API.)
Zu den Tickets werden folgende sortierbare Spalten angezeigt: Schlüssel, Zusammenfassung, Priorität, Status, Ersteller, Zugewiesen, Erstellt am, Erneuert am. Über den Link in der Spalte Schlüssel kann zu Jira gesprungen werden.
Implementiert ist Authentifizierung via OAuth2 Tokens. In Jira
muss kivitendo zunächst als App angelegt werden. Dabei werden
client_id, client_secret
und redirect_uri vergeben. Zu beachten
ist, dass redirect_uri diejenige
URL sein muss, unter welcher kivitendo zum Anlegen der
OAuth-Tokens vom Benutzer aufgerufen wird, gefolgt vom
Endpunkt /oauth.pl. Alle drei Parameter
sind in der kivitendo.conf im Abschnitt
[oauth2_atlassian_jira] einzustellen,
wie unten exemplarisch gezeigt ist.
Die App muss in Jira mit einem Benutzer oder mit mehreren Benutzern verknüpft werden:
Die OAuth Tokens werden in kivitendo unter Programm -> OAuth Tokens angelegt. Ist in kivitendo ein mandantenweites Token und ein nutzerbezogenes Token für einen bestimmten Nutzer vorhanden, so wird das nutzerbezogene Token bevorzugt.
Nicht notwendig, aber für die Geschwindigkeit der Abfragen
vorteilhaft, ist es, die cloud_id
und cloud_url der gewünschten Jira
Instanz ebenfalls in der kivitendo.conf
einzustellen. (Zum Finden dieser Parameter nutzen Entwickler
die Konsole und rufen accessible_resources
aus SL/TicketSystem/Jira.pm auf.) Fehlt diese
Angabe, so wird die von Jira als erstes zurückgegebene Cloud
verwendet, wozu für jede Abfrage ein zweiter HTTP-Request
nötig ist.
Exemplarischer Konfigurationsabschnitt in
kivitendo.conf:
[oauth2_atlassian_jira]
client_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
client_secret = xxxxxxx-xxxxx-xxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxx
redirect_uri = http://kiviserver.lan/oauth.pl
# optional:
[atlassian_jira]
cloud_id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
cloud_url = https://firma.atlassian.net
Beim Kopieren einer Produktivdatenbank für
Testzwecke sollten die OAuth Tokens ausgelassen
werden, da beim Refresh im Testsystem die Tokens im
Produktivsystem ungültig würden. Siehe hierzu die Option
--exclude-table-data=oauth_token in
man pg_dump(1).