Baselines and versioning
Baselines can be useful:
- When you want to test a specific version of your software, 
- When requirements evolve after you've raised a JIRA issue, 
- To keep track of requirements that have been approved by a client. 
Do you want a full tutorial on baselines in less than 5 minutes? Check out our video:
ℹ️ Before you continue, we’ve noticed some users were trying to use the Baselines on their Cloud instance, please remember that this is a feature on Data Center only. We have replaced those by Variants in the Cloud. Check this guide if you are not sure on which you are.
How to create a baseline
A baseline contains a snapshot of your requirements at a given point of time. There are 4 ways to create a baseline:
| 1. Create a baseline from a search
 | |
| 2. Create a baseline from the baseline screen
 | 
 | 
| 3. Create a baseline from the Create buttonThis option will create a ‘Baseline page’ for you, here is more information: Baselines and versioning | How does the Baseline page work ? . | |
| 4. Create an "instant" baseline
 An "instant" baseline has no associated page. Requirements are frozen immediately. | 
Options to capture a baseline
| When freezing requirements, you can configure your baseline. These options are only available with the creation of baseline from the search, or the baseline tab. | 
 | 
| 
 This will let you choose if you want to freeze only the requirement selected, or extend your baseline to the full search, or the whole space | 
 | 
| 
 Freezing requirements now will create the baseline automatically. Freezing requirements later will save that baseline and you’ll be able to freeze it whenever. See more info here: Baselines and versioning | How does the Baseline page work ? . | 
 | 
| 
 When creating a baseline, you will get the opportunity to create a report page on the content of that baseline. It will contain a button to freeze baselines, a report of pages impacted, and the list of all baselined requirements and their contents. | |
| 
 This feature will let you update the requirement links version to Jira issues. Here is more information: Update Jira links . | 
 | 
| 
 If your selected requirements have parent dependencies, we’ll also suggest to freeze the dependencies. | 
How does the Baseline page work ?
Baseline are often intellectually related to a release, to a test suite, etc. This is the reason why we've tied baselines to a summary page, so you can type any information relevant to this baseline, in free text:
| Don't forget to freeze requirementsCreating a page about the baseline is not enough. You must click "Freeze requirements". This allows you to enter details about a baseline before it is entirely ready. | 
Baselines are represented by a page, with the exception of "instant" baselines (created using the byline icon):
- To rename a baseline, rename the page, 
- To delete a baseline, go to the "Baselines" tab to display the list of baselines, and click "Delete" for this baseline. It requires to be space administrator. 
- To "refreeze" a baseline, which means to reuse an existing baseline and add/remove/update requirements, go to the "Baselines" tab and click Refreeze. 
- The number of a baseline is sequential, autonumbered and fixed. 
How to compare versions and baselines ?
Use the on-page baseline comparator
| On a page, click the "byline", select "Compare" and choose a baseline to compare to. It will highlight modified requirements. | 
 | 
Use the "diff" tool
Starting from the "Baselines" tab, choose two baselines and press "Generate diff".
See more information here: Diff - Track modifications between baselines .
How to link to baselined requirements ?
In Confluence
| 
 | 
In Jira
It is possible to link an issue to a specific baseline of the requirements. So your client can't change requirements on the fly!
| In the JIRA link dialog, go to 'Criteria' and add the baseline you want. Tip: If the baselines don't show, it means your administrator has not configured the link between the project and the Confluence space. Once you've ticked a baseline, search for requirements. Only those in the baseline will display. | |
| Tip: If you want to upgrade from one version to the next, click “Action" → “show baseline upgrades/downgrade”. | 
DOs and DON'Ts
| Do ✅ | Don't ❌ | 
|---|---|
| From JIRA, only use links to baselines when you are writing a bug report about a specific version. | From JIRA, don't link to the baseline of a requirement that you want to evolve. It is much easier to just link to whatever | 
| Don't generally include images in requirements. They are not saved the same way as text is. | |
| Don't put too much text in a requirement. Only the title should be in the requirement; the user can click to view it in context. After all, Requirement Yogi is designed around the idea of using pages to describe requirements. | 
"Security" of your baselines
- Baselines can be deleted. 
- The text and properties of requirements in a baseline can't be modified. However, related requirements that are not included in a baseline can change (obviously). 
- Confluence allows changing the history of pages for space administrators and plugins. Although we won't change the text of requirements, when a user clicks on a requirement to view the page history, Confluence may display the closest version of the page. 
- Images aren't included in the copy of the requirements. Only the URL of the image is. Always take into account that someone may have changed the image underneath a URL, and therefore make the requirement display something else than it was supposed to. It is generally not a good practice to put images in requirements. 
Frequently Asked Questions
How to see all your baselines ?
| 
 | |
| 
 | 
How to search for requirements that have been modified since a baseline ?
There is a special query term: isModified('1')
- It shows all requirements which have been modified since "baseline 1"; 
- You can as well write the name of the baseline: - isModified("Release 1.3c")