Dynamische Gitlab Badges

vorhergehende Artikel in: Git(lab|hub) 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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Aviator + Websockets

    15.06.2019

    Nachdem ich in den letzten Wochen und Monaten meine Zeit und Energie in die sQLshell gesteckt habe - was sowohl Bugfixing als auch neue Features betraf - habe ich nun endlich die Zeit gefunden, ein bereits lange überfälliges Feature an dWb+ und speziell am aviator zu implementieren.

    Weiterlesen...

Neueste Artikel

  • Neue Version plantumlinterfaceproxy napkin look

    Es gibt eine neue Version des Projektes plantumlinterfaceproxy - Codename napkin look.

    Weiterlesen...
  • Apache HTTPCore5 funktioniert nicht mit Docker

    Ich habe neulich drei Stunden meines Lebens verschwendet weil ich unbedingt die neueste Version der HTTPCore5 Library von Apache einsetzen wollte.

    Weiterlesen...
  • Entwurfsmodus für beliebige SVG Graphiken

    Nachdem ich in der Vergangenheit immer wieder Weiterentwicklungen der Idee vorgestellt habe, Graphiken mit dem Computer so zu ezeugen dass sie eine gewisse "handgemachte" Anmutung haben, habe ich nunmehr die durchschlagende Idee gehabt:

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.