Clarification on "&lic=none"

What is the official definition of “&lic=none”? The doc does say:

The lic parameter may have either of the following values:

  • active: the license is valid for this instance and app
  • none: no license is present

But when will we get this request that “no license is present”? To be specific,

  1. Will all the requests from free plugins have &lic=active?
  2. Is it safe to display a warning/notification for requests with &lic=none?
  3. Do we get lic=active for trial licence?

Free plugins don’t get the lic parameter (Or at least I’ve never seen it).

You’ll get lic=none of somebody has installed the app but haven’t added a license. (Might also be for invalid license).

All valid licenses are lic=active.

You can play with the license states by using private installations.

Thanks @danielwester for your reply. I wish our friends from Atlassian could be as active as you are :slight_smile:
I am getting lic=none for my free plugin. I am pretty new to this. My plugins are all cloud based, I don’t understand when and where the users need to ADD a license, and when they can have an invalid license.

I will try with the private installations.

In order to enable licensing - you’ll need to add enableLicensing:true in your descriptor:

From Atlassian’s perspective in cloud - the only real license is a paid license that is generated through the Atlassian Marketplace. If you’re not paid through Atlassian Marketplace then Atlassian doesn’t collect any information about the user or reports on the instance.

Interesting. My paid plugin have enableLicensing:true, the free plugin does not have that field (shall I add it and explicitly set it to false?).

Did some tests. I hope this could help someone else.


I would love to see this added to the official Connect documentation!

It also seems there is an edge case where this can return lic=none for new users that 1) have freshly installed the add on and 2) Atlassian hasn’t provisioned a license yet. I’ve recently switched to a paid add on and had ‘trial’ user complain when I restricted functionality based on lic alone.

It would be good to clarify whether this is possible and whether we could get more granular information via the context variables.

1 Like