Display remaining pipeline minutes & warning in a smarter way
Release notes
As available CI minutes are being consumed, 2 warnings are displayed before they were used up. These warnings could come at confusing points in certain combinations of subscription-provided and additionally purchased minutes. We've cleaned up the warning logic and messaging to clarify those cases.
Problem to solve
A customer internally is reporting that they:
received this …
30% or less Shared Runner Pipeline minutes remaining
[warning][But] I see that we've used a 100% of our regular minutes and 39% of our additional minutes.
Why do we get this message when clearly we still have enough minutes? And it's also the last day of the month.
- calculation: ee/app/models/ci/minutes/quota.rb
- warning triggered: /ee/app/models/ci/minutes/notification.rb#L7-60
If I understand correctly the sum of the monthly and additional minutes is used to calculate the threshold.
Proposal (ideas)
- Customer suggests to: "limit the visibility of this message, perhaps only users with the role owner"
- or "treat both amounts differently. Monthly minutes don't have the same lifetime as the purchased minutes. I think you should check monthly remaining first. Then see if there are purchased minutes in play. If not, calculate monthly % remaining and apply 30% threshold. If so, skip monthly check and calculate purchased % remaining and apply 30% threshold."
- Include the remaining absolute number of minutes in the message, so that users can better judge the warning's merit/impact
- Tweak the
30
% warning preset (maybe to 20?) - Take into account the rate of minute consumption before warning (e.g. if 2 days before the month's end a group hasn't historically come close to 5% remaining minutes, don't warn, or similar logic)
- Indicate the available & used minutes in a more subtle, UX manner. As a dynamic, green-yellow-red-progressing divider line in some CI-related user interface (similar to the repo languages) instead of only the
/usage_quotas#pipelines-quota-tab
. That way, warnings/reminders wouldn't come as a surprise, regardless of the formula or thresholds used.
Intended users
Who will use this feature? If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later.
Personas are described at https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/
User experience goal
The warning should not be displayed if it would worry users unnecessarily.
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.