Enterprise Software Development System

relman CLI: Utility & Global Flags

← Back to the relman CLI command overview

Utility & global flags

Shell completion

completion bash

Prints a Bash completion function for relman (command/subcommand words and flags – not live token values, since completing those would mean contacting the server on every Tab press). Use it with source <(relman completion bash), or install the output to a bash-completion directory.

completion powershell

The same, for PowerShell’s Register-ArgumentCompleter. Use it with relman completion powershell | Out-String | Invoke-Expression, or add it to a PowerShell profile script.

Global flags

These apply to every command above and go before the verb, e.g. relman --domain de.release-manager.com --cert mycert.p12 list organizations.

FlagShortRequiredMeaning
--domain-dyesThe server to talk to (e.g. de.release-manager.com).
--cert-iyesPath to a PKCS#12 client certificate file, used for mutual TLS authentication – this is how the server resolves which account you are.
--cert-password-pnoThe certificate file’s password, if it has one.
--format-fnoOutput format: yaml (default), json, xml, or plain.
--verbose-vnoPrint extra diagnostic information (which flags came from where, etc.).
--help-hnoPrint usage information instead of running a command.

--domain, --cert, --cert-password and --format can also be set via the environment variables RELMAN_DOMAIN, RELMAN_CERT, RELMAN_CERT_PASSWORD and RELMAN_FORMAT – a flag on the command line always overrides the corresponding environment variable.

Examples

1. Installing Bash completion

$ relman completion bash | head -6
_relman_completion()
{
    local cur prev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"

$ source <(relman completion bash)

Edge case: this only completes command/subcommand words and flags – never live token values (an org id, a task id, …), since that would mean contacting the server on every Tab press. Add the source <(...) line to your shell profile to keep it across sessions; running it once only completes commands for the current shell.

2. Switching output format

$ relman --format=json list organizations
[{"id":"o-4kNc8Q","name":"Example Corp"},{"id":"o-Rz91Wm","name":"Sandbox GmbH"}]

Edge case: every example on the other pages uses the default yaml format for readability, but any of them work identically with --format=json/xml/plain appended – the flag applies uniformly to every command, there’s no per-command opt-out.

3. A missing required flag

$ relman list organizations
Error: Missing required option --cert.

Edge case: this is a local usage error (exit code 2) – the request never reaches the server at all, unlike an HTTP 401 (certificate presented but rejected by the server) which only shows up once --cert/-i actually points at a file. Set RELMAN_DOMAIN/RELMAN_CERT in your environment once to avoid needing --domain/--cert on every invocation, as every example on these pages assumes.

Top