Literally nothing in the Bamboo Plugin Developer guides is up-to-date or accurate

Are Bamboo plugins still supported by Atlassian? Because it doesn’t appear that way based on the developer experience.

Java 8 is still required to use atlas-run due to what looks like relying on bundled JAXB. For context, at the time of this post Java 15 is now GA.

The generated Maven project for a Bamboo plugin can’t be imported into an IDE as-is because it’s missing and elements to locate its dependencies (I assume atlas-run is manually downloading the things it knows it needs or substituting its own settings.xml to make this work from the command line). [EDIT: It looks like the correct solution is to use the bundled Maven instance from the plugin SDK, but this is not documented in Getting Started. It also means that we are stuck with the bundled version and settings.xml. If you have proxy configs, mirrors, etc in your own settings.xml you can’t use them when developing a plugin. It’s not clear why this is necessary – dependencies should be managed through the tags if Atlassian won’t publish to Maven central so that these projects are portable. Ideally a specific parent POM wouldn’t be required either.]

I get random OSGI/BND errors sometimes when using atlas-run. StackOverflow suggests that this might be because the version of BND being used by a Maven plugin doesn’t support anything compiled past Java 8 either? This basically rules out any 3rd party library built in the last 5 years or more. [EDIT: It actually seems like this is because you are required to export a package and service from your plugin? If I remove the default “MyComponent” and “MyComponentImpl” my plugin cannot be loaded after atlas-run completes. This ALSO is not documented anywhere]

The example projects referred to from different parts of the guide don’t exist anymore since they were Mercurial repositories and Bitbucket has dropped Hg support.

There is conflicting guidance on how to inject dependencies into your plugin (use setter methods, no use javax.Inject, no use Spring’s @Autowired, no use this custom @Scanned annotation on the class…)

The UI depends on Freemarker templates and a custom library, “ACE”, which doesn’t appear to have any useful documentation.

I literally followed the guide from https://developer.atlassian.com/server/bamboo/introduction-to-writing-tasks/ and the Hello World plugin can’t be loaded after atlas-run finishes:

The list goes on and on!

I am paying good money for Bamboo partially on the basis of the plugin ecosystem and this is the best Atlassian can do??

2 Likes