The plugin provides the following features:
- a family of
osc qam <subcommand>commands that drive the QA-Maintenance review workflow (assigning, signing off, approving and rejecting maintenance requests) on top of osc's request/review API. - helpers to list, filter and inspect the requests that are open, assigned to a group, or assigned to you.
- to see the list of provided commands use
osc qam --helpand to see what a specific command does useosc qam <command> --help.
For detailed information about common use cases see the :ref:`workflows`.
To install the plugin add the repository for your distribution from here: http://download.suse.de/ibs/QA:/Maintenance/
zypper ar -f http://download.suse.de/ibs/QA:/Maintenance/<distribution>/QA:Maintenance.repo
zypper in osc-plugin-qamCurrently supported distributions are:
- Tumbleweed
- Leap 15.x
- SLE 12-SP4+
- SLE 15.x
After the package is installed a new command is now available for osc: osc
qam.
Note
The plugin is currently only useful for the internal buildservice.
You should actually use your alias that uses https://api.suse.de
or add the flag --apiurl=https://api.suse.de.
If you do not want to set an alias, you can configure osc to
automatically default to the internal ibs api.
Update your .oscrc [general] section:
[general]
apiurl = https://api.suse.deEvery action is a subcommand of osc qam. For example, to list the open
requests:
osc qam listThe plugin adds the following subcommands. Pass --help to any of them for
the full list of options (e.g. osc qam assign --help).
list(aliasopen) — list requests that are open for review. Filter with-G/--group(repeatable) and-U/--user.assigned— list requests that already have assigned reviews. Filter with-G/--group(repeatable) and-U/--user.my— list the requests currently assigned to you (shortcut forosc qam assigned -U <your-user>).info— show detailed information for a singlerequest_id.All four commands share the display options
-F/--fields(repeatable, choose the columns to output),-T/--tabular(render as an ASCII table), and-V/--describe-fields(print the available fields).
assign— assign a request to a user. Options:-U/--user,-G/--group(repeatable),--skip-template(do not check that a test report template exists).unassign— remove an assignment. Options:-U/--user,-G/--group(repeatable).approve— sign off / approve a request. Options:-G/--group(directly approve for a group that does not need reviews),--skip-template.reject— reject a request. Options:-U/--user,-M/--message,-R/--reason(repeatable),--skip-template.
comment— add a comment to a request (comment <request_id> "<text>").deletecomment(aliasrmcomment) — remove one of your own comments from a request.
version— print the plugin version.
SLFO requests are handled through the same request/review API as classic
OBS/IBS requests. Three behaviours are specific to them: for staging requests the
test report id (RRID) is derived from the request's target project (for
example SUSE:SLFO:1.1) rather than the source project, while PI releases map
a SUSE:SLFO:... source to SUSE:PI:<version>; bug collection is
skipped for SLFO requests; and the MAINT:RejectReason attribute is not
recorded on reject (there is no maintenance incident to attach it to and the
SLFO source project rejects it) — the reason is still shown in the decline
comment.