Authentication between the CloudBees Smart Tests CLI and CloudBees Smart Tests API normally requires a static API key. As an alternative, CloudBees Smart Tests supports tokenless authentication using OpenID Connect (OIDC). Instead of a shared secret, the CI system issues a short-lived, signed OIDC id-token for each pipeline run, and CloudBees Smart Tests verifies it cryptographically. There is no key to rotate or leak.
A single generic OIDC flow authenticates every supported CI provider, including GitHub Actions, Jenkins, GitLab, and any other OpenID Connect issuer. The CI mints an id-token for the pipeline, CloudBees Smart Tests verifies it against that issuer, and matches the token’s sub claim against a Trusted OIDC subject that you register once in the web app.
To set up a pipeline, follow Authenticate a pipeline with OIDC. That page includes GitHub Actions, Jenkins, and other providers as separate worked examples.
|
GitHub Actions previously used a legacy flow that matched the |
How OIDC verification works
Both paths rely on the same underlying mechanism.
An OIDC id-token is a signed JWT that the CI mints for a pipeline run. It carries three claims that matter here:
-
iss(issuer) - who minted the token, for examplehttps://token.actions.githubusercontent.com(GitHub) orhttps://jenkins.example.com/oidc(Jenkins). -
sub(subject) - the identity of the specific pipeline or job. CloudBees Smart Tests matches this against the value you registered as a Trusted OIDC subject. For GitHub Actions, the token’s rawsubis normalized torepo:OWNER/REPObefore matching, so the registered value is the same regardless of branch or workflow. -
aud(audience) - who the token is intended for. CloudBees Smart Tests expectshttps://app.cloudbees.io/smart-tests.
To verify a token, CloudBees Smart Tests needs the issuer’s public keys, published as a JSON Web Key Set (JWKS). A JWKS contains only public keys: it allows CloudBees Smart Tests to verify a signature but cannot be used to mint tokens.
The issuer signs each token with a private key, and CloudBees Smart Tests checks the signature with the matching public key from the issuer’s JWKS. This proves the token genuinely came from that issuer and was not tampered with, without any shared secret.
|
The |