Child pages
  • Scripting for Confluence

Skip to end of metadata
Go to start of metadata


 Allow page content to be created using a scripting language. The power of a add-on without the need for a development environment.

The scripting languages include

  1. Groovy 
  2. Gant 
  3. Jython
  4. BeanShell
  5. Javascript (Rhino) - server based


  1. Powerful scripting capabilities using GroovyJythonBeanshell, or Javascript
  2. Pre-defined variables give you access to many Confluence managers and capabilities
  3. Scripts can be located in the most convenient place for the use case
    1. macro body
    2. attachment to any page
    3. global template
    4. space template
    5. server file system
  4. Secure use via Macro Security for Confluence

Related Add-ons

Macro Security for Confluence

  • Protection against unauthorized use.

More Information


  • Downloads
  • Compatibility
  • Pricing

User's Guide




  1. Have you heard of Jamie Echlin's plugin -> https://studio.plugins.atlassian.com/wiki/display/GRV/Script+Runner  ?

    I'm just curious to know if you've heard of it and what your take is on it.  It looks to be very similar to this one.  I started using his before I came across yours so now I'm just wondering if you've used the other and whether you have any thoughts on pros / cons.

    1. Yes, I think it is a very useful capability for JIRA. I haven't needed it yet, but I will use it when the need arises. This plugin is for Confluence, so there isn't any overlap.

      1. Sorry Bob.  I'm chronically getting Jira and confluence plugins confused.  :(


  2. Hi! I'm trying for long time to do one thing but I cannot figure how to do it, so please if you could help me with it I'll be very thankfull.

    So basically I need to read the scaffolding plugin data (which is stored on website on my confluence). I need to read that page with some internal functions, because reading it with standard python 'urlopen' function redirects python to login screen.

    The path to pages I want to read looks like .../pages/metadata/viewxml.action?pageId=%.
    How can I read them with jython?


    Thank you (smile) 

  3. Sorry, missed notification of this. I can't help much with jython techniques (I do groovy). However, you might consider going after the scaffold data directly it likely in bandana or associated with the page context both of which are accessible via APIs.

    1. Thank you for yours reply (smile) Could you please provide a little more information on this topic? (it could be of course in groovy - i'll translate it to pythons version). The problem is that I tested a lot of functions from bandanaManager and searched for it in page ontext, but found nothing (sad)

  4. Suggestions:

    1. Atlassian APIs and developer information

    2. Contact Customware - developers of the scaffold plugin
  5. Hi!

    I have a problem. To displaying accents correctly, script file must be enconded in Cp1252, but if this script imports another script, the imported script must be encoded in UTF8. How it is possible?

    My SO is Linux, property file.encoding=UTF8, I use beanshell macro.

    In Windows, If I use file.encoding=UTF8, ALL scripts work fine encoded in UTF8, and if I use file.encoding=Cp1252, ALL scripts work fine encoded in Cp1252, why it is different in Linux?

    Thank you.


    PD: Sorry for my English.

    1. I solved the problem updating the plugin to version 3.4.0.

      1. Good, although I don't know why the plugin release would make any difference.

  6. Hi!

    Is it at all possible to use pre-compiled the groovy.class files with this plugin? My employer has a problem with the temporary compiled files filling up the file system. This and the fact that we think this will give us a small performance boost makes us want to use pre-compiled groovy code.

    We have tried this:


    But it only complains that it can’t understand because it tries to read the file as text and not as byte code.

    1. No, please create an improvement request. It also relates to SCRP-105.

      The Cache for Confluence can also be used to reduce the running of the script.

      1. Thank you for unbelievably quick response:-)

        I’ll have a look at SCRP-105 and create an improvement request if I think that’s appropriate!