Hey guys,
We are currently upgrading our JIRA instance all the pugins we have installed.
In the process, there are some plugins that have gone from being free to being paid.
I am not against paying for the non-free plugins, but I really don't want to if we are not using it.
With that regard, does anybody know how to track where (which project/workflow/filter) a plugin is being used?
I should point out, I am new to administring this instance of JIRA (new job, <1 month on it). So any help/pointers to make this easier for me would be much appreciated.
Configuration Manager for JIRA can help you with that. Install an evaluation version of the add-on and create a "Project Snapshot" for each project and manually analyze the plugins used by each project. Here're the steps to analyze plugins used by a single project:
<plugins name="Custom Field Types &amp; Searchers" key="com.atlassian.jira.plugin.system.customfieldtypes" version="1.0" vendor="Atlassian" vendorURL="http://www.atlassian.com" requiredBy="//@customFields.0 //@customFields.1 //@customFields.2 //@customFields.3"/> <plugins name="JIRA Agile" key="com.pyxis.greenhopper.jira" version="6.3.6.1" vendor="Atlassian" vendorURL="http://www.atlassian.com" requiredBy="//@customFields.4 //@customFields.5"/>
The plugins listed there are referenced by the project through Custom Fields, Workflow condition or validator, post-function.
Note that if a plugin is not listed there this does not mean that it is not used, because as Nic said a plugin might contribute functionality without a project having direct or indirect reference to it. But this will help you to create an initial list of plugins that are currently in use so you can concentrate on analyzing the plugins not listed there manually, by reading their documentation to understand what functionality they contribute to JIRA.
Another thing that might help is using the same approach by creating a system snapshot and doing the same analisys of the system snapshot XML file. If a plugin is not listed there it means that there are no custom fields and/or workflow post-function, validators, conditions contributed by this plugin currently in use.So the plugins missing may go to the list of that needs manual check (in case any ot these is described as a plugin that contributes something more than a custom field or workflow post-function, validator, condition).
This is not a complete solution, but combined with what Nic suggested might reduce the manual work a lot.
PS: We're planning to release similar functionality that will allow you to analyze dependencies between configuration objects and projects in a JIRA instance
Kinda late, but I did this by connecting to postgres server:
select id,workflowname from jiraworkflows where descriptor LIKE '%hipchat%';
This was to determine if a workflow step was using a plugin.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Boris,
I am trying this plugin out right now and the initial response is that it looks very promissing.
Out of curiousity, do you guys have a REST API? Right now, I sigh a little at the thought of creating snapshots on each project individually. It would be great if there was a multi select project's or a way to do this through a script...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
We have a REST interface but it's not public (we'll expose it officialy soon though).
Nearly the whole UI uses the REST interface, so you can "sniff" the rest calls you need by looking at the "Network" tab (on Chome dev tools F12)
Here's the resource you can use to create a project snapshot:
Resource: /rest/configuration-manager/api/1.0/snapshot
POST
Creates a snapshot
acceptable request representations:
Examples:
{
"name":"My snapshot",
"description":"Very nice snapshot",
"type":"system"
}
{
"name":"My snapshot",
"description":"Very nice snapshot",
"type":"project",
"projectKey":"PRJ"
}
available responses:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
There's no easy way to do this. If you think it through, "using a plugin" is too vague a description because plugins can add all sorts of functions, and those might not be directly referenced by the project/issuetpye at all.
However, a good start is to take an xml backup, then work out the classes used in the plugin you're interested in, and then physcially search the text of the xml for those classes.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Nic, how do you "work out the classes used in the plugin you're interested in"?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Add-ons are effectively zipped up blocks of files. Use zip to unzip one, then look for the "atlassian-plugin.xml" in it. That will have references to the main classes an add-on delivers - you'll see things like com.adaptavist.app.pluginname.thingy in it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.