Stop starting. Start finishing.
- David J. Anderson.

In this article we'll be looking into:

1. How to Configure Deployments (Deployment Frequency)

2. How to Configure Hotfix Deployments (Change Failure Rate)
3. Common Questions

Deployments

Step 1: Go to Settings

Click on the 'Settings' tab in the left sidebar to open up Haystack settings.

Step 2: Go to Settings > Deployment

Click on 'Deployment' in the left sidebar.

Step 3: Select the method you want to track for Deployment

Click on the first dropdown. There are 4 options you can choose to calculate Deployment Frequency.


Option 1: git tag

Any commit that has been tagged by git tag or Github Releases will be counted as a single deployment.

We recommend teams to use git tags because it allows CI tools, deployment automation tools, and manual entering, granting different teams with different processes having a standardized method.


Option 2: merged into branch

Any pull request with the HEAD set as X will be counted as a single deployment.

ex: "master", "release", etc.

Option 3: containing title branch
Any pull request where the pull request title contains set as X will be counted as a single deployment.

ex: "Release", "deployment", etc.

Option 4: containing label

Any pull request which has label X will be counted as a single deployment.

ex: "release", "deployment", etc.


Option 5: your custom method
If non of the options above fits your deployment process, let us know about your process so that we can add them. You can contact us from the chatbot or [email protected]

Step 4: That's it!

The changes might take a few minutes to calculate. Go back to deployments page and see your organization's deployment frequency!

Hotfix Deployments

Step 1: Go to Settings

Click on the 'Settings' tab in the left sidebar to open up Haystack settings.

Step 2: Go to Settings > Deployment

Click on 'Deployment' in the left sidebar.

Step 3: Select the method you want to track for Hotfix Deployment

Click on the first dropdown. There are 2 options you can choose to calculate Change Failure Rate.

Option 1: containing title branch
Any pull request where the pull request title contains set as X will be counted as a single hotfix deployment.

ex: "hotfix", "rollback", "revert" etc.

Most common terms used by engineers are "Hotfix", "hotfix", "Fix", "fix", "Rollback", "rollback", "Revert", "revert", "Bug", "bug".

Note that Haystack does exact string matching.

Option 2: containing label

Any pull request which has label X will be counted as a single deployment.

ex: "release", "rollback", "revert" etc.


Option 3: your custom method
If non of the options above fits your deployment process, let us know about your process so that we can add them. You can contact us from the chatbot or [email protected]

Step 4: That's it!

The changes might take a few minutes to calculate. Go back to deployments page scroll down and see your organization's Change Failure Rate!

Common Questions

Does Haystack support different processes for different Repositories?

Yes, you can track each repositories' Deployment Frequency and Change Failure using different rules. All you need to do is (1) expand Advanced Settings (2) click on the "Manage" button for the repository you want to configure (3) Set your rules!

How do I select multiple terms in Pull Request Title?

Haystack supports multiple terms only for Change Failure Rate. Note that you'll need to press enter after each term.

What are the best practices for tracking Change Failure Rate?

The goal of tracking Change Failure Rate is to see the quality of the releases. The ideal calculation would be either through CI or manually tagging each hotfix Pull Request.

If your team has less than 50 releases per 6 months, we recommend manually adding labels, and creating a process for tagging hotfix releases.

If your processes are more frequent and more complex, we recommend using proxy calculation methods to see the trend of Release Quality. This can be achieved by checking terms in pull request title like "bug". The calculation doesn't necessarily need to be 100% accurate. As long as you can find common terms that your engineers are using, it'll give you an idea of the Release Quality, and spur conversations about it.

If you require further assistance, contact [email protected] or chat to us through the chatbot. We have helped 100+ engineering leaders track these data, and would be happy to share our expertise.

Did this answer your question?