cogAllows committing XWiki pages to a GitLab repository
Developed by

Ludovic Dubost, Denis Gervalle, Clément Aubin

Active Installs7
1 Votes
LicenseGNU Lesser General Public License 2.1

Tested with XWiki 10.3

Installable with the Extension Manager


XWiki GitLab Application allowing to commit XWiki code to a GitLab repository

The application will allow to check the differences between the content of your XWiki instance and the content of your repository, and allow to commit them as well as to update from the repository.

When committing, files are formatted similar to mvn xar:format and it is using the nested space format.

The application also allows to commit a sample pom.xml file.  

To authenticate to your GitLab instance, you need to use a Private Token which you can get from the settings of your user in the "Access Token" section.

Configuration of your Repository information


Parameter nameSinceDescriptionDefault value
Remove dates1.0.6If set to true, the dates of committed documents and the dates of their attachments will be removed upon commit. In that case the "Default date" field in the configuration is not used and can be discarded.False
License1.0.6Document holding the license that will be added in the header of every committed page. If this field is left blank, no license will be added.GitLab.Code.LicenceFile (LGPLv2 license)
Parent definition strategy1.0.6Defines the behavior to apply towards the parent attribute of the documents that are being committed.
  • Use ${}.WebHome as the parent of the document if the parent is empty
  • Keep the parent field as-is
  • Remove the parent field
Keep the parent field as-is
Default language definition strategy1.0.7

Defines the behavior to apply towards the defaultLanguage attribute of the documents that are being committed.

  • Keep the defaultLanguage field as-is
  • Empty the defaultLanguage if the document is not a translation document
  • Always empty the defaultLanguage
Empty the defaultLanguage if the document is not a translation document
Branch1.0.7The branch on which the commits should be done.master


Listing pages to commit or update


Committing pages



Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

In case listing the pages to commit does not work properly on your instance, you might be hitting XGITLAB-17. The current workaround for this issue is to copy the JAR of jaxen:jaxen from the extension repository of the wiki into the WEB-INF/lib folder of the XWiki WAR.

Release Notes







  • Normalize attachment version, date and author


  • Fix handling of empty licence file


  • Fixes for nested spaces
  • Fixed for subdirectories in repositories


  • First version with limited testing
  • Support formatting of pages


Dependencies for this extension (org.xwiki.contrib.gitlab:application-gitlab-commit 2.0.1):

  • org.gitlab:java-gitlab-api 4.1.1-xwiki

Get Connected