Compact CLI, reporter, and Go client for ReportPortal. Examples use the gorp binary name (the release artifact is goRP).
- Go toolchain
go install github.com/reportportal/goRP/v5@latest- Release tarball (auto-detects your OS/arch)
curl -s https://api.github.com/repos/reportportal/goRP/releases/latest | \
jq -r '.assets[] | select(.name | contains("tar.gz")) | .browser_download_url' | \
grep "$(uname)_$(arch)" | \
xargs curl -sL | tar zx -C /usr/local/binRun gorp init once to cache host, uuid, and project in ~/.gorp. The wizard asks for:
- ReportPortal base URL
- Personal access token (UUID)
- Default project name
Runtime overrides go through flags or env vars: GORP_UUID, GORP_PROJECT, and GORP_HOST. All commands accept --log-level (default debug).
gorp [global flags] command [command options]
GLOBAL FLAGS:
--uuid, -u Access token (env: GORP_UUID)
--project, -p Project name (env: GORP_PROJECT)
--host ReportPortal server URL
--log-level slog level (trace|debug|info|warn|error)
COMMANDS:
init Initialize the local config cache
launch List or merge launches
report Ship test results (currently only Go test2json)
quality-gate Poll a launch quality gate status
gorp launch list [--filter key=value ... | --filter-name saved_filter]
--filter(Filterenv) joins multiple key=value pairs with&.--filter-name(FILTER_NAMEenv) reuses a saved ReportPortal filter.- No flags lists the most recent launches for the configured project.
gorp launch merge --name "Nightly" [--ids 1 --ids 2 | --filter ... | --filter-name ...]
- Provide either explicit
--idsor a filter; otherwise the command exits. --type(MERGE_TYPE, defaultDEEP) controls the merge strategy.
gorp report test2json [-f results.json] [flags]
- Consumes
go test -jsonoutput from a file or stdin. --launchName, --ln(LAUNCH_NAME, default"gorp launch").--reportEmptyPkg, --ep(REPORT_EMPTY_PKG) creates suite entries even when packages have no tests.--attr, -a key:valueattaches launch attributes; omitting:creates a tag.--print-launch-uuidwritesReportPortal Launch UUID:<uuid>for downstream tooling.--quality-gate-check, --qgcwaits for the launch quality gate using the timeout/interval flags described below (exit code10on failure).
go test -json ./... > results.txt
gorp report test2json -f results.txt --attr build:123 --print-launch-uuid
Direct streaming works as well:
go test -json ./... | gorp report test2json --attr env:ci
gorp quality-gate check [--launch-uuid UUID | --stdin] [--quality-gate-timeout 1m] [--quality-gate-check-interval 3s]
- Supply the launch ID explicitly (
--launch-uuid, envLAUNCH_UUID) or pipe the output ofgorp report ... --print-launch-uuidand use--stdin. - The command polls until the launch metadata exposes a quality gate result. It exits with code
0on pass,10on fail, and1on timeouts/usage errors.
Use gorp quality-gate check --stdin <<<'ReportPortal Launch UUID: <id>' to test the flow locally.