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

  • Strange Attractors im Lorenz System

    10.05.2020

    Das Lorenz System kann in einem Jupyter-Notebook interaktiv erkundet werden:

    Weiterlesen...

Neueste Artikel

  • Anpassungen für GraphViz und PlantUML

    Ich habe hier schon verschiedentlich über die Anwendung des PlantUML- oder GraphViz- Formats geschrieben. Beide sind extrem vielseitig - sowohl für eher traditionelle Darstellungen von Graphen oder Entity-Relationship-Diagrammen als auch für zum Beispiel die Dokumentationen von Public Key Infrastrukturen

    Weiterlesen
  • Origami - Inspirationen und Anleitungen

    Videos und Bastelanleitungen - meistenteils Origami

    Weiterlesen
  • SBOMs für alte Java-Projekte

    Ich habe neulich wieder einmal über Software Bill Of Materials oder SBOMs nachgedacht - inspiriert nicht nur, aber auch von meinem $dayjob...

    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.