Dynamische Gitlab Badges

vorhergehende Artikel in: OpenSource Python
16.02.2019

In einem früheren Artikel untersuchte ich bereits verschiedene Möglichkeiten, Badges in Gitlab zu erzeugen - allerdings stellte mich die gefundene Lösung noch nicht endgültig zufrieden - bis jetzt...

Die bisher erreichten Ergebnisse stellten mich aus einem ganz einfachen Grund nicht zufrieden: Als Beispiel sollen die im letzten Artikel gezeigten Beispiele dienen, die Anzahl von Issues (offen und geschlosen) in Badges darzustellen: Mit der dort gezeigten Methode werden die Badges aktualisiert, wenn die Pipeline läuft. Änderungen, die geschehen bevor die nächste Pipeline gestartet wird, bleiben verborgen, da auch der Badge nicht aktualisiert wird. Die Beispiele wurden realisiert mittels der Nutzung der Gitlab-API in Bash-Skripten.

Es gibt zwar Facetten an Gitlab, die sich nur durch Commits ändern - und für solche ist die Variante der Erzeugung von Badges in der CI/CD-Pipeline gut und richtig. Aber die Issues selbst zählen eben gerade genau nicht dazu - die Zeitpunkte, zu denen Issues neu erstellt werden sind nicht mit denen von Commits korrelliert und die Zeitpunkte des Schließens von Issues müssen es nicht sein.

Dadurch ergibt sich, dass bei Nutzung der Lösung wie sie im vorhergehenden Artikel zu diesem Thema präsentiert wurde die Zahl in denBadges für die offenen und geschlossenen Issues nie stimmen kann.

Daher benötigt man hier wirklich dynamische Badges - etwas, das in Github bereits integriert ist, in Gitlab dagegen bisher nicht. Aber nach dem alten Motto aus dem Amiga-Magazin "Fehlt Dir was? Programmier Dirs doch!" - das kann man ändern. Alles, was ich dazu brauchte war Python, eine Installation Apache2 und die Gitlab-API-Bindings für Python und natürlich die Bibliothek zur Erzeugung von Badges.

Damit war ich dann in der Lage, das in diesem Gist niedergelegte Script zu erstellen, das mir über die Gitlab-API bei jedem Aufruf ein Badge mit den akuellsten Werten erstellt. So habe ich gleich mehrere Fliegen mit einer Klappe geschlagen - da es Python ist, rechne ich mir das nämlich mal gleich auf meine Liste von Vorhaben für 2019 an!

Eingebunden werden diese in Git dann zum Beispiel so:

http://<apache2-host>/gitlab_issues.py?label=closed%20issues&action=closedissues&projid=%{project_id}

Artikel, die hierher verlinken

Alte Rechner zukunftsfähig (?)

01.05.2019

Ich mache immer wieder gerne Experimente mit Terminalsessions - meistens wegen der zentral möglichen Administration. Nunhabe ich das Thema von neuem angepackt: wegen einem alten(sehr alten) Laptop, der bei mir schon so lange im Schrank lag, dass sogar die BIOS-Batterie inzwischen leer war...

Dynamische Gitlab Badges II

21.02.2019

In einem früheren Artikel habe ich eine Möglichkeit vorgestellt, echt dynamische Badges für Gitlab zu erstellen. diese Herangehensweise hat aber einen großen Nachteil

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.