Posts about Atlassian Connect

Learn how to theme your HipChat add-ons Sidebar based on the user selected theme.

Atlassian Connect now supports the JWT Bearer token authorization grant type for OAuth 2.0 for JIRA and Confluence Cloud. This allows add-ons with the ACT_AS_USER scope to access resources and perform actions in JIRA and Confluence on behalf of users.

We’re thrilled to announce a new project that will increase the quality and speed of the support we provide our Ecosystem. We have created Ecosystem service desks to address the various needs of our community.

Learn about a small feature of Atlassian Connect, the postInstallPage module.

Upwork's mission is to make it easy to get work done and hire freelance help - including development help. Many Upwork customers and freelancers use JIRA Software for development planning. This post shares our lessons learned from building an integration between Upwork and JIRA, including using our own security framework.

Note: This is a repost of our previous announcement. However if you don't have it already, the Bitbucket NPM add-on is now available in the Atlassian Marketplace.

(Update: The NPM add-on is now available in the Atlassian Marketplace. See the updated version of this post for more details.)

The Atlassian Connect team is proud to announce the launch of the cloud development environment for JIRA and Confluence. We are really excited about this new environment and want to share with you a little more info about how to use it to build your add-ons.

Set up the HipChat JSON Schema in Visual Studio Code to make creating atlassian-connect.json files easier by using type ahead to suggest the keys available.

In this helpful guest post, Daniel Wester, one of the add-on gurus at Wittified, shares some valuable tips for getting started with Atlassian Connect, including how to host a lean Connect add-on on a shoestring budget.

At Atlassian, one of our design principles is to gracefully reveal depth. As we've iterated on our UX, certain Bitbucket power user features that strayed too far from the happy path have been hidden away behind a dropdown or keyboard shortcut. There they bide their time until an adventurous user stumbles upon it through a capricious key press or mouse click (or someone reads the docs). Here's six of my favourite Bitbucket Cloud features, that you've possibly never heard of:

In the past months we've been showing how to extend and integrate with Bitbucket using different languages and technology stacks. For example check out Steve Smith's series on using Clojure. Today is Go's turn.

Back in part 4 of this series we introduced two methods of accessing Bitbucket from our Atlassian Connect add-on, including via the client-side (browser) JavaScript API. However as we've written all of our server-side code in Clojure so far, it's a shame to have switch to another language. In this installment we'll take a look at ClojureScript and how we can integrate it into our project.

A major part of building add-ons for JIRA is the ability to show web fragments as an integrated part of pages within JIRA. This allows your add-on, via Atlassian Connect, to seamlessly integrate with JIRA. Getting JIRA to know when the right time to show these web fragments turned out to be a more complex and impactful problem than we expected.

In part 4 of this series we added the Bitbucket UI to our add-on. Although there's more tweaks we'll do in later installments, for now we have enough to do an initial test against Bitbucket. In this post we'll show how to do this running from our development machine, and how to build and run a standalone deployment image of our add-on.

The Confluence platform team has been building more ways for your Connect add-ons to integrate with and extend search in Confluence. Initially announced at AtlasCamp 2015, we've shipped some awesome new features that allow you to get the most out of content properties.

In case you missed it, last year we launched our Bitbucket Docker Hub integration as part of the Docker Hub 2.0 launch. We are now pleased to announce the next version of this add-on is now available. If you already have it installed you'll get it automatically. If you haven't already installed it see below for instructions on adding it to your account. Carry on reading for more information on this release.

In part 3 of this series we added REST and JSON capabilities to our add-on. However most Atlassian Connect add-ons will want to add some user-interface elements to the Bitbucket repository too, usually by working with data from the repository. To get this data, the add-on will need to talk to Bitbucket directly. In this installment, we'll look at a couple of ways to do this, including how to authenticate using the handshake information we received in the previous blog post.

I'm a huge fan of Node.js and npm, so I've built a little npm for Bitbucket add-on that adds module metadata, dependency information and download statistics to the npm modules hosted on Bitbucket. What makes the add-on special is that it's built in a slightly peculiar way: it's 100% static HTML & client-side JavaScript. However, it uses a variety of interesting XHR techniques (CORS, window.postMessage, and API proxying) to exhibit some pretty powerful dynamic behaviour.

In part 2 of this series we built upon the foundations we created in part 1 to generate a Connect descriptor. That descriptor specifies, among other things, the API that Bitbucket should call on key events in our repository and add-on lifecycle. In this installment we're going to look at how to specify and serve this API, and how to convert JSON sent to us by Bitbucket into Clojure data-structures.

Here at Atlassian, we are big fans of Uber. So, a fewweeks ago, we took a crack at building an Uber integration inside HipChat.The best only took us a few days to build!

Last month the HipChat Connect platform was announced at Summit. During the most recent ShipIt at Atlassian, a small team of us created a HipChat Connect add-on to bring customer NPS feedback into HipChat. Read on to see how simple it can be.

In part 1 of this series we did the fundamental work of building a Twelve Factor HTTP-stack from the ground using Leiningen, Ring, Compojure, and Immutant. However, that was just the foundations, and now we're ready to start adding the necessary tooling to produce a full Atlassian Connect for Bitbucket application. This will include templating and introduce how to specify and authenticate our Connect add-on via its descriptor.

One the most exciting things about the Atlassian Connect add-on framework, for me at least, is that it removes the need to create add-ons in the language of the hosting application. With the recent release of Bitbucket support for Connect we now have the ability to not-only extend Bitbucket in any way we see fit, but to also do it in whatever language or framework we desire. This opens us up to developing for Atlassian products in Haskell, Scala, Node.js, or anything else that supports the basic protocols of the web.

In case you missed it, last month we launched our Bitbucket Docker Hub integration as part of the Docker Hub 2.0 launch. We are now pleased to announce the next version of this add-on is now available. If you already have it installed you'll get it automatically. If you haven't already installed it see below for instructions on adding it to your account. Carry on reading for more information on this release.

At AtlasCamp 2015 we announced we were working on Atlassian Connect for HipChat. During a recent hackathon week in San Francisco we gave early access to 25 developers from awesome companies - including New Relic, PagerDuty,, Tempo, Wittified, Meekan, Notify, and Zendesk - and the result was quite impressive!

Bitbucket recently released a new add-on module type: the FileView. FileViews allow you to define how files of a particular type are displayed on the Bitbucket source view page. In this post, I'll show you how I built Run, Bucket, Run: a fun, if somewhat inefficient, way to view your source.

Atlassian Summit is coming up fast, November 3-6 in San Francisco, CA. This year we've built a series of special programs just for developers. This program includes a full training day dedicated to Atlassian Connect, which covers the essentials needed to build add-ons for our cloud products.

If you are a Go programmer you know how easy it is to whip up an application that speaks HTTP. Go was born for the task. So it will come as no surprise that it's possible to create an Atlassian Connect for HipChat add-on with less than two hundred lines of commented code. What will this code accomplish? A new custom command /test_hook, installable on any channel you are administrator of:

As part of the Docker Hub 2.0 launch we're pleased to announce integration of Docker Hub into Atlassian Bitbucket. This brings your Docker workflow together with Bitbucket to save you time and allow you to see source code stats along side your Docker repo in one place.

Reaching 100% uptime is becoming an expected part of delivery for cloud services. Disruption from outages interrupt your users and damages your brand. Zephyr's CTO shares how they work towards 100% uptime their with monitoring tools and practices.

A few weeks ago, we introduced Atlassian Connect for Bitbucket, an add-on framework that lets you modify the Bitbucket UI. This post is a quick walkthrough on how to build a simple add-on that retrieves data from a repository, does some simple aggregation and displays it to the user.

We are proud to announce that the HipChat UI is now extensible for add-on developers. Powered by Atlassian Connect, you can now customise your HipChat experience by surfacing arbitrary HTML in modal dialogs.

More than 3 million developers and 450,000 teams use Bitbucket to manage and collaborate on source code. But code collaboration is only a fraction of what software teams do on a daily basis to ship software.

On May 27th, JavaScript developers descended onto Amelia Island, Florida for JSConf 2015. Atlassian again, sponsored this years Node Rockets hack day event.

Join us on May 5th at 10am PDT for a free webinar to learn more about developing for Atlassian Connect. Atlassian Connect is Atlassian's next generation platform for building add-ons for Atlassian Cloud products.

You've been working on a Connect add-on using Atlassian Connect Express (ACE). You're to the point where you need to store some data in your add-on. You can use the add-on properties REST API in some cases. You can add an entire storage mechanism to handle this but ACE has a settings storage mechanism already. Get this — you can just piggyback on that! It's not hard to do, and it's perfect for things like global configuration for your add-on.

Atlassian Connect uses JSON Web Token (JWT) for authentication between the host product (e.g. JIRA, Confluence, or HipChat) and your add-on. To ensure the security of everyone's data, Atlassian includes additional claims so a signed request cannot be intercepted and used to perform other actions. We offer frameworks that hide that complexity for node.js, Play!, and ASP.NET as well as atlassian-jwt for those working on other Java stacks. What happens when you don't want to use our frameworks? That's not a problem, you can use whatever framework you want - one of the joys of building add-ons with Atlassian Connect. You can implement the JWT authentication yourself — I'll walk you through the added security features Atlassian uses with Connect.