Unlängst erreichte mich die Anforderung, dass innerhalb eines bestimmten JIRA Projekts nur auf Tickets eines bestimmten Typs Zeiten gebucht werden sollten.

Das ist Out-of-the-box in JIRA nicht einstellbar. Die Permission worklog ist auf Projektbasis entweder aktiv oder inaktiv. Wer work loggen kann ist über eine Permission geregelt; also auch nicht an einen Issuetype oder Ähnliches gebunden.

Eine Lösung gibt es allerdings doch. Sie kann sogar nur auf einzelnen Status eines Workflows greifen. Das ermöglicht z.B. Szenarien, in denen nur auf aktive (in progress) Tickets gebucht werden kann.

Einstellbar ist das wie folgt:

Auf jedem - oder einzelnen - Status innerhalb eines Workflows die Property

jira.permission.work.denied

mit dem Wert

denied

versehen.

Es ist ausreichend die Property im Status hinzuzufügen. Transitions müssen nicht angepasst werden.

Als nächstes muss noch dafür gesorgt werden, dass der Workflow, in dem es die Properties hinzugefügt wurden, als Default für „Unassigned Types“ in seinem Permission Scheme eingestellt ist.

Das Ergebnis: Zeitbuchungen auf dem JIRA Ticket sind nicht mehr Möglich. Auch via Keyboard-Shortcuts (STRG+W), über Tempo oder andere Plugins können keien Zeiten gegen das  Ticket gebucht werden.