Anybody here, who does automatic Atlassian marketplace deployments for own plugins?

Joachim Seibert July 28, 2015

We are thinking of a way to fasten our plugin release process and came over this plugin: https://marketplace.atlassian.com/plugins/com.hindsighttesting.marketplace-addon-publisher

But that doesn't seem to work anymore with our Bamboo version (5.8.1):

Error occurred while running Task 'Upload to Marketplace(3)' of type com.hindsighttesting.marketplace-addon-publisher:marketplace-publisher.

28-Jul-2015 19:50:57 java.lang.NoClassDefFoundError: com/atlassian/upm/api/util/Option
28-Jul-2015 19:50:57 at com.atlassian.marketplace.client.impl.CommonsHttpHelper.createCachingHttpClient(CommonsHttpHelper.java:193)
28-Jul-2015 19:50:57 at com.atlassian.marketplace.client.impl.CommonsHttpHelper.<init>(CommonsHttpHelper.java:80)
28-Jul-2015 19:50:57 at com.atlassian.marketplace.client.impl.DefaultMarketplaceClient.<init>(DefaultMarketplaceClient.java:60)
28-Jul-2015 19:50:57 at com.hindsighttesting.bamboo.marketpublisher.MarketplacePublishTask.run(MarketplacePublishTask.java:76)
28-Jul-2015 19:50:57 at com.hindsighttesting.bamboo.marketpublisher.MarketplacePublishTask.execute(MarketplacePublishTask.java:207)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.task.TaskExecutorImpl$1.call(TaskExecutorImpl.java:263)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.task.TaskExecutorImpl$1.call(TaskExecutorImpl.java:260)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.task.TaskExecutorImpl.executeTaskWithPrePostActions(TaskExecutorImpl.java:198)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:260)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.task.TaskExecutorImpl.execute(TaskExecutorImpl.java:105)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.build.pipeline.tasks.ExecuteBuildTask.call(ExecuteBuildTask.java:75)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:188)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:112)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:110)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:49)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)
28-Jul-2015 19:50:57 at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)
28-Jul-2015 19:50:57 at java.lang.Thread.run(Thread.java:744)

28-Jul-2015 19:50:57 Caused by: java.lang.ClassNotFoundException: com.atlassian.upm.api.util.Option
28-Jul-2015 19:50:57 at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:772)
28-Jul-2015 19:50:57 at org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73)
28-Jul-2015 19:50:57 at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1690)
28-Jul-2015 19:50:57 at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

28-Jul-2015 19:50:57
        ... 19 more

 

Does anyone uses other mechanics for the release process? Is there an official API for the marketplace?

1 answer

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

1 vote
elibishop
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 28, 2015

I'm not familiar with that plugin, but it is using an Atlassian Marketplace API client library that anyone can use (either within plugin code as they're doing in this case, or in a stand-alone Java tool to be run from the command line). The error here looks like it might be a problem in how Hindsight's plugin was built— i.e. one of the dependencies of the library did not get included— rather than an incompatibility with your Bamboo version. Although it's a free and unsupported plugin, I'll try to contact the developer to let them know.

Anyway, about the Marketplace REST API: the original API, which is what this client library uses (and also what the Universal Plugin Manager uses), was never documented and is now a bit out of date (so for instance it isn't possible to set some fields that were added later, such as highlights, if you're using that client library). We've been working on getting a 2.0 API in place; a beta version of it is already being used by the Marketplace website itself, but it still needs a bit of work before it can be officially released. At that point it will be documented, and there will also be an updated client library.

In the meantime, if you'd like to experiment with the current client library, you can find it in Maven at atlassian-universal-plugin-manager:mpac-client:2.19 - besides the jar of just the library, there is an uberjar that also includes its dependencies, and a Javadoc jar.

Christophe Promé July 31, 2015

Is there any documentation for the Marketplace 2.0 REST API ? The only resource I can find is this article : https://developer.atlassian.com/market/developing-for-the-marketplace/accessing-sales-reports-with-the-rest-api The API seems to offer much more than that.... Thanks

elibishop
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 31, 2015

As I said: "We've been working on getting a 2.0 API in place; a beta version of it is already being used by the Marketplace website itself, but it still needs a bit of work before it can be officially released. _At that point it will be documented_, and there will also be an updated client library."

TAGS
AUG Leaders

Atlassian Community Events