4.8 KiB
MediaWiki extension for Bugzilla
This is a MediaWiki extension that provides read-only access to the Bugzilla REST API
Please note that there are still big outstanding bugs!
Requirements
- MediaWiki 1.17 or above.
- For charting, requires gd
Installation
These directions assume your MediaWiki installation is at /var/lib/mediawiki. Please substitute your installation path if it is different
- Install the requirements above
- Check the project out into
/path/to/your/mediawiki/extensions/Bugzilla
- Edit
/path/to/your/mediawiki/LocalSettings.php
and addrequire_once("$IP/extensions/Bugzilla/Bugzilla.php");
and change/override any configuration variables. Current configuration variables and their defaults can be found at the end ofBugzilla.php
Usage
You use this extension in this way:
<bugzilla>
(JSON REST API query key/value pairs)
</bugzilla>
By default, it will output a colored table:
Note that the wiki tag name defaults to "bugzilla" but is configurable by the administrator.
Options
Valid bugzilla tag options are:
- type:
"bug"
or"count"
(defaults to bug) - For type bug:
- display:
"table"
or"list"
or"count"
(defaults to table)
- display:
- For type count:
- display:
"bar"
or"pie"
- size:
"small"
,medium"
or"large"
(defaults to large)
- display:
- stats:
"show"
or"hide"
(defaults to "show")
Examples
All P1 bugs in the Bugzilla product:
<bugzilla>
{
"product": "Bugzilla",
"priority":"P1"
}
</bugzilla>
All new bugs flagged as uiwanted in the whiteboard:
<bugzilla>
{
"whiteboard": "uiwanted",
"status": "NEW"
}
</bugzilla>
All bugs in the bugzilla.org component that were resolved in 2011, with the stats summary hidden:
<bugzilla stats="hide">
{
"component": "bugzilla.org",
"changed_after": "2011-01-01",
"changed_before": "2011-12-31",
"changed_field": "status",
"changed_field_to": "resolved"
}
</bugzilla>
Some commonly used query parameters are:
- id
- component
- product
- status
- resolution
- keywords
- whiteboard
- target_milestone
- version
- changed_after
- changed_before
For more details on how to query in various ways, see the documentation for the Bugzilla REST API
Configurable fields/columns
Specify fields in the "include_fields" setting of BZ REST API options as you normally would. Mediawiki-bugzilla will then a) only fetch those fields and b) display those columns.
<bugzilla>
{
"whiteboard": "[mediawiki-bugzilla]",
"include_fields": ["id", "summary", "whiteboard", "status", "resolution"]
}
</bugzilla>
Charting
There is also some support for charting:
<bugzilla type="count" display="bar">
{
"whiteboard": "[snappy:p1]",
"x_axis_field": "status"
}
</bugzilla>
Screenshot of the above:
<bugzilla type="count" display="pie">
{
"whiteboard": "[mediawiki-bugzilla]",
"x_axis_field": "status"
}
</bugzilla>
<bugzilla type="count" display="pie" size="medium">
{
"whiteboard": "[mediawiki-bugzilla]",
"x_axis_field": "status"
}
</bugzilla>
<bugzilla type="count" display="pie" size="small">
{
"whiteboard": "[mediawiki-bugzilla]",
"x_axis_field": "status"
}
</bugzilla>
Screenshot of the above:
Limitations
- This extension (by design) is read-only
- This extension currently queries as a public (not logged in) user
- Charts are fairly hardcoded and don't work in many cases
Known Issues
- The size attribute only works on pie charts
- Rendering a page with an uncached query can take a bit
- Large queries may exceed the allocated memory causing a blank page to be displayed. In this case you can recover by editing the page as follows: If your wiki page has the URL https://wiki.mozilla.org/PagePath/PageTitle The URL to edit your page is https://wiki.mozilla.org/index.php?title=PagePath/PageTitle&action=edit