Hello dear friends.
I need to access a list of active user plugins from our own plugin. Is it actually possible?
Background:
We have two custom plugins.
Plugin A provides a web panel on issue view. Along with its primary features, it is supposed to render additional information under condition that another custom Plugin B is installed and active. But we dont want to have a dependency between A and B because B is completely optional and A should work without B.
Is there a possibility to find out wether plugin B is installed and active from plugin A content provider?
looks like i have found a solution.
public class APluginContentProvider extends AbstractJiraContextProvider { private final static String PLUGIN_B_KEY = "com.vendor.group.pluginB"; private final PluginAccessor plugins; private boolean bPluginActive = false; // false by default public APluginContentProvider(final PluginAccessor plugins) { // inject plugin accessor this.plugins = plugins; } public Map getContextMap(final User user, final JiraHelper jiraHelper) { // check if plugin B is installed and enabled using plugin accessor final Plugin pluginB = plugins.getEnabledPlugin(PLUGIN_B_KEY); if (pluginB != null) { log.debug("found plugin B" + pluginB.getKey()); bPluginActive = true; } contextMap.put("bPluginActive", bPluginActive); return contextMap; } }
my first guess would be to use com.atlassian.plugin.manager.DefaultPluginManager
this seems to be the right component to control plugins. However it does not implement any interface and cannot be constructor injectted. Any ideas?
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.