| Übersicht | |||
|---|---|---|---|
| Beschreibung: |
Links for issue trackers | ||
| Status: | stable | Lizenz: | GPL-3.0-only |
| Entwickler: | Hallo Welt! | Distribution: | BlueSpice |
| Kategorie: | Rich Articles | Edition: | BlueSpice pro, BlueSpice farm, BlueSpice cloud 5.2+ |
Technische Information[Bearbeiten | Quelltext bearbeiten]
Voraussetzungen[Bearbeiten | Quelltext bearbeiten]
- MediaWiki: 1.43.0
- VisualEditorPlus: *
Integriert in[Bearbeiten | Quelltext bearbeiten]
- BlueSpiceSMWConnector
- ContentDroplets
- VisualEditor
Hooks[Bearbeiten | Quelltext bearbeiten]
Konfiguration[Bearbeiten | Quelltext bearbeiten]
Ein Wiki-Administrator muss festlegen, welche Issue-Links im Wiki verfolgt werden. Dies geschieht auf der Seite MediaWiki:IssueTrackerLinksConfig.json. Diese Seite ist bereits mit gängigen Issue-Trackern vorbelegt.
Die Konfiguration ist ein JSON-Objekt, wobei key eine eindeutige ID für den Tracker und value ein Objekt mit den folgenden Eigenschaften ist:
| Eigenschaft | Beschreibung |
|---|---|
url
|
obligatorisch - URL-Muster für die Tracker-Links. Alle variablen Teile können durch eine Variable ersetzt werden (z. B. {repo}, {id},...) "https://github.com/{owner}/{repo}/issues/{id}"
|
label
|
optional - Nachrichtenschlüssel oder String-Nachricht, die als Bezeichnung für diesen Tracker-Typ verwendet werden soll. |
display-mask
|
optional - Wie dieser Tracker-Link auf der Seite dargestellt werden soll. Beispiel:
|
sequence
|
Optional - Wenn Sie bestimmte Sequenzen im VisualEditor automatisch in Tracker-Links konvertieren möchten, geben Sie hier die Maske an. Wenn die Maske beispielsweise als GH{id} definiert ist, wird jede GH123-Sequenz in einen Link zum Tracker mit id=123 konvertiert, oder GH:{repo},{id} für GH:example-repo,123, wobei repo=example-repo und id=123. Enthält die URL-Maske mehr Variablen als in der Sequenz vorhanden sind, führt dies zu fehlerhaften Links. Es wird empfohlen, Sequenzen nur für URLs mit einer Variable zu verwenden, z. B. für Vorgangs-IDs. Important!
Die sequence-Maske darf keine Kommas zur Trennung der Variablen enthalten. |
Beispiel für eine JSON-Konfiguration[Bearbeiten | Quelltext bearbeiten]
Standardmäßig sind GitHub-, GitLab- und Jira-Vorgänge vorkonfiguriert und können bei Bedarf angepasst werden. Weitere Ticketsysteme können hinzugefügt werden, z. B. Links zu EasyRedmine (ERM). Bitte beachten Sie, dass der Label-Parameter für die vorkonfigurierten Ticketsysteme zur Unterstützung der Benutzersprache als Systemnachrichten definiert ist. Systemnachrichten werden nur in mehrsprachigen Wiki-Instanzen benötigt:
{
"github": {
"url": "https://github.com/{owner}/{repo}/issues/{id}",
"label": "issuetrackerlinks-type-label-github",
"icon": "github",
"display-mask": "{owner}/{repo}#{id}"
},
"gitlab": {
"url": "https://gitlab.com/{owner}/{repo}/-/issues/{id}",
"label": "issuetrackerlinks-type-label-gitlab",
"icon": "gitlab",
"display-mask": "{owner}-{repo}:{id}"
},
"jira": {
"url": "https://{jira-domain}/browse/{id}",
"label": "issuetrackerlinks-type-label-jira",
"icon": "jira",
"display-mask": "{id}"
},
"ERM": {
"url": "https://support.mydomain.com/issues/{id}",
"label": "ERM",
"display-mask": "ERM{id}",
"sequence": "ERM{id}"
}
}

CSS-Stile anpassen[Bearbeiten | Quelltext bearbeiten]
Die Badges können in MediaWiki:Common.css angepasst werden. Beispiel für ein Google-Ticket, das über den Namen "google" in der json-Konfiguration definiert wurde:
"google": {
"url": "https://issuetracker.google.com/issues/{id}",
"label": "issuetrackerlinks-type-label-google",
"display-mask": "{id}"
}
In MediaWiki:Commmon.css kann folgendes Styling angegeben werden:
/*Bootstrap "bug"-Icon*/
.mw-issue-type-google a::before {
font-family:"bootstrap-icons"!important;
content: "\f1dc"!important;
font-size:0.9em;
margin-right:0.4em
}
/*blaue Badge-Farbe*/
.mw-issue-type-google a {
background-color:#edf6ff!important;
border:1px solid #6588ad!important;
padding:0.3em!important;
}
/*Unterstrichene Ticketnummer*/
.mw-issue-type-google a .oo-ui-labelElement-label {
border-bottom:1px dotted #6588ad
}
/*Hover-Effekt*/
.mw-issue-type-google a:hover {
background-color:#d8ecff!important
}
Ausgabe:
