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

Deploying plugins bundled as OBR automatically

JamieA
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.
May 15, 2013

We maintain a bunch of instances of jira and confluence, in a highly regulated environment. Thus, we do not use the UPM to install or update plugins, rather we create a new build and upgrade during scheduled downtime.

That way we can control the plugin versions across all instances and all environments.

To do this for jira we just write the jars to the home/installed-plugins dir, and for confluence we update the atlassian-bundled-plugins.zip which lives in the war file.

Works fine, except in neither case can we use these methods to install obr files (OSGi bundle repos). Is there any reason for this? Or any other method where we can include obr file plugins as part of the binary?

FWIW I have tried extracting the jar files which works, although you get problems when different plugins require different versions of other libraries.

1 answer

1 accepted

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

3 votes
Answer accepted
Joe Clark
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 16, 2013

Hey Jamie,

I think you're in between a rock and a hard place here. The only part of the Atlassian plugin system that is "OBR-aware" is the UPM, so using the UPM's install API is the only way to get an OBR-distributed plugin into the product. The bundled plugins loader doesn't know what an OBR file is and will choke on it.

I think if you really can't use the UPM at all, then you were on the right track - you need to extract the contents of the OBR files into individual jar files, but then as you say, you'll need to do some filename matching to only install the latest version of a particular plugin. Then deploy these jars as bundled plugins using the method you describe.

JamieA
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.
May 16, 2013

Thanks Joe, I feared as much

> you need to extract the contents of the OBR files into individual jar files

Problem is if one plugin jar actually requires an older version and another requires a new version - I'm not sure how that works. It seems to not work anyway as I got OSGi related load errors when it couldn't find the version it wanted. The UPM seems to do some magic when it transforms the OBR such that it all just works.

N/m, I think it's safest just to have a post-install step of manually installing the few obr plugins. The UPM can be enabled/disabled programatically so it's not a huge deal.


Andriy Yakovlev [Atlassian]
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 26, 2016

UPM/JIRA resolves dependency during installation and in the end it will create jar files in the installed-plugins/ folder, eg: jira-servicedesk-2.5.9.obr will be decomposed into set of files:

  • jira-servicedesk-2.5.9.jar
  • servicedesk-automation-modules-plugin-1.0.23.jar
  • servicedesk-automation-plugin-1.0.23.jar

  • ...

Possible option if you want to go ahead with manual installation of .obr, to do test install at test instance, note all new added .jars and then use them later.

TAGS
AUG Leaders

Atlassian Community Events