oqa is a Magit-style front end for OpenQA. It models OpenQA as a
drill-down hierarchy — a stack of read-only tabulated-list buffers
(groups → builds → jobs → job) — each with a context-sensitive
transient menu that acts on the entry at point. The goal is to run
daily review tasks from inside Emacs instead of the OpenQA web UI.
Reads use the public OpenQA REST API with no credentials. Only the
state-changing actions (restart / clone / trigger) shell out to your
installed openqa-cli / openqa-clone-job, which use the credentials in
~/.config/openqa/client.conf.
M-x oqa opens the job-groups view of the active instance (o3,
openqa.opensuse.org, by default). From there:
RETdrills into the entry at point (group → builds → jobs → job).u/^go back up,qburies the view,grefreshes.o/?open the context menu (transient) for the current view.
No configuration is required to browse.
Groups → builds → jobs → a single job’s settings and module results.
In the jobs view, o opens the filter menu. One-key presets reload the
list immediately — R running, F failed, S failed+softfailed,
P passed, x clear. For anything else, the -s / -r (multi-value
state/result) and -a / -f / -m / -t / -d / -v / -n infixes
build a custom query applied with RET. The active filters are shown in
the header line.
With a job at point: r restart with the same settings, c clone into
an editable KEY=value buffer (C-c C-c submits, C-c C-k cancels), or
T trigger a new build (isos). Each confirms first and reports the
CLI’s outcome; if the CLI is missing the action is blocked with a message
and nothing is submitted.
o3 is the default. O / D switch to o3 / osd, i chooses any
instance configured in oqa-instances. Every view and action then
targets the active instance.
w opens the workers list (host:instance / status / worker class);
RET shows a worker’s properties.
l shows a job’s autoinst-log in a read-only buffer (a not-yet-started
job reports “log unavailable” rather than erroring). On a worker, l
shows its running job’s log if any, otherwise its status/error with a
note that OpenQA exposes no worker-log endpoint.
oqa-instances— alist of instance label → base URL (defaults:o3,osd).oqa-default-instance— the label used when a buffer has none (o3).oqa-jobs-limit— default job page size (100).oqa-request-timeout— HTTP timeout in seconds (30).oqa-cli-program/oqa-clone-program— the external tools used for mutations (openqa-cli/openqa-clone-job).
This package is licensed under GPLv3. See LICENSE.