When Bitbucket Breaks Your CI
Wave CI was crashing on startup this morning. No code changes on our end, no deployments, nothing. Just a crash on boot.
Turned out Bitbucket Server deprecated the REST endpoint we use to post build status back to pull requests. The old endpoint returned an error, our integration code didn’t handle that error gracefully, and the exception bubbled up during initialization and took down the whole application.
Two fixes: handle the API error so it doesn’t crash the server (the immediate fix), and update to the new Bitbucket REST endpoint (the real fix). Both done, both deployed, Wave CI is back up.
But the lesson sticks. When you integrate with vendor APIs, you’re at the mercy of vendor decisions. Bitbucket Server is a product Atlassian is actively winding down. They’ve announced end-of-life and they’re pushing everyone to Bitbucket Cloud. So of course they’re not investing in backwards compatibility for Server APIs. They want you to leave.
It’s another data point in a growing pile: depending on Atlassian’s infrastructure is a liability. They’re winding down Server, they’re pushing Cloud, and the things we depend on are going to keep breaking. Between the Jira migration failures and now this, I’m starting to think we need our own git hosting too. But that’s a problem for another day. For now, the integration is fixed and Wave CI is posting build status again. Until the next deprecation.