Archives for James Roper

In Part 1 and Part 2 of this series, we were introduced to Unified AppLinks, saw how to consume AppLinks as a plugin, and saw how to extend AppLinks to create our own custom application types and entity types to integrate with. In this final blog post we will see what's involved in implementing a custom authentication provider, and how to add additional configuration screens for AppLinks. State of Play ---------------- At the time of writing, Unified AppLinks supports three authentication

Continue reading »

In Part 1 of this blog post series, I introduced Unified AppLinks and motivations behind it, and also showed how simple it is for plugin developers to consume user configured AppLinks to make authenticated requests on remote services. In this post, we will look at how to extend AppLinks to implement our own application types to integrate to non Atlassian services. Application Type Continuing with our Twitter theme, the first thing we are going to implement is a Twitter application type. A custom

Continue reading »

One of our favourite times at Atlassian as developers is FedEx. 24 hours to hack up some awesome project, demo it to the rest of the company, and vote on whose is best. 24 hours isn't a lot of time, which is why I've emphasised the hack part of that statement. The demo is held together loosely by strings of hard coded configuration, and carefully dodges crucial but yet to be implemented features. An example of something that never gets implemented is a configuration screen for entering the details

Continue reading »

Java system properties for daemontools

At Atlassian we use daemontools to manage all our server processes, both for our internal services as well as our customers hosted services. One of the utility programs provided by daemontools is `envdir`. As the documentation suggests, this is used as a convenience for setting environment variables. So commonly for our tomcat apps, we'll have a directory structure like this: /service/mytomcatapp/env - JAVA_OPTS - CATALINA_HOME - CATALINA_BASE and then our `run` command will look like this: envdir

Continue reading »

Three helpful SSH tips for developers

.noformat pre { overflow: auto; } .noformat { border-width: 1px; border-style: dashed; padding: 5px; margin: 10px; } If you're a developer that deploys stuff to unix systems, then one of the most common tools you interact with is SSH. It never ceases to amaze me, in spite of this, how little developers really know about SSH. SSH config file The first thing any developer needs to know is that SSH has a config file that allows you to configure defaults for SSH on a host by host basis. It also

Continue reading »

FishEye 2.7 comes with Smart Commits! Read about it! So, you've slayed the Atlassian integration dragon. But you're still edgy, it was too easy! You want something harder. Well I have just the task for you. Actioning JIRA issues from Subversion commit messages. Before I go on, let me say, this task is not part of the official Atlassian Dragon Quest. This feature is not supported either, so use at your own risk. You will not get another free tshirt if you complete this task. But, you will

Continue reading »