Jira: Linke Projekt-Seitenleiste ausblenden

Wer seine Software so nutzerfreundlich machen möchte, wie nur irgend möglich, der zeigt seinem Nutzer nur das an, was er wirklich sehen muss. In einer schlanken Jira-Konfiguration hat die Projekt-Seitenleiste m.E. daher nichts verloren:

Leider bietet Jira auch diese Konfigurationsmöglichkeit nicht werkseitig an, so dass man sich mit einem ‚Hack‘ behelfen muss:

Folgenden Code in den Ankündigungsbanner einpflegen:

<script type="text/javascript">
$(function() {
AJS.$("[class='aui-sidebar-wrapper']").hide()
});
</script>

Nachdem man Banner einstellen geklickt hat, erscheint eine Fehlermeldung, die jedoch scheinbar nicht schlimm ist.

Diesen Hack habe ich rudimentär mit Chrome v72, Internet Explorer 11 und Firefox 65 getestet.

Jira: E-Mail-Benachrichtigung bei Vorgang geschlossen (Issue closed)

Jira feuert beim Übergang in den Status Vorgang geschlossen nicht automatisch ein entsprechendes event (Quelle).

Also muss man in den Folgefunktionen aller Übergänge (engl. transitions) in den Status Geschlossen das Standardevent Allgemeines Ereignis in Vorgang geschlossen ändern:

Anschließend gg.falls Arbeitsablauf-Entwurf veröffentlichen.

Anschließend natürlich noch in den Benachrichtigungen aufnehmen.

Jira Beobachter (engl. Watcher) in Vorgangssicherheit, Berechtigungen, usw. verwenden

Wer von einem E-Mail-basierten Ticketsystem (z.B. OTRS) auf Jira umsteigt, wird darüber stolpern, dass Jira die „CC-Funktionalität“ nicht out-of-the-box unterstützt. Konkret stellt man sich die Frage: Wie kann man in Jira abbilden, dass der vom Kunden per E-Mail geschickte Arbeitsauftrag (in Jira Vorgang genannt) nur von den Bearbeitern und von „erwünschten“ Kollegen eingesehen werden kann. Bei E-Mails nimmt man diese Kollegen ja einfach ins CC: Jeder dieser Kollegen kann die E-Mail weiteren Kollegen zu Gesicht bringen, indem er diese bei einer Antwort zusätzlich ins CC nimmt.

Grundsätzlich kann in Jira niemand ein Ticket einsehen, wenn er nicht in Projekteinstellungen -> Berechtigungen -> Projekte durchsuchen eingetragen ist. Das entspricht dem Verhalten einer E-Mail, denn vereinfacht gesagt, kann niemand eine E-Mail einsehen, wenn er nicht im CC steht.

Doch wie bildet man nun die CC-Funktionalität in Jira ab, also dass jeder, der das Ticket einsehen darf, weitere Kollegen die Einsicht in dieses Ticket erlauben darf? Die naheliegenden Felder Beobachter (engl. Watcher) im klassischen Jira oder Request Participiants im Produkt Jira Service Desk fallen für mich weg, da mit ihnen bzgl. Berechtigungen und Vorgangssicherheit keine Feinkonfiguration möglich ist: https://jira.atlassian.com/browse/JRASERVER-45488

Das geht bei Jira erstaunlicherweise nur mit einem Add-On, welches holprigerweise ein zusätzlich sichtbares Feld im Ticket mit sich bringt – aber diese Kröte muss man an dieser Stelle wohl schlucken …

Wir installieren also das Add-On Jira Watcher Field.

Dann schalten wir beim Add-On Allow users to be added as watchers regardless of Browse Issue permissions ein, denn ohne diesen Trick kann niemand einem Ticket zugeordnet werden, wenn er nicht die grundlegende Berechtigung Projekte durchsuchen hat.

Anschließend machen wir das neue Watcher Field verfügbar:

Und nennen es anschließend Ticket-Beobachter.

Als nächstes wird dieses benutzerdefinierte Feld noch für die entsprechenden Bildschirmmasken freigeschaltet.

Meines Erachtens ist es sinnvoll, die Projekt-Berechtigungen der Autoren auch 1:1 auf die Ticket-Beobachter zu übertragen. Also schalten wir im nächsten Schritt folgende Berechtigungen für die Ticket-Beobachter ebenfalls frei:

  • Projekte durchsuchen (damit das Ticket überhaupt eingesehen werden kann)
  • Vorgänge schließen (damit auch die Ticket-Beobachter ‚tote‘ Tickets wegräumen können)
  • Beobachter verwalten (damit jeder Ticket-Beoachter weitere Ticket-Beobachter hinzufügen kann)
  • Kommentar hinzufügen (jeder, der ein Ticket einsehen kann, sollte auch seinen Senf dazugeben dürfen)
  • Eigene Kommentare löschen
  • Eigene Kommentare bearbeiten
  • Anhänge erstellen
  • Eigene Anhänge löschen

Die Projekt-Benachrichtigungen sind ebenfalls noch um die Ticket-Beobachter zu erweitern, z.B. so:

  • Vorgang erstellt
  • Vorgang geschlossen
  • Vorgang kommentiert
  • Vorgang erneut geöffnet

Tooltipp mit Link (in Bootstrap)

In CSS


/**************************************************************
* Tooltip beautifier
*
* according to: https://www.w3schools.com/css/css_tooltip.asp
*******/

/* Tooltip container */
.tooltip {
	position: relative;
}

/* Tooltip text */
.tooltip .tooltiptext {
	/* font-size: take the default from global design, to sync the tooltip size with the user's preferences (Ctrl +) (Ctrl -) */
	/* width: not set, to let the content of the tooltip decide the size */
	background-color: #484848;
	color: #FFF;
	text-align: center;
	border-radius: 5px;
	border: solid 2px #000;
	font-family: sans-serif;
	visibility: hidden;
	padding: 10px 5px;
	white-space: nowrap; /* prevent automatic linebreaks. The writer of the tooltip should be responsible of formatting his tooltip. */
	opacity: 0;
 
	/* Position the tooltip text without any gap, to let the user move the mouse in the tooltip text to click a link there. */
	top: -10px; /* -10px because we use a top padding of our tooltip-text of 10px */
	position: absolute;
	z-index: 1;
}

/* Link in tooltip text */
.tooltip .tooltiptext a {
	color: #82CAFA;
	text-decoration: underline;
}

/* Fade in the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
	visibility: visible;
	opacity: 1;
	transition: opacity 1.25s;
	transition-delay: 0.75s;
}

/* Tooltip left-arrow */
.tooltip .tooltiptext::after {
	content: " ";
	position: absolute;
	top: 13px; /* position the arrow in the right upper corner of the 'hoverable' element */
	right: 100%; /* To the left of the tooltip */
	margin-top: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: transparent black transparent transparent;
}

dann:


<div class="tooltip">Hover over me
  <span class="tooltiptext"><a href='http://www.google.de'>Tooltip text</a></span>
</div>

In Bootstrap
hierbei ist jedoch das Problem, dass die eingebundene CSS-Datei das default-Design zerschießen kann

<html>
  <head>
    <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20src%3D%22%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fjquery%2F1.11.1%2Fjquery.min.js%22%3E%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
    <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20src%3D%22%2F%2Fmaxcdn.bootstrapcdn.com%2Fbootstrap%2F3.3.4%2Fjs%2Fbootstrap.min.js%22%3E%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet">
  </head>

  <body>
    <a href="#" role="button" class="btn popovers" data-toggle="popover" data-trigger="hover" title="Hallo" data-content="test content <a href='https://www.google.com/' title='test add link'>link on content</a>" data-original-title="test title">test link</a>
    <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E%20%24(%22%5Bdata-toggle%3Dpopover%5D%22).popover(%7Bhtml%3Atrue%2C%20delay%3A%7B%22show%22%3A100%20%2C%20%22hide%22%3A%203000%7D%7D)%3B%20%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
  </body>
</html>

JIRA per URL steuern

Hintergründe: https://confluence.atlassian.com/jirakb/creating-issues-via-direct-html-links-159474.html

Create Issue Dialog (ohne Fehlermeldung, wenn die Zusammenfassung fehlt)

z.B. http://deinserver/secure/CreateIssueDetails!default.jspa?pid=10101&amp;issuetype=10402

Achtung: „To have the reporter field default to the currently logged in user, the user must be logged in and must not have the Modify Reporter permission.“

Achtung: Es gibt wahrscheinlich keine Möglichkeit, Jira so zu konfigurieren, dass man in diesem Dialog noch zwischen verschiedenen Issue-Types auswählen kann. Das wäre dann nur über den u.g. Vordialog abbildbar.

Create Issue Dialog (mit Fehlermeldung, wenn die Zusammenfassung fehlt)

z.B. http://deinserver/secure/CreateIssueDetails!init.jspa?pid=10101&issuetype=10402

Create Issue Vordialog

z.B. http://deinserver/secure/CreateIssue!default.jspa?selectedProjectId=10101&amp;issuetype=10402