Skip to content

[RUN ALL RSPEC] [RUN AS-IF-FOSS] Add collected_data_categories to usage ping payload

What does this MR do?

Related to #333680 (closed) and #335330 (closed)

It adds new metric taht reports which metrics data categories were included in give Service Ping payload.

Data categories are permitted according to following rules:

  1. If single users consent is required User.single_user&.requires_usage_stats_consent? == true send no data
  2. For a free user, when License.current is blank when usage ping enabled send: Standard, Subscription, Optional, and Operational metrics
  3. For a free user, when License.current is blank when usage ping is disabled don't send any data
  4. For a customer, when License.current is not blank. When usage ping enabled and operational data enabled(License.current.usage_ping? ==. true) send: Standard, Subscription, Optional, and Operational metrics
  5. For a customer, when License.current is not blank. When usage ping enabled and operational data disabled(License.current.usage_ping? == false) send: Standard, Subscription, Operational and Optional metrics. (License.current.usage_ping? is customer_service_enabled?.)
  6. For a customer, when License.current is not blank. When usage ping disabled and operational data enabled(License.current.usage_ping? ==. true) send: Standard, Subscription, and Operational metrics
  7. For a customer, when License.current is not blank. When usage ping disabled and operational data disabled(License.current.usage_ping? == false) don't send any data.

Notes

Table with all scenarios here #333681 (closed)

There is an improvement to rename Licese.usage_ping? to License.customer_service_enabled?

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Alina Mihaila

Merge request reports