Once the GitHub integration with Enzyme is active, then GitHub Pull Requests can be linked directly to Design Outputs in Enzyme's Design Control module. This ensures that each code release to production can be traced to the Design History File (DHF) within Enzyme.
Not setup yet?
Check out this article: How do I setup the GitHub integration?
There are two ways to utilize the GitHub integration:
- Protected Branches (Recommended)
- Pull Request Linking & Tagging
Both options are valid, but protected branches is recommended as it allows quality engineering to ensure the Design History File (DHF) is updated before software being released to production.
- From the GitHub integrations panel, select "Edit"
2. Next, specify the branch that is deployed to production and that should be protected (often "master") and the Design Output (in Enzyme) it should be associated with.
3. In GitHub when a Pull Request is made to the protected branch, you should now see the Enzyme integration indicating a check is pending while the DO-1 in Enzyme is waiting for review by a Design Assurance Engineer.
A link to the Pull Request is traced to the Design Output in Enzyme.
4. When the Design Output is added to a change request and routed for approval, the check will clear in GitHub and the Pull Request can be merged.
The process will re-trigger automatically for subsequent Pull Requests.
Pull Request Linking & Tagging
There are 2 ways of linking Pull Requests to Design Outputs.
Linking from a Pull Request
In the Design Control module in Enzyme look up the Design Output # you want to trace the pull request to. Place the identifier of the Design Output (i.e. DO-1) in the pull request message in the following format:
PRODUCTSHORTCODE/DO-1. The product short code can be found from the edit product name menu in the Product Switcher.
You can also create tracings to from the Design Output to the Requirement it satisfies automatically by providing a similarly formatted Requirment ID;
PRODUCTSHORTCODE/REQ-# provide reference to an existing requirement card.
The pull request will have something like this:
And the resulting Design Out put card will look something like this:
What happens when Pull Requests change?
If you change the references in a pull request, Enzyme will update the Design Control cards. Unlinking removed references and updating it with the new references.
Linking from within Enzyme User Interface
The second method is of linking Pull Requests to Design Outputs is manual. First, open a Design Output card in Enzyme. Then click Link to GitHub PR.
- Choose the repository that contains the pull request you want to link to.
- Then choose the pull request you would like to link.
- Now your Pull Request is linked to the Design Output.
The purpose of either method is to provide traceability between design elements and the code that implements them.
Enzyme does not import code into the system, it just creates the linkage to GitHub as the source of truth. Enzyme is concerned only with the traceability between the design history and the system of record for code (GitHub).
Note the following table is for detailed debugging scenarios and is unnecessary for basic usage: