Updating Bamboo Specs from repository failed
Asked by Jon Freedman:

I have added a Java specs project to an existing repository under the bamboo-specs subdirectory. Once I merged this into master this triggered Bamboo to scan, e.g. I see a line in the Specs status tab on the relevant linked repository, but Specs status is "Error in Bamboo Specs"

I see the following error in atlassian-bamoo.log

```
2018-11-05 08:23:27,429 INFO [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-5] [BitbucketServerRssStatusUpdater] Sending RSS notification to Stash (repository: ...)
2018-11-05 08:23:31,598 INFO [15-BAM::SpecsDetection:pool-23-thread-1] [RssDetectionRunnable] Exception while executing RSS detection for repository 2359297
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Expected authority at index 7: http://
 at com.google.common.base.Throwables.propagate(Throwables.java:160)
 at com.atlassian.bamboo.configuration.external.RepositoryStoredSpecsServiceImpl.generateBambooYamlsFromSpecs(RepositoryStoredSpecsServiceImpl.java:500)
```

I don't see anything obviously relevant in atlassian-bitbucket.log

Both Bamboo and Bitbucket sit behind an apache reverse proxy providing HTTPS so I suspect this is the root cause of the issue. Please advise on how to configure this correctly.


Answers:
author: Gerhard Forster
body: This KB should get you all details needed to secure your connection behind an Apache reverse Proxy: <https://confluence.atlassian.com/kb/securing-your-atlassian-applications-with-apache-using-ssl-838284349.html>

It's thought to be used for all Atlassian applications, so it's suitable for Bamboo and for Bitbucket.

Hope this helps, Jon.

Cheers, Gerhard

comments: author: Jon Freedman
body: I'm able to access both Bamboo and Bitbucket using the https reverse proxy urls and they are functional as in I can create a plan manually which is triggered from a commit to one of our repos. It's the specs scan specifically which does not work.


author: Gerhard Forster
body: Hi Jon,

I found this resolved bug ticket for you: <https://jira.atlassian.com/browse/BAM-18796>

Sound like what you're facing. I'm not sure what Bamboo version you use. If below 6.3.0, please consider a Bamboo upgrade.

Otherwise your case seems to be a bit more complex and we'd need more details from you for which best is to open a support case. Describe your situation there incl. your environment (Bamboo version, on what OS, inside Docker?, on same box as Bitbucket / other repo, etc.) and preferribly directly attach your Bamboo Support Zip.

Thanks, Gerhard


author: Jon Freedman
body: I created <https://getsupport.atlassian.com/servicedesk/customer/portal/35/CA-591584> with a support.zip - FYI the UX on your attachment upload is poor, it's non-obvious that a file has been uploaded, hence you get the support zip 6 times...


author: Jon Freedman
body: I've been told that I am ineligible to create a support case. Can you please create a bug report to track this.


author: Gerhard Forster
body: Hi Jon, I could create a bug ticket if we knew that it is a bug.

I cannot reproduce your issue not using two reverse Proxies and encrypted (SSL) connections on both ends. Do you see a chance, just for test purpose, to bypass the Proxies and also go without SSL?

If this works, next, please follow these steps to get Bamboo run behind Apache using https: <https://confluence.atlassian.com/bamboo/securing-bamboo-with-apache-using-ssl-391087437.html> and see if this works.

If so, continue to to configure Bitbucket with Apache and SSL, like this: <https://confluence.atlassian.com/bitbucketserver048/administering-bitbucket-server/advanced-actions/proxying-and-securing-bitbucket-server/securing-bitbucket-server-with-apache-using-ssl>.

One more idea: Do you you use https and not http for the Proxy URLs?

Hope this brings us further.

Cheers, Gerhard


author: Jon Freedman
body: Hi Gerhard,

I believe the bitbucket examples are stale as we are running 5.14.1 as per <https://confluence.atlassian.com/kb/securing-your-atlassian-applications-with-apache-using-ssl-838284349.html>

It looks like server.scheme was missing from bitbucket.properties - I am waiting for a restart to confirm if that makes a difference.


author: Jon Freedman
body: I'm afraid this is still failing after adding server.scheme

Looking at your stack trace it seems to me that wherever the proxy string is being built it's not including the scheme (<https://github.com/jersey/jersey/blob/master/connectors/apache-connector/src/main/java/org/glassfish/jersey/apache/connector/ApacheConnector.java#L422> - seems to be pulling in jersey.config.client.proxy.uri)

I can't really dig much further without access to your source.


Tags: bitbucket