48 lines
2 KiB
Ruby
48 lines
2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
PRODUCT_ANALYTICS_CHANGED_FILES_MESSAGE = <<~MSG
|
|
For the following files, a review from the [Data team and Product Analytics team](https://gitlab.com/groups/gitlab-org/growth/product_analytics/engineers/-/group_members?with_inherited_permissions=exclude) is recommended
|
|
Please check the ~"product analytics(telemetry)" [guide](https://docs.gitlab.com/ee/development/product_analytics/usage_ping.html) and reach out to %<product_analytics_engineers_group>s group for a review.
|
|
|
|
|
|
%<changed_files>s
|
|
|
|
MSG
|
|
|
|
UPDATE_METRICS_DEFINITIONS_MESSAGE = <<~MSG
|
|
When adding, changing, or updating metrics, please update the [Event dictionary Usage Ping table](https://docs.gitlab.com/ee/development/product_analytics/event_dictionary.html#usage-ping).
|
|
|
|
MSG
|
|
|
|
PRODUCT_ANALYTICS_ENGINEERS_GROUP = '@gitlab-org/growth/product_analytics/engineers'
|
|
|
|
tracking_files = [
|
|
'lib/gitlab/tracking.rb',
|
|
'spec/lib/gitlab/tracking_spec.rb',
|
|
'app/helpers/tracking_helper.rb',
|
|
'spec/helpers/tracking_helper_spec.rb',
|
|
'app/assets/javascripts/tracking.js',
|
|
'spec/frontend/tracking_spec.js'
|
|
]
|
|
|
|
usage_data_changed_files = helper.changed_files(/usage_data/)
|
|
snowplow_events_changed_files = git.modified_files & tracking_files
|
|
|
|
changed_files = (usage_data_changed_files + snowplow_events_changed_files)
|
|
|
|
if changed_files.any?
|
|
|
|
mention = if helper.draft_mr?
|
|
"`#{PRODUCT_ANALYTICS_ENGINEERS_GROUP}`"
|
|
else
|
|
PRODUCT_ANALYTICS_ENGINEERS_GROUP
|
|
end
|
|
|
|
warn format(PRODUCT_ANALYTICS_CHANGED_FILES_MESSAGE, changed_files: helper.markdown_list(changed_files), product_analytics_engineers_group: mention)
|
|
warn format(UPDATE_METRICS_DEFINITIONS_MESSAGE) unless helper.changed_files(/usage_ping\.md/).any?
|
|
|
|
product_analytics_labels = ['product analytics(telemetry)']
|
|
product_analytics_labels << 'product analytics(telemetry)::review pending' unless helper.mr_has_labels?('product analytics(telemetry)::reviewed')
|
|
|
|
markdown(helper.prepare_labels_for_mr(product_analytics_labels))
|
|
end
|