Inspiration

In 2007 I built Jira Groovy Runner as part of a codegeist competition. This was then picked up by Jamie Eichlin and turned into Jira Script Runner one of the most installed plugins for Jira Server. In 2014 I discovered Google App Script which allows you to run and schedule javascript in the cloud against your google apps - which allows you to build awesome integrations.

Forward to 2015 and now the Atlassian suite is available in the cloud, but there is no easy way to script it. And here comes CloudScript.io for Confluence

What it does

As an admin it allows you to write and execute scripts against your confluence instance in the cloud.

Like Jira Groovy Runner, ability to run custom script is ideal to test out plugin ideas, but also to perform admin tasks which otherwise would be time consuming or outright impossible. You can find many plugins that can be implemented with a couple of lines of scripting, this is the swiss army knife for the knowledgeable Confluence admin.

In the screenshot, the script is going through the list of spaces and extracting the name of the home page alongside the name of the user who created the page.

How I built it

I built it using Atlassian Connect Express and farming out script execution on Amazon Lambda. Documentation is written using Confluence

Challenges I ran into

Getting the Authentication right was difficult, finding a solution for vm security to execute the script took me a long time before I settled on Amazon Lambda.

Accomplishments that I'm proud of

This has been entirely developed on the bus on my way to and from work - this is Bus Driven Development, if there is a bug, I'll blame it on the bumpy road.

What I learned

It always takes more time than you think.

What's next for Cloudscript.io for Confluence

  • Extend it to other Atlassian product like JIRA, Hipchat and Bitbucket.
  • Enable Scheduling of scripts
  • Allow end users to safely run scripts.

Try it out

It will be available from the marketplace at as soon as it is approved.

Built With

Share this project:

Updates