Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Add-on licensing post UPM 2.0

David Pinn
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.
November 23, 2012

The Adding Licensing Support to Your Add-on tutorial is JIRA-focused, and "demonstrates how to write a license-aware plugin that is compatible with Atlassian products that are not yet supported by UPM 2.0". Since my plugin will be hosted by Stash 1.3+, which bundles UPM 2.7.4+, it's not clear to me exactly which licensing components my add-on needs.

I've followed the tutorial instructions, and read the Understanding the Generated License API Support page.

My tentative conclusion is that I don't need the LicenseServlet class, and that I merely need to make my add-on check license validity at each server-side contact point via ThirdPartyPluginLicenseStorageManagerImpl. Is that correct?

It would be helpful to me if someone would summarise the things that are necessary for licensing support in a post UPM 2.0 world.

Many thanks.

David

4 answers

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

3 votes
BenW
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
March 17, 2014

We have a tutorial describing how to use the UPM Licensing API for any product bundling UPM 2.0 or later: https://developer.atlassian.com/display/MARKET/Tutorial%3A+Adding+licensing+support+to+your+add-onThe tutorial is written with JIRA as an example but it works in any application.

For compatibility with older application versions which don't bundle UPM 2.0, we provide an alternate tutorial https://developer.atlassian.com/pages/viewpage.action?pageId=8947417

Cheers,
Ben

Graham Lea March 18, 2014
Thanks, Ben. That tutorial is certainly the answer! One thing that's interesting is that the atlas-create-stash-plugin-module method still creates all the old stuff: a LicenseServlet and references to the ThirdPartyPluginLicenceStorageManager. It would be great if those atlas- tools were updated to give the option of only adding the UPM 2.0+ stuff.
1 vote
Graham Lea March 17, 2014

Old question now, but I'm going to pull together what I've discovered to try and constitue an answer.

The Understanding the Generated License API Support page (which has probably changed since you first read it, David) says that the LicenseServlet "is necessary to support input of a license key in host applications where UPM 2.0 is not installed." So that supports your theory regarding it not being necessary for Stash, where UPM has been available since v1.1.2.

To summarise the comment that Akeles linked to above, if you're only targetting UPM-supporting deployments, you don't need to use the ThirdPartyPluginLicenseStorageManager interface, but can use the (UPM-only) PluginLicenseManager instead.

To answer Bob's excellent request for a matrix of UPM v. Product versions, there is now a UPM Bundling Matrix page on ecosystem.atlassian.netthat appears well-maintained.

BenW
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
March 17, 2014

Hi Graham,

We do keep the bundling matrix up to date. That's a good link to have.

As for tutorials I've posted an alternative answer with links to the relevant tutorials for the licensing APIs.

0 votes
Akeles
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.
November 27, 2013
0 votes
Bob Swift OSS (Bob Swift Atlassian Apps)
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.
November 23, 2012

Good question and I would add that the same information would be useful for the other products based on the minimum product release level a plugin version needs to support. At some point, that old stuff can be tossed out but I should be clear what is needed when.

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

TAGS
AUG Leaders

Atlassian Community Events