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.
The tool requires a YAML configuration file to define its settings. You must provide this file when running the tool to specify parameters to process.
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 yaml 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"]Define the Bearer authentication token in the configuration file as follows
token : "your-codebeamer-Bearer-token"Note:
- If
--cb-useror--cb-passis given together with a Bearer token (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
.netrcfile in the user's home directory. - If value of root in config file is
https://codebeamer.bmwgroup.net, then value of machine in .netrc will becodebeamer.bmwgroup.net.
machine your.codebeamer.url
login your_username
password your_password
Here is an example of a 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 of a configuration file:
schema: "Activity", // Specifies schema
refs : ["cb-fieldname1", "cb-fieldname2"] // Specifies referencesIf an invalid schema is provided, the tool will raise an exception. Supported schema values are Activity, Implementation, and Requirement.
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 ID OR a codebeamer query string (cbQL query) (using
--import-query- accepts the query ID as well as query string)
-
Configure the 'refs' upstream reference (this parameter is optional)
-
Additionally, you can specify the schema and references:
-
Specify the schema of the trace to be generated (optional, defaults to "Requirement"). You can set it in the configuration file.
-
Configure the 'refs' upstream reference (optional).
-
For example:
python lobster_codebeamer.py --config codebeamer-config.yamlThis 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