Commit 2d8af691 authored by Ludovic Dubost's avatar Ludovic Dubost

Initial Commit

parent 17fe8201
<?xml version="1.0" encoding="UTF-8"?>
<!--
* See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xwiki.contrib</groupId>
<artifactId>parent-platform</artifactId>
<version>8.4</version>
</parent>
<groupId>org.xwiki.contrib.gitlab-application</groupId>
<artifactId>application-gitlab-application</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>xar</packaging>
<name>gitlab-application Application</name>
<description>XWiki GitLab Application allowing to commit XWiki code to a GitLab repository</description>
<properties>
<platform.version>${commons.version}</platform.version>
<!-- Enable auto release on jira -->
<xwiki.release.jira.skip>false</xwiki.release.jira.skip>
<xwiki.issueManagement.jira.id></xwiki.issueManagement.jira.id>
</properties>
<developers>
<developer>
<id></id>
<name></name>
<organization>XWiki SAS</organization>
</developer>
</developers>
<build>
<!-- Needed to add support for the XAR packaging -->
<extensions>
<extension>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-tool-xar-handlers</artifactId>
<version>${commons.version}</version>
</extension>
</extensions>
</build>
<scm>
<connection>scm:git:git://git.xwikisas.com/ludovic/application-gitlab.git</connection>
<developerConnection>scm:git:git@git.xwikisas.com:ludovic/application-gitlab.git</developerConnection>
<url>https://git.xwikisas.com/ludovic/application-gitlab</url>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<repository>
<id>xwiki-staging</id>
<name>XWiki Staging Repository</name>
<url>http://nexus.xwiki.org/nexus/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
* See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
<xwikidoc version="1.3" reference="GitLab.Code.GitLabAuthClass" locale="">
<web>GitLab.Code</web>
<name>GitLabAuthClass</name>
<language/>
<defaultLanguage/>
<translation>0</translation>
<creator>xwiki:XWiki.Admin</creator>
<creationDate>1514761200000</creationDate>
<parent>xwiki:GitLab.Code.WebHome</parent>
<author>xwiki:XWiki.Admin</author>
<contentAuthor>xwiki:XWiki.Admin</contentAuthor>
<date>1514761200000</date>
<contentUpdateDate>1514761200000</contentUpdateDate>
<version>1.1</version>
<title/>
<comment/>
<minorEdit>false</minorEdit>
<syntaxId>xwiki/2.0</syntaxId>
<hidden>false</hidden>
<content>{{velocity}}
## Replace Main with the Space where you want your documents to be created.
## Replace the default parent with the one of your choice and save the document.
##
#set($defaultParent = $doc.fullName)
#set($defaultSpace = 'Main')
{{/velocity}}</content>
<class>
<name>GitLab.Code.GitLabAuthClass</name>
<customClass/>
<customMapping/>
<defaultViewSheet/>
<defaultEditSheet/>
<defaultWeb/>
<nameField/>
<validationScript/>
<contextuser>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>contextuser</name>
<number>3</number>
<picker>0</picker>
<prettyName>contextuser</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</contextuser>
<token>
<algorithm/>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>token</name>
<number>2</number>
<picker>0</picker>
<prettyName>Private Token</prettyName>
<size>30</size>
<storageType>Clear</storageType>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.PasswordClass</classType>
</token>
</class>
<object>
<name>GitLab.Code.GitLabAuthClass</name>
<number>0</number>
<className>XWiki.DocumentSheetBinding</className>
<guid>9b178628-aca1-441d-92bc-3ca53d608eac</guid>
<class>
<name>XWiki.DocumentSheetBinding</name>
<customClass/>
<customMapping/>
<defaultViewSheet/>
<defaultEditSheet/>
<defaultWeb/>
<nameField/>
<validationScript/>
<sheet>
<customDisplay/>
<disabled>0</disabled>
<name>sheet</name>
<number>1</number>
<picker>0</picker>
<prettyName>Sheet</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</sheet>
</class>
<property>
<sheet>XWiki.ClassSheet</sheet>
</property>
</object>
</xwikidoc>
<?xml version="1.0" encoding="UTF-8"?>
<!--
* See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
<xwikidoc version="1.3" reference="GitLab.Code.GitLabConfigClass" locale="">
<web>GitLab.Code</web>
<name>GitLabConfigClass</name>
<language/>
<defaultLanguage/>
<translation>0</translation>
<creator>xwiki:XWiki.Admin</creator>
<creationDate>1514761200000</creationDate>
<parent>xwiki:GitLab.Code.WebHome</parent>
<author>xwiki:XWiki.Admin</author>
<contentAuthor>xwiki:XWiki.Admin</contentAuthor>
<date>1514761200000</date>
<contentUpdateDate>1514761200000</contentUpdateDate>
<version>1.1</version>
<title/>
<comment/>
<minorEdit>false</minorEdit>
<syntaxId>xwiki/2.0</syntaxId>
<hidden>false</hidden>
<content/>
<class>
<name>GitLab.Code.GitLabConfigClass</name>
<customClass/>
<customMapping/>
<defaultViewSheet/>
<defaultEditSheet/>
<defaultWeb/>
<nameField/>
<validationScript/>
<contribVersion>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>contribVersion</name>
<number>3</number>
<picker>0</picker>
<prettyName>Contrib Version</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</contribVersion>
<defaultdate>
<customDisplay/>
<dateFormat>dd/MM/yyyy</dateFormat>
<disabled>0</disabled>
<emptyIsToday>0</emptyIsToday>
<hint/>
<name>defaultdate</name>
<number>11</number>
<picker>1</picker>
<prettyName>Default Date</prettyName>
<size>20</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.DateClass</classType>
</defaultdate>
<defaultspace>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>defaultspace</name>
<number>10</number>
<picker>0</picker>
<prettyName>Default Spaces</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</defaultspace>
<defaultuser>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>defaultuser</name>
<number>12</number>
<picker>0</picker>
<prettyName>Default User</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</defaultuser>
<description>
<contenttype>---</contenttype>
<customDisplay/>
<disabled>0</disabled>
<editor>Text</editor>
<hint/>
<name>description</name>
<number>5</number>
<picker>0</picker>
<prettyName>Description</prettyName>
<rows>5</rows>
<size>40</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
</description>
<gitlab_url>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>gitlab_url</name>
<number>6</number>
<picker>0</picker>
<prettyName>GitLab URL</prettyName>
<size>80</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</gitlab_url>
<name>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>name</name>
<number>1</number>
<picker>0</picker>
<prettyName>Name</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</name>
<repository_name>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>repository_name</name>
<number>8</number>
<picker>0</picker>
<prettyName>Repository Name</prettyName>
<size>80</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</repository_name>
<repository_path>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>repository_path</name>
<number>9</number>
<picker>0</picker>
<prettyName>Repository Path</prettyName>
<size>80</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</repository_path>
<repository_user>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>repository_user</name>
<number>7</number>
<picker>0</picker>
<prettyName>Repository User</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</repository_user>
<status>
<contenttype>---</contenttype>
<customDisplay/>
<disabled>0</disabled>
<editor>Text</editor>
<hint/>
<name>status</name>
<number>13</number>
<picker>0</picker>
<prettyName>Status</prettyName>
<rows>5</rows>
<size>40</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
</status>
<version>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>version</name>
<number>2</number>
<picker>0</picker>
<prettyName>Version</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</version>
<xarXmlVersion>
<customDisplay/>
<disabled>0</disabled>
<hint/>
<name>xarXmlVersion</name>
<number>4</number>
<picker>0</picker>
<prettyName>XML File Version (1.1 or 1.0)</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</xarXmlVersion>
</class>
<object>
<name>GitLab.Code.GitLabConfigClass</name>
<number>0</number>
<className>XWiki.ClassSheetBinding</className>
<guid>74119b6f-3335-4021-81d4-20bee29ad7e8</guid>
<class>
<name>XWiki.ClassSheetBinding</name>
<customClass/>
<customMapping/>
<defaultViewSheet/>
<defaultEditSheet/>
<defaultWeb/>
<nameField/>
<validationScript/>
<sheet>
<customDisplay/>
<disabled>0</disabled>
<name>sheet</name>
<number>1</number>
<picker>0</picker>
<prettyName>Sheet</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</sheet>
</class>
<property>
<sheet>GitLab.Code.GitLabConfigSheet</sheet>
</property>
</object>
<object>
<name>GitLab.Code.GitLabConfigClass</name>
<number>0</number>
<className>XWiki.DocumentSheetBinding</className>
<guid>a5b831dc-78e2-4288-82f1-d25efd790247</guid>
<class>
<name>XWiki.DocumentSheetBinding</name>
<customClass/>
<customMapping/>
<defaultViewSheet/>
<defaultEditSheet/>
<defaultWeb/>
<nameField/>
<validationScript/>
<sheet>
<customDisplay/>
<disabled>0</disabled>
<name>sheet</name>
<number>1</number>
<picker>0</picker>
<prettyName>Sheet</prettyName>
<size>30</size>
<unmodifiable>0</unmodifiable>
<validationMessage/>
<validationRegExp/>
<classType>com.xpn.xwiki.objects.classes.StringClass</classType>
</sheet>
</class>
<property>
<sheet>XWiki.ClassSheet</sheet>
</property>
</object>
</xwikidoc>
<?xml version="1.0" encoding="UTF-8"?>
<!--
* See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
<xwikidoc version="1.3" reference="GitLab.Code.GitLabConfigSheet" locale="">
<web>GitLab.Code</web>
<name>GitLabConfigSheet</name>
<language/>
<defaultLanguage/>
<translation>0</translation>
<creator>xwiki:XWiki.Admin</creator>
<creationDate>1514761200000</creationDate>
<parent>xwiki:GitLab.Code.WebHome</parent>
<author>xwiki:XWiki.Admin</author>
<contentAuthor>xwiki:XWiki.Admin</contentAuthor>
<date>1514761200000</date>
<contentUpdateDate>1514761200000</contentUpdateDate>
<version>1.1</version>
<title/>
<comment/>
<minorEdit>false</minorEdit>
<syntaxId>xwiki/2.0</syntaxId>
<hidden>false</hidden>
<content>{{velocity}}
#if ("$!request.action" == "compare")
= $msg.get('gitlab.configsheet.compare.title'): $request.page =
#else
= $msg.get("gitlab.configsheet.title"): $doc.name =
#end
#if(!$xwiki.hasProgrammingRights())
#warning("This application cannot work without programming rights on the current page. Resave this page as an admin and retry.")
#else
#if(!$request.action)
#set($class = $doc.getObject('GitLab.Code.GitLabConfigClass').xWikiClass)
#set($authobj = $doc.getObject("GitLab.Code.GitLabAuthClass", "contextuser", $context.user))
#if(!$authobj)
#set($authobj = $doc.newObject("GitLab.Code.GitLabAuthClass"))
#if($context.action=="edit")
#set($ok = $doc.use($authobj))
#set($ok = $doc.set("contextuser", $context.user))
#set($ok = $doc.use("GitLab.Code.GitLabConfigClass"))
#set($ok = $doc.save())
#end
#end
{{html clean="false" wiki="true"}}
#foreach($prop in $class.properties)
#set($tooltip = $prop.propertyClass.getTooltip($context.context))
; &lt;label#if ($xcontext.action == 'edit') for="GitLab.Code.GitLabClass_0_${prop.name}"#end&gt;$escapetool.xml($doc.displayPrettyName($prop.name, false, false))&lt;/label&gt;
: $doc.display($prop.name)
#if($prop.name=="gitlab_url" &amp;&amp; $context.action=="edit")
#set($ok = $doc.use($authobj))
; &lt;label#if ($xcontext.action == 'edit') for="GitLab.Code.GitAuthClass_${authobj.number}_${prop.name}"#end&gt;$escapetool.xml($doc.displayPrettyName("token", false, false))&lt;/label&gt;
: $doc.display("token")
#set($ok = $doc.set("contextuser", $context.user))
$doc.display("contextuser", "hidden")
#set($ok = $doc.use("GitLab.Code.GitLabConfigClass"))
#end
#end ## end for
{{/html}}
#end ## end request.action
#set($configLoaded = "")
#if($request.action)
#set($gitlabgroovy = $xwiki.parseGroovyFromPage("GitLab.Code.GitLabGroovy","GitLab.Code.GitLabGroovy"))
#set($ok = $gitlabgroovy.setXWiki($xwiki, $context))
#if(!$gitlabgroovy.hasProgrammingRights())
#warning("This application cannot work without programming rights on [[GitLab.Code.GitLabGroovy]]. Resave this page as an admin and retry.")
#end
#set($configLoaded = $gitlabgroovy.setGitLabConfig($doc.fullName))
#if($request.spaces)
#set($spaces = $request.spaces)
#set($savedlist = "")
#else
#set($savedlist = $gitlabgroovy.getSavedList())
#set($spaces = $gitlabgroovy.getDefaultSpace())
#end
#end
#if($configLoaded!="")
## it was not possible to connect to gitlab
$configLoaded
#else
## CUSTOM action
#if($request.action=="custom")
{{html wiki=true clean=false}}
&lt;form action="" method="get"&gt;
&lt;input type="hidden" name="action" value="list" /&gt;
$msg.get("gitlab.configsheet.custom.spacelist"): &lt;input type="text" name="spaces" value="" /&gt;&lt;input type="submit" value="$msg.get("gitlab.configsheet.listpages")" /&gt;
&lt;/form&gt;
&lt;form action="" method="get"&gt;
&lt;input type="hidden" name="action" value="list" /&gt;
$msg.get("gitlab.configsheet.custom.space"): &lt;select name="spaces"&gt;
#foreach($space in $xwiki.spaces)
&lt;option value="$space"&gt;$space&lt;/option&gt;
#end
&lt;/select&gt;
&lt;input type="submit" value="$msg.get("gitlab.configsheet.listpages")" /&gt;
&lt;/form&gt;
{{/html}}
## LIST ACTION
#elseif($request.action=="list")
{{html wiki=true clean=false}}
&lt;form action="$doc.name" method="post"&gt;
&lt;input type="hidden" name="action" value="commit" /&gt;
&lt;input type="hidden" name="spaces" value="$!{spaces}" /&gt;
&lt;ul&gt;
#set($cmap = $!gitlabgroovy.getChangedPages($spaces, $savedlist))
#foreach($page in $cmap.keySet())
#set($status = $cmap.get($page))
## encode the language of the document after the document name, after a dot. Will be processed on commit
&lt;li&gt;$status.status &lt;input type="checkbox" name="page" value="${status.fullname}.$!{status.language}" /&gt; ${page}
&lt;input type="hidden" name="${status.fullname}.$!{status.language}_sha" value="${status.gitlabsha}" /&gt;
#if($status.status!="N")
[[$msg.get("gitlab.configsheet.viewdiff")&gt;&gt;${doc.fullName}?action=compare&amp;page=${status.fullname}&amp;gitlablanguage=${status.language}&amp;spaces=$!{spaces}&amp;filePath=${status.filePath}||target=_blank]]
-
[[$msg.get("gitlab.configsheet.viewdiffunformatted")&gt;&gt;${doc.fullName}?action=compare&amp;page=${status.fullname}&amp;gitlablanguage=${status.language}&amp;spaces=$!{spaces}&amp;filePath=${status.filePath}&amp;unformatted=1||target=_blank]]
-
[[$msg.get("gitlab.configsheet.viewdoc")&gt;&gt;${status.fullname}?language=${status.language}||target=_blank]]
#end
#end
&lt;/ul&gt;
&lt;input type="submit" name="commit" value="$msg.get("gitlab.configsheet.commitall")" /&gt; &lt;input type="submit" name="update" value="$msg.get("gitlab.configsheet.updateall")" /&gt; &lt;input type="submit" name="export" value="$msg.get("gitlab.configsheet.exportall")" /&gt;
&lt;/form&gt;
{{/html}}
#elseif($request.export)
#set($pagelist = $xwiki.arrayList)
#foreach($page in $request.getParameterValues("page"))
#set($ok = $pagelist.add($page))
#end
$gitlabgroovy.exportPages($doc.name, $pagelist)
#set($ok = $context.setFinished(true))
#elseif($request.update)
#set($pagelist = $xwiki.arrayList)
#foreach($page in $request.getParameterValues("page"))
#set($ok = $pagelist.add({ "page" : $page, "sha" : $request.get("${page}_sha")}))
#end
#set($list = $gitlabgroovy.updatePages($pagelist,$spaces))
$msg.get("gitlab.configsheet.pagesupdated")
#foreach($page in $list.keySet())
* $page
#end
[[$msg.get("gitlab.configsheet.backtolist")&gt;&gt;${doc.fullName}?action=list]] - [[$msg.get("gitlab.configsheet.backtocustom")&gt;&gt;${doc.fullName}?action=custom]]
## COMMIT ACTION with confirm
#elseif($request.action=="commit" &amp;&amp; $request.confirm=="1")
$msg.get("gitlab.configsheet.committingpages"):
#set($pagelist = $xwiki.arrayList)
#foreach($page in $request.getParameterValues("page"))
* $page
#set($ok = $pagelist.add($page))
#end
$gitlabgroovy.commitFiles($pagelist, $request.message, $!request.pom)
$msg.get("gitlab.configsheet.committsuccessfull")
[[$msg.get("gitlab.configsheet.backtolist")&gt;&gt;${doc.fullName}?action=list]] - [[$msg.get("gitlab.configsheet.backtocustom")&gt;&gt;${doc.fullName}?action=custom]]
## COMMIT ACTION before confirm
#elseif($request.action=="commit")
## confirm commit
$msg.get("gitlab.configsheet.confirmcommittingpage")
{{html wiki=true}}
&lt;form action="$doc.name" method="post"&gt;
&lt;input type="hidden" name="action" value="commit" /&gt;
&lt;input type="hidden" name="confirm" value="1" /&gt;
&lt;input type="hidden" name="spaces" value="$!{spaces}" /&gt;
## just pass the pages to commit further
#foreach($page in $request.getParameterValues("page"))
* $page
&lt;input type="hidden" name="page" value="$!{page}" /&gt;
#end
$msg.get("gitlab.configsheet.commitmessage"):
&lt;br /&gt;
&lt;textarea name="message" rows="5" cols="80"&gt;
&lt;/textarea&gt;
&lt;br /&gt;
&lt;input type="checkbox" name="pom" value="1" /&gt; $msg.get("gitlab.configsheet.commitpom")
&lt;br /&gt;
&lt;input type="submit" value="Commit" /&gt;
&lt;/form&gt;
{{/html}}
## VIEW STATUS ACTION
#elseif($request.action=="status")
$gitlabgroovy.getCommitStatus("|", "|", false)
## VIEW STATUS ACTION
#elseif($request.action=="compare")
{{html clean=false}}
&lt;style type="text/css"&gt;
.diffremoveword {
background-color: #FFAAAA;