Swizzle Plugin
Last modified by Thomas Mortagne on 2026/08/05 18:22
| Allows to query a JIRA instance and display all sort of information in a XWiki page about it |
| Type | Plugin |
| Category | |
| Developed by | |
| Rating | |
| License | GNU Lesser General Public License 2.1 |
Table of contents
Description
Installation
Activate the plugin by editing your WEB-INF/xwiki.cfg file as follows and restart your XWiki instance:
xwiki.plugins=[...],com.xpn.xwiki.plugin.swizzle.SwizzleJiraPluginUsage
To use the plugin in your wiki, you'll need to write some Velocity code to integrate it where you want to use it, as shown below.
You can use any method from the Swizzle JIRA API.
Examples
Display a list of issues based on a JIRA RSS URL
Example using XWiki 2.0 syntax:
{{velocity}}
#macro (jira $pid $fixfor)
#set ($jirarss = $xwiki.swizzle.getJiraRss("https://jira.xwiki.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?&pid=${pid}&fixfor=${fixfor}&sorter/field=issuekey&sorter/order=DESC&tempMax=1000"))
|=Type|=Key|=Summary|=Status
#foreach ($issue in $jirarss.getIssues())
|$issue.getType()|[[$issue.getKey()>>$issue.getLink()]]|$issue.getSummary()|$issue.status.name
#end
#end
#jira("10010" "10435")
{{/velocity}}Note that in this example we've created a Velocity Macro too that can be reused to easily create reports.
Displays a list of JIRA issues based on a JQL Query
{{velocity}}
#macro (jira $jqlQuery)
#set ($jirarss = $xwiki.swizzle.getJiraRss("https://jira.xwiki.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=$escapetool.url($jqlQuery)"))
|=Type|=Key|=Summary|=Status
#foreach ($issue in $jirarss.getIssues())
|$issue.getType()|[[$issue.getKey()>>$issue.getLink()]]|$issue.getSummary()|$issue.status.name
#end
#end
#jira("project='XWiki' AND fixVersion='2.4 RC1'")
{{/velocity}}Displays a list of JIRA projects
#set ($jira = $xwiki.swizzle.getJira("https://jira.xwiki.org/rpc/xmlrpc"))
$jira.login("username", "password")
{table}
ID | Key | Project Name | Project Lead | Project URL
#foreach ($project in $jira.getProjects())
$project.getId() | $project.getKey() | $project.getName() | $project.getLead() | $project.getProjectUrl()
#end
{table}Result

Tips
Sorting
You can sort using:
- sort("fieldname")
- ascending("fieldname")
- descending("fieldname")
For example to sort based on the issue creation date and in descending order:
#foreach ($issue in $jirarss.issues.descending("created"))