- Description
- Tutorial
- Usage 1. Plugin configuration 1. settings.xml example
- Where to get help
- Contribution guidelines
- Contributor list
- Credits, Inspiration, Alternatives
confluence-maven-plugin enables you to maintain wiki pages (written in
Markdown syntax) whitin your code and update them to a confluence space.
A README.md in the root of your project is always required.
The experience should be similar to how you develop in Github (see Credits,
Inspiration, Alternatives here in this
document for more on this).
Take a look to the tutorial to know how it works.
The plugin is available on Maven central thanks to Sonatype.
Create a README.md file in the root of your project and add following content:
vodafone-sms
==============
## Description
`vodafone-sms` is a library created here in ICTeam to send [SMS](http://en.wikipedia.org/wiki/Short_Message_Service)
from application deployed to Vodafone hosts.
## Tutorial
TODO
Create a folder wiki under src.
Inside src/wiki create two files:
tem.mdnplex.md
Put the content you want in these wiki files.
Declare the plugin in your pom.xml (see Usage here in this
document for more on this). E.g.:
<plugin>
<groupId>com.github.sixro</groupId>
<artifactId>confluence-maven-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<id>generate-and-deploy</id>
<goals>
<goal>generate</goal>
<goal>deploy</goal>
</goals>
<!-- ONLY IN THIS TUTORIAL... IT IS BETTER TO USE THE DEFAULT PHASE "deploy"-->
<phase>process-resources</phase>
<configuration>
<serverId>my-confluence-server</serverId>
<endpoint>http://myconfluence:8080/rpc/xmlrpc</endpoint>
<spaceKey>MYSPACE</spaceKey>
<parentTitle>Projects</parentTitle>
</configuration>
</execution>
</executions>
</plugin>where my-confluence-server is used to look up in your
${HOME}/.m2/settings.xml for credentials to use to connect to your
confluence, http://myconfluence:8080/rpc/xmlrpc of endpoint parameter is the
URL of your confluence XMLRPC apis, MYSPACE is a space you should have on your
confluence and Projects is the parent title of a page which content will be
replaced by our README.md and where all src/wiki pages will be added as
children.
Execute:
mvn process-resourcesYou should see on your confluence a page named with the title of the
README.md (vodafone-sms in this tutorial) and children named with titles
of pages found under src/wiki:
If you click on vodafone-sms page of your confluence, you should see the
content of your README.md:
Now take a look to Usage to know more on configuration parameters, etc...
In order to use the plugin you have to add these lines in your pom.xml:
<plugin>
<groupId>com.github.sixro</groupId>
<artifactId>confluence-maven-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<id>confluence-deploy</id>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<serverId>myconfluence</serverId>
<endpoint>http://myconfluence:9090/rpc/xmlrpc</endpoint>
<spaceKey>MYSPACE</spaceKey>
<parentTitle>MyParent title</parentTitle>
<username>ConfluenceUsername</username>
<password>ConfluencePassword</password>
</configuration>
</execution>
</executions>
</plugin>In the next chapter you'll have a description for every configuration parameter.
serverIdis used to look up in your${HOME}/.m2/settings.xmlfor credentials to use to connect to your confluence (optional; if username and password is defined)endpointis the URL of your confluence XMLRPC apisspaceKeyis a space key found on your confluenceparentTitleis the parent title of a page which content will be replaced by yourREADME.mdcontent and where allsrc/wikipages will be added as childrenoutputDirectoryis the output directory where HTML are generated and wheredeploygoal load pages to deploy (optional; default values is${project.build.directory}/confluence)readmeis the file path of yourREADME.md(optional; default value isREADME.mdin the root of your project)wikiDirectoryis the directory where to find additional wiki files (optional; default value issrc/wiki)usernameis the username credential to confluence (optional; if serverId is defined)passwordis the password credential to confluence (optional; if serverId is defined)
Jamie Townsend has found an issue related to character encoding on v1.0.1:
the plugin read markdowns with default character encoding.
Starting with v1.0.3, the default character encoding is UTF-8, but you can change
it defining system variable markdown.characterencoding.
Here you can find an example on what to add in your ${HOME}\.m2\settings.xml.
As you can see we added a server with an id matching the serverId added
below. Then, we configured a username and a password matching credentials of
our confluence:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>myconfluence</id>
<username>aUsername</username>
<password>aPassword</password>
</server>
</servers>
</settings>To get help, open an issue. In the future I hope to provide help using something else...
All contributions are welcome. The project uses a MIT License (as you can see in the root of the project). All you need to do is fork the project and send me a pull-request. Thanks!
The main reason I created this tool, is the possibility to have on my company
projects the same "feeling" I have with Github projects. I would like to have
a README.md in the root of my company projects and I would like to be able to
read the same content on a confluence space.
Another reason is the inspiration I had when I read this post of Tom Preston-Werner on Readme Driven Development.
An alternative to this project is maven-confluence-plugin. It is different from confluence-maven-plugin, because it is more involved with maven site style. So it is useful if what you need is a site style page on your confluence space.

