Skip to content

Atlassian ist schlechter als sein Ruf!

Neulich haben wir das Budget für einen selbst gehosteten BitBucket Server bekommen.
Nun war mir schon bewusst, dass BitBucket nicht gleich BitBucket Server ist. Genau genommen, sind BitBucket (Cloud) und BitBucket Server zwei verschiedene Produkte, die außer dem Namen und dem Einsatzzweck nicht viel gemeinsam haben.

Aber wie beschissen die Situation ist, war mir nicht klar. Zu behaupten, dass Atlassian die Server-Variante von BitBucket stiefmütterlich behandelt, wäre noch untertrieben.

Das fängt damit an, dass Änderungen an Pull-Requests keine Webhooks triggern können. Das ist dummerweise nicht sofort ersichtlich, das es durchaus eine Checkbox dafür gibt.
Erst bei genauerem Hinsehen fällt auf, dass das nur für Änderungen an “Titel, Beschreibung oder Zielbranch” eines Pull-Request gilt. Da fragt man sich doch, was sich häufiger bei einem Pull-Request ändert – ein weiterer Commit zum Nachbessern, oder Titel und Beschreibung.

Das ist zwar schon beschissen genug, aber man denkt sich halt: OK, dann muss ich das Ding halt minütlich mit Requests gegen die REST-API bombardieren …bis man sich mit den Einzelheiten der REST-API beschäftigt.
Denn auch diese ist fundamental anders, als die API der Cloud-Version und lässt ungefähr die Hälfte der Features vermissen!
Angaben über den Status eines Pull-Request? Pustekuchen! Von den Feldern die tatsächlich vom Server zurück kommen, ist auch nur die Hälfte dokumentiert.
Und auch an anderer Stelle ist die Doku für den Arsch! Das fällt spätestens dann auf, wenn man versucht die Kommentare eines Commit oder Pull-Request zu holen. Das geht nämlich nicht!
Kommentare können nur pro File (eines Commit/PR) abgerufen werden. Nur steht das nicht in der Doku. Auch nicht, dass der dazu gehörige Parameter “path” verpflichtent ist. Als Beschreibung steht da nur “the path to stream comments for a given path” – was zum Geier soll mir das sagen?
Auch das Anlegen eines Kommentar ist nicht weniger bekackt. Dafür braucht es nämlich zusätztlich zur Commit/PR-Id und dem Pfad noch einen “fromHash” und “toHash” .

Und nur um zu demonstrieren, dass sich dieses Verhalten nicht auf BitBucket (Server) beschränkt: In JIRA kann man für ein Projekt den default assignee nur auf den Projekt-Lead oder unassigned setzen. Es gibt seit Jahren ein Ticket, um auch andere User zu erlauben – bislang ohne Erfolg.

Und um noch mal auf BitBucket zurück zu kommen: wenn man eine Lizenz für BitBucket Server kauft, bekommt man ein Jahr Support – was Updates mit einschließt. Aber nach dem Jahr gibt es nicht nur keine Feature-Updates mehr. Es gibt gar keine Updates mehr – also auch keine Sicherheitsupdates!
Dafür dass das Zeug verdammt viel Geld kostet, ist das nicht nur ziemlich armselig sondern einfach nur dreist!