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

  • Synchronisierung von Lorenz-Systemen III

    23.10.2020

    Nachdem ich in einem vorhergehenden Artikel auf das Problem des kleinen Parameterraums im Zusammenhang mit der Nutzung synchronisierter chaotischer Systeme hingewiesen hatte will ixch hier untersuchen, wie sensibel solche Systeme auf Abweichungen der Parameterwerte zwischen treibendem und getriebenen System reagieren

    Weiterlesen

Neueste Artikel

  • Plugin zur Arbeit mit Markdown für NeoVim

    Ich habe neulich beschrieben, dass ich aktuell mehr und mehr bemerke, dass Dinge, für die ich in meinem NeoVim-Setup Plugins benutzt habe sehr gut auch mit Bordmitteln funktionieren.

    Weiterlesen
  • Raspbian Upgrade von 11 (Bullseye) nach 12 (Bookworm)

    Ich habe neulich wieder einmal eine Upgrade- und Backup-Sitzung mit meinen diversen Linuxinstallationen veranstaltet. Der Zeitpunkt schien mir gekommen, da es eine neue stable Variante von Debian (Trixie) gibt.

    Weiterlesen
  • Meine praktischen Erfahrungen mit ollama (llava)

    Ich diskutiere immer wieder gern über das was heute Machine Intelligence oder Artificial Intelligence ( oder wie die ganzen anderen hohlen Phrasen heißen, die dafür heutzutage als Buzzwords missbraucht werden). Das geschieht online, in meinem $dayjob oder auch privat. Meine Meinung steht fest: das ist alles Quatsch und steht in keiner Relation zum Nutzen

    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.