I'd like to carry over the few small changes (like favicon, logo and simple header color changes) so our corporate identity is consitent across our development system.
Is there a way to make these small changes to stash and bamboo?
I've gotten this solved. As suggested by Charles, I installed the SDKs for Bamboo and Stash and basically created a plug-in which injects an "additionalheader.css" file into Bamboo and Stash using "atl.general" and "atl.admin". I had to use "!important" throughout the CSS code to get the different CSS to change the design. It isn't pretty, but it works and now we have our CI nicely placed across the whole development system. It actually looks pretty damn good with the standard UI design.;-)
One quirk is happening though. The add-on management section of Bamboo is still the old style and won't change. That isn't too bad, since only admins will be seeing it, but still, is there possibly a different "atl." for this area of the admin section or is this maybe a bug with the atl.admin override?
Thanks, I got it working!
If you are not familiar with Java -- like me -- it might took a while for you to learn and familiarize with the Java development system. But, Atlassian SDK makes it pretty easy.
You can easily create a plugin skeleton using a command line where it provides you an empty CSS and JS. You can then simply edit the CSS to include your own styles. Then edit the plugin.xml definition by including the two additional contexts as Scott explained above. Finally, with a command line (atlas-package), it will compile everything and produce a JAR file that you can install to your Bamboo instance.
Hope this helps!
It is a pita, but it is possible to change the L&F in Bamboo and Stash. You'll need to create a plug-in for each with the docus Charles listed two posts below. Sorry, but I don't remember the exact steps any more. It was basically install the SDK, create the plug-in to call the additionalheader.css file with the atl.general and alt.admin contexts. In the css file, everything must use the !important css overide. Then install the plug-in in bamboo. Wash, rinse, repeat for Stash. I think to get the favicon working I just replace them, wherever I found one in the package and restarted the two applications.
Here are some images, to show the plug-in works nicely too.
There isn't an official way of doing this.
You can definitely create a plugin that injects your own CSS/JS into each page and overrides the defaults. The only thing to keep in mind is that we don't consider the HTML or CSS that you would need to hijack as official APIs and so they may change in any release without warning. I'm sorry there isn't much more we can do about that.
PS. The Bamboo feature request for custom L&F is here, although as James says it's not going to be implemented:
And the related Stash feature request:
The official documentation is here:
And a simple Stash plugin using some of the different decorators
You really just need a single <web-resource> in your atlassian-plugin.xml with the atl.general and atl.admin <context>'s which will mean any child <resource> elements will be injected in to every page. You can then add a css resource that does what it needs to do to customise the skin of the product.
I understand the atl.general and alt.admin within the plug-in xml file stuff, but going through what seems a bit of a hassle to install the SDK's is a bit much just to be able to add some styling to the program, isn't it?
I am, I guess, just a bit frustrated on this one simple issue, where I could go "Wow, this Atlassian stuff is really great", however the modest standardization between the different products from a UI standpoint is holding me back from saying it.
We've installed Jira, Confluence, Bamboo and Stash. The former two were nicely and easily styled to our liking. The latter two are looking like red-headed step children now. I'd really like to avoid the impression of us doing things half-heartedly and the situation with missing L&F functions makes it very difficult to do.
Standardization, especially in a major software development process platform is critically important and we can't even standardize our own CI within that platform? That is simply a terribly poor message to be giving my team and basically unacceptable. Atlassian should think twice about L&F standardization, while we go and wade through installing SDKs and making plug-ins, which might even break at any upgrade.
Ok, css is clear. I've installed the SDK and am getting my first plug-in working.
But open in my mind is how to change the favicon. Is there also a way to inject
<link rel="shortcut icon" href="path to icon/favicon.ico">
into the header of the HTML code?
Or any other way to change the favicon?
@Jarrod Overson That answer from Charles was over a year ago, and since then we've released a plugin (https://marketplace.atlassian.com/plugins/com.atlassian.stash.plugin.stash-look-and-feel-plugin) that lets you customise the look and feel of your Stash instance with alternative colours for the header, links and even replacing the logo on the top bar with your own.
It looks like you've already have a custom plugin doing what you need, but just to let you know, the Stash Look and Feel plugin has been released and can be downloaded from the Atlassian Marketplace, which lets you upload your own company logo that replaces the Stash logo in the header, and allows customisation of the header and 'accent' colours. It doesn't support changing the favicon just yet but there's an open feature request for it.
To create your own style plugin on Ubuntu:
1) install atlassian bamboo SDK:
sudo sh -c 'echo "deb https://sdkrepo.atlassian.com/debian/ stable contrib" >>/etc/apt/sources.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B07804338C015B73
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install atlassian-plugin-sdk
2) create a folder for your plugin
3) switch to that folder:
as groupId use com.atlassian.bamboo.plugins, as artifactId your plugin name ie myplugin. as package use com.atlassian.bamboo.plugins.myplugin. When it asks 'Y' enter y.
4) the above will have created a directory 'myplugin'. edit the myplugin/src/main/resources/atlassian-plugin.xml file. Copy/paste the already present web resource two times, and change the context for the resulting three web resources to atl.general, atl.admin and upm respectively. Also change their key attributes to be unique. You can remove the 'component' section.
5) edit the myplugin/src/main/resources/myplugin.properties file and change the plugin name to your liking
6) edit the myplugin/pom.xml file and change the Organization data to your liking
Now after you have done this, the basics are there. All you need to do now is to edit the myplugin/src/main/resources/css/myplugin.css file and insert your css there. Use "!important" for everything.
Once your satisfied with css and js, switch to the myplugin folder and do
this will create a 'target' folder, containing a .jar file for your plugin. You can upload this to your bamboo instance. After installing, it might be necessary to clear browser cache end re-login to see changes.
It is great the community can come through on this. It is terrible Atlassian doesn't. I just don't understand the "piecemeal attitude" within so much of the products Atlassian offers.
I tell you what, when a competitor comes out and does the same things as Atlassian offers, but can do it with a lot more cross application standardization, I'll be moving to that vendor.
Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda ...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot