Develop macros and other extensions for hosted Atlassian Confluence 6.0.5

Is there some way I can get access to specific versions of Confluence without buying it for the sole purpose of developing macros and other extensions?

Sure! Have you ever looked at atlas-run or atlas-run-standalone? Alternatively, you could also use an actual Confluence installation on your system, or pull one up via docker, and use evaluation licenses or timebomb licenses. Personally, I prefer the second option, as the atlas-run commands are quite slow in comparison. Hope this helps! :slight_smile:

Cheers,
Sven

Yea I would also suggest Docker image for Confluence Server. I haven’t found easier way (automatic) to install add-on that I am developing though.

This does not change licensing though. You have to get evaluation license which last 30 days (you can create new one after expiry)

Hello @iwanaucamp

Yes absolutely , you’ll need to have the Atlassian SDK setup and ready , https://developer.atlassian.com/server/framework/atlassian-sdk/set-up-the-atlassian-plugin-sdk-and-build-a-project/

For Confluence specifically you can get started with the following documentation https://developer.atlassian.com/server/framework/atlassian-sdk/atlas-create-confluence-plugin/

This generates a plugin project structure similar to https://github.com/viqueen/devbox/tree/master/atlassian-devbox-plugins/confluence-devbox-plugin/plugin (I have tweaked this one quite a bit)

The key here is to make sure your confluence-maven-plugin configuration is consuming the version of the product that you aim for

        <plugins>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>confluence-maven-plugin</artifactId>
                <version>${amps.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <containerId>${containerId}</containerId>
                    <jvmArgs>${jvm.args}</jvmArgs>
                    <productVersion>${confluence.version}</productVersion>
                    <productDataVersion>${confluence.data.version}</productDataVersion>
                    <output>${project.build.directory}/confluence/home/logs/atlassian-confluence.log</output>

So in your case , you can simply set the maven property <confluence.version>6.0.5</confluence.version> and you’re good to go.

If you face any issues with resolving dependencies and all that maven jazz (it may happen with a confluence version that old), just drop by community and we’ll help out

Cheers

1 Like

@chhantyal , locally you can use the following command from your plugin directory

mvn confluence:install -Dhttp.port=8080 -Dcontext.path=/confluence

If you poke around my devbox here https://github.com/viqueen/devbox#atlassian-scripts , you can find some useful tips

With that setup my devloop is as follow

# terminal one 
confluence start 7.4.0
# terminal two 
confluence logs 7.4.0
# terminal three , where my plugin lives
mvn package -DskipTests
mvn confluence:install -Dhttp.port=8080 

I think I have some other tooling I take for granted that I still need to document

1 Like