Configuration Parameters
All clients and listeners share a basic set of configuration parameters. These parameters can be extended with listener-specific configuration parameters if necessary.
The basic parameters are:
- orangebeard.endpoint - You Orangebeard instance url
- orangebeard.accessToken - Your listener API access token
- orangebeard.project - The project to report to
- orangebeard.testset - The testset name to report
- orangebeard.description - [Optional] The description for the test run
- orangebeard.attributes - [Optional] Attributes to set to the test run. The special
assigneeattribute auto-assigns the test run to a user - orangebeard.ref.url (.NET/JS/Python) or orangebeard.referenceUrl (Java) - [Optional] A reference link for the test run
- orangebeard.properties - [Optional] A property file name that can contain all parameters above
Auto-assigning test runs
Add an assignee attribute to orangebeard.attributes to assign the test run to a specific user as soon as it starts.
This is useful when a test set is owned by a person or team member who should be shown on every run, without having
to assign each run by hand.
The value of the attribute is the email address or the user id (uid) of the user:
orangebeard.attributes=assignee:jane.doe@example.com;testtype:unit;
The run is assigned when:
- a user with this email address or uid exists, and
- that user is a member of the project the test run is reported to.
In that case the assignee attribute is removed from the test run's attributes: it is shown as the assignee of the
run instead.
In all other situations the test run is not assigned and the assignee attribute is kept as a regular attribute
on the test run, so you can see what was configured:
- No user can be found for the email address or uid.
- The user exists, but is not a member of the project.
- The user lookup is temporarily unavailable. The test run itself always starts normally.
The attribute name assignee is not case-sensitive. Assignment only happens when a test run is started (including
when an announced run is started); an assignee attribute sent when announcing a test run is not used to assign it.
Configuration
Parameters can be provided using environment variables, or using a (java) properties file, i.e. orangebeard.properties.
When no configuration is explicitly provided by a listener, the client will default to configuration from
orangebeard.properties or environment variables.
By default, environment variables take precedence over properties specified in a properties file when both are present:
A configuration object is created in the following order:
- Read the properties file (if present)
- Read environment variables (using . as a separator)
- Read environment variable (using _ as a separator; replaces . with _ in property names)
It is allowed to combine environment and properties.
E.g. endpoint, token, project from environment and testset information from a properties file. This allows for
flexible configuration in your pipelines.
Configuration example
The following example configuration shows how a properties file can be combined with setting environment variables to create a dynamic configuration for your project.
Properties file
orangebeard.endpoint=https://my.orangebeard.app
orangebeard.project=orangebeard
orangebeard.testset=test-results-unittests
orangebeard.attributes=testtype:unit;ci-build;
Environment variables (C#)
Environment.SetEnvironmentVariable("orangebeard.accessToken", Secrets.getAccessToken());
Environment.SetEnvironmentVariable("orangebeard.fileupload.patterns", @".*\.txt;.*\.bat");
Environment.SetEnvironmentVariable("orangebeard.ref.url", $"https://ci-server/build/{buildNumber}");
any combination that leads to at least a configured endpoint, accessToken, project and testset is
considered valid.
Ask Orangebeard