Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,298,379
Community Members
 
Community Events
165
Community Groups

How to tell if a plugin is used in a Bamboo build plan?

We are planning to upgrade from Bamboo 4.4.5 to the latest version. It turns out that many of the plugins we have in our 4.4.5 instance are not available in a compatible version with the latest Bamboo. I know some of the plugins were originally installed 'on speculation' that we might use them, and probably are not being used.

I'd like to know for sure what plugins are actually being used. We have almost 800 build plans, so manually looking at every job is not an option.

Is there something in the admin section of bamboo that I've missed that will list the plugins being used? Or, a database query I can use to see what plugins are being used?

1 answer

1 accepted

0 votes
Answer accepted

Hi Ken,

You can check which plugins are currently installed in your 4.4.5 instance by going to Bamboo Administration > Plugins > Manage Add-Ons. There you can see all the User-installed add-ons.

To check which plans use which plugins, you can connect to your database and run this SQL query:

SELECT p.title AS project, b.title AS plan,
(SUBSTRING(bd.xml_definition_data,
        (LOCATE('<pluginKey>', bd.xml_definition_data)) +11,
        (LOCATE('</pluginKey>', bd.xml_definition_data) - 11 - LOCATE('<pluginKey>', bd.XML_DEFINITION_DATA)))) AS plugin_key
  FROM build             AS b
  JOIN build_definition  AS bd ON b.build_id = bd.build_id
  JOIN project           AS p  ON b.project_id = p.project_id
WHERE plugin_key IS NOT NULL
ORDER BY project, plan;

NOTE: This query might not work depending on the database you use. This works with HSQL at least.

This retrieves the Project name, the Plan name, and the keys of the plugins they use. If you just want to see the keys of the plugins being used regardless of project or plan, this SQL query can tell you that:

SELECT DISTINCT
(SUBSTRING(bd.xml_definition_data,
        (LOCATE('<pluginKey>', bd.xml_definition_data)) +11,
        (LOCATE('</pluginKey>', bd.xml_definition_data) - 11 - LOCATE('<pluginKey>', bd.XML_DEFINITION_DATA)))) AS plugin_key
  FROM build             AS b
  JOIN build_definition  AS bd ON b.build_id = bd.build_id
  JOIN project           AS p  ON b.project_id = p.project_id
WHERE plugin_key IS NOT NULL;

NOTE: This query might not work depending on the database you use. This works with HSQL at least.

Then you can compare the Add-ons page with the query results, and uninstall the user-installed plugins not being used.

I hope this helps!

Kind regards,
Felipe Kraemer
Atlassian Support

With a few tweaks to work with mySql, it worked perfectly. Thanks!

@keni know this is a rather old but still relevant issue

Do you still have the modified query for mysql somewhere?

 

Thanks :)

Managed to get this working on our mysql installation:

SELECT DISTINCT
(SUBSTRING(bd.xml_definition_data,
(LOCATE('<pluginKey>', bd.xml_definition_data)) +11,
(LOCATE('</pluginKey>', bd.xml_definition_data) - 11 - LOCATE('<pluginKey>', bd.XML_DEFINITION_DATA)))) AS plugin_key
FROM BUILD AS b
JOIN BUILD_DEFINITION AS bd ON b.build_id = bd.build_id
JOIN PROJECT AS p ON b.project_id = p.project_id
HAVING plugin_key IS NOT NULL and plugin_key != '';


SELECT p.title AS project, b.title AS plan,
(SUBSTRING(bd.xml_definition_data,
(LOCATE('<pluginKey>', bd.xml_definition_data)) +11,
(LOCATE('</pluginKey>', bd.xml_definition_data) - 11 - LOCATE('<pluginKey>', bd.XML_DEFINITION_DATA)))) AS plugin_key
FROM BUILD AS b
JOIN BUILD_DEFINITION AS bd ON b.build_id = bd.build_id
JOIN PROJECT AS p ON b.project_id = p.project_id
HAVING plugin_key IS NOT NULL and plugin_key != ''
ORDER BY project, plan;
Like # people like this

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bamboo

Bamboo Data Center on Kubernetes

Hi, If you are running self-managed environments and looking to adopt modern infrastructure, Bamboo Data Center can now be deployed in a Kubernetes cluster. By leveraging Kubernetes, you can easily...

961 views 3 8
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you