The Lightweight Open BMW Software Traceability Evidence Report allows you to demonstrate software traceability and requirements coverage, which is essential for meeting standards such as ISO 26262.
This package contains a tool to interface with the proprietary requirements management tool Codebeamer.
lobster-codebeamer
: Extract requirements from codebeamer.
This tool works with an optional config file. It allows to configure the following features:
Codebeamer items can reference other items through
Reference Fields.
This piece of information can be extracted by the tool, and serialized into the
LOBSTER output file.
It only needs to know which fields to take into account.
Following the LOBSTER JSON schema, the item references will be added to the
refs
property of the LOBSTER item.
Accordingly, the configuration parameter to specify the codebeamer field names
is called refs
, too.
It can contain a single field name, or a list of field names.
Field IDs cannot be used, only the field names.
Examples:
{
"refs" : "cb-fieldname"
}
or
{
"refs" : ["cb-fieldname"]
}
or
{
"refs" : ["cb-fieldname1", "cb-fieldname2"]
}
It is also possible to define the Bearer authentication token in the configuration file:
{
"token" : "your-codebeamer-Bearer-token"
}
Note:
- The Bearer authentication token can also be provided as a command line
argument (use
--cb-token=your-codebeamer-Bearer-token
). - If the token is provided in the configuration file and as command line argument, then the configuration file takes precedence.
- If
--cb-user
or--cb-pass
is given together with a Bearer token (either as a command line argument or through the configuration file), then the Bearer authentication method is used, and the username and/or password are ignored. - If neither a token nor a username or password are given, then the tool tries
to read the username and password from the
.netrc
file in the user's home directory.
Here is an example configuration file:
{
"refs" : ["derived from", "satisfied by"],
"token" : "SomeTokenStringABC123"
}
Is it also possible to define the codebeamer token in this file:
{
"refs" : "cb-fieldname",
"token" : "your cb-token"
}
You can also specify the type of schema for the resulting output file. The supported values for the schema field are:
- Activity: Sets the schema to lobster-act-trace.
- Implementation: Sets the schema to lobster-imp-trace.
- Requirement: Sets the schema to lobster-req-trace.
If the schema is not specified, the tool will default to Requirement, and the schema lobster-req-trace will be used.
Here is an example configuration file:
{
"schema": "Activity", // Specifies schema
"refs": ["cb-fieldname1", "cb-fieldname2"] // Specifies references
}
If an invalid schema is provided, the tool will raise an exception. Supported schema values are Activity, Implementation, and Requirement.
When running the tool, you can specify the --schema
flag via the command line or set the schema
value in
the configuration file. The configuration file will always take precedence over the command-line argument.
--schema
: The schema to be used (optional, overrides the config file if provided).- Configuration file: If
schema
is defined in the configuration file, it will be used, and the command-line--schema
argument will be ignored.
There are two ways you can use this tool:
-
Download all requirements mentioned by another lobster trace (this way you do not get a completeness check) (using
--import-tagged
) -
Download all requirements generated by a saved codebeamer query (using
--import-query
)
-
Configure the 'refs' upstream reference (this argument is optional) (using
--config
) -
Additionally, you can specify the schema and references:
- Specify the schema of trace to be generated (optional, defaults to Requirement) using the --schema argument, or configure it in the config file.
- Configure the 'refs' upstream reference (optional) using --config or specify directly via command line.
-
For example:
codepython lobster_codebeamer.py --config lobster-codebeamer-config.json --schema "Activity" --references "custom_ref_1
This command will extract activity traces (lobster-act-trace) with specified references.
The key limitation is item text, which is currently not imported. However, we do plan to also import item text eventually.
The copyright holder of LOBSTER is the Bayerische Motoren Werke Aktiengesellschaft (BMW AG), and LOBSTER is published under the GNU Affero General Public License, Version 3.
This tool has no actual dependency on, or with, Codebeamer. It just talks the API as described here: https://codebeamer.com/cb/wiki/117612