openqa-client(1)

πŸ“¦
version 4.6.1732034221.ae34b08ff Β· 4 versions
, in debian trixie, ubuntu questing

🌸 NAME 🌸

openqa-client β€” the deprecated lil script for talking to an openQA server πŸ’… (yes bestie, deprecated, we'll get to that)


✨ SYNOPSIS ✨

🚨 real talk first: this script is deprecated, use openqa-cli instead. no cap.
openqa-client [OPTIONS] PATH

πŸŽ€ OPTIONS πŸŽ€

okay so here's every single flag, no skips, we're thorough in this house 🫢

  • --host HOST β€” point it at the host you wanna talk to. defaults to localhost, which is giving "just vibing on my own machine" energy.
  • --params FILE β€” load your get/post parameters from a json file. like, for example:
{
   "FLAVOR" : "DVD",
   "BUILD" : "42",
   "ARCH" : "i586",
   "DISTRI" : "opensuse",
   "VERSION" : "26", }
  • --apibase β€” set the API base URL component. default is '/api/v1'. iconic, don't touch it unless you know what you're doing ✨
  • --json-output β€” spit out JSON instead of those Perl structures. glow up fr.
  • --yaml-output β€” spit out YAML instead of Perl structures.
  • accept (json|yaml) β€” sends an Accept header so you can explicitly tell the API what format you're accepting. main character behavior, honestly.
⚠️ heads up: returning YAML is deprecated, and rn only ONE endpoint (job_templates_scheduling) is even able to return YAML anyway. so like... 😭

by default, Accept: */* is what gets sent. chill, undemanding, we love that for us.

  • --verbose, -v β€” be verbose in output. she talks a lot, we respect it πŸ’–
  • --apikey KEY, --apisecret SECRET β€” specify the api key and secret to use. this overrides the config file at ~/.config/openqa/client.conf, so it's lowkey the boss of your credentials.
  • --json-data β€” send JSON data. certain routes are literally expecting this.

for example:

jobs/639172 put --json-data '{"group_id": 1}'
  • --form β€” send form data (application/x-www-form-urlencoded) instead of appending the parameters you gave as a URL query. certain routes want this.

this is for instance used to post job templates, e.g.:

job_templates_scheduling/1 post --form schema=JobTemplates-01.yaml preview=0 template="$(cat foo.yaml)"

and to create nested forms, use dotted syntax, e.g.:

jobs/1/artefact post --form file.file=bar file.filename=bar.log
  • --help, -h β€” print help. the classic. the icon. the moment. πŸ‘‘

πŸ“¦ Archive mode πŸ“¦

  • --archive, -a DIRECTORY β€” Archive mode! downloads assets and test results from a job into DIRECTORY. it's giving "packing up the whole room for you" πŸ’œ
  • --with-thumbnails β€” Archive mode: include thumbnails too. tiny pictures, big vibes πŸŽ€
  • --asset-size-limit LIMIT β€” Archive mode: only download assets that don't exceed the specified limit in bytes. the default limit is 200 MB.

πŸ¦‹ SYNOPSIS πŸ¦‹ (the how-to part)

so basically: you interact with the openQA API by specifying route entry points, and optionally operations. it defaults to the get operation, i.e. it just reads out the data without changing anything. no drama, no edits, just looking respectfully πŸ‘€

wanna see the available API routes? check the help on the openQA instance you're trying to access. that's where they live.

common top level entry points: jobs, workers, isos.

  • client --host openqa.example.com jobs β€” list ALL jobs. ⚠️ Caution: this will take a very long time or even timeout on big productive instances. not for the weak, fr.
  • client --host openqa.example.com jobs groupid=135 distri=caasp version=3.0 latest=1 β€” list all jobs matching the search criteria you gave. filtered, curated, slay.
  • client --host openqa.example.com jobs/overview groupid=135 distri=caasp version=3.0 β€” list the latest jobs for the latest build in the given scenario. and unlike the route above, this limits results to the latest build, the same way the test result overview in the web UI does. same energy, different door πŸšͺ✨
  • client --host openqa.example.com jobs/1 β€” show details of job nr. 1. the whole lore.
  • client --host openqa.example.com jobs/1 delete β€” delete job nr. 1. (permissions read from config file, so behave πŸ’€)
  • client --host openqa.example.com isos post ISO=bar.iso DISTRI=my-distri FLAVOR=my-flavor ARCH=my-arch VERSION=42 BUILD=1234 β€” trigger jobs on iso bar.iso matching test suite blah. go off, king.
  • client --archive /path/to/directory --asset-size-limit 1048576000 --with-thumbnails --host openqa.opensuse.org jobs/42 β€” download all assets and test logs and images from job 42, with an asset limit of 1GB, to /path/to/directory. that's the full haul, bestie πŸ“¦πŸ’–

and that's the whole page!! this was openqa-client from openQA 4.6.1732034221.ae34b08ff, dated 2025-04-08. tysm for reading, ily, now go use openqa-cli instead πŸ«Άβœ¨πŸ’…

πŸ“¦ where this page comes from