Developing plugin that integrates with 3rd party from the Marketplace

I’m building a plugin that needs to integrate with a 3rd party plugin available in the Marketplace. It’s not a hard dependency, I just want to make sure we support it well. Think a complex automation plugin that needs to support custom field types provided by another product.

What is a good way to do integration testing here? I don’t want to manually set up a Jira instance for it, and do it repeatedly since licensing is getting in the way.

So far the best I’ve come up with is a process that looks like:

  • Start my Jira instance with atlas-debug
  • Install the 3rd party plugin and configure it.
  • atlas-create-home-zip

There are two problems with it though: The license expires, and the addon is not automatically reinstalled after atlas-clean followed by atlas-debug.

Is there a way to automate all this, so that the Jira instance starts with the 3rd party plugin installed and with a license that has long enough expiration date (timebomb, maybe?)? How do you do integration testing against 3rd party plugins?

We use the timebomb licenses and automate things. We even wrote about it at https://developer.atlassian.com/blog/2016/02/totw-connecting-bamboo-and-bitbucket-cloud/

Basically we spin up a Droplet on DO that has Jira installed on it. Then we install the apps we need (take a look at https://bitbucket.org/atlassianlabs/bamboo-continuous-plugin-deployment how it does it.

Then we add the timebomb licenses (take a look at the rest call that the upm does when you execute it in the browser).

The only negative is that we have to pay for the snapshot on DO (but it’s pretty low cost considering the time it saves).

2 Likes