33 lines
1.3 KiB
Ruby
33 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
# rubocop:disable Style/SignalException
|
|
|
|
CHANGED_FILES_MESSAGE = <<~MSG
|
|
For the following files, a review from the [Data team and Product Intelligence team](https://gitlab.com/groups/gitlab-org/growth/product-intelligence/engineers/-/group_members?with_inherited_permissions=exclude) is recommended
|
|
Please check the ~"product intelligence" [guide](https://docs.gitlab.com/ee/development/usage_ping.html).
|
|
|
|
|
|
%<changed_files>s
|
|
|
|
MSG
|
|
|
|
UPDATE_DICTIONARY_MESSAGE = <<~MSG
|
|
When adding, changing, or updating metrics, please update the [Metrics Dictionary](https://docs.gitlab.com/ee/development/usage_ping/dictionary.html)
|
|
|
|
```shell
|
|
bundle exec rake gitlab:usage_data:generate_metrics_dictionary
|
|
```
|
|
MSG
|
|
|
|
# exit if not matching files
|
|
matching_changed_files = product_intelligence.matching_changed_files
|
|
return unless matching_changed_files.any?
|
|
|
|
warn format(CHANGED_FILES_MESSAGE, changed_files: helper.markdown_list(matching_changed_files))
|
|
fail format(UPDATE_DICTIONARY_MESSAGE) if product_intelligence.need_dictionary_changes?
|
|
|
|
labels = product_intelligence.missing_labels
|
|
return unless labels.any?
|
|
|
|
gitlab.api.update_merge_request(gitlab.mr_json['project_id'],
|
|
gitlab.mr_json['iid'],
|
|
add_labels: labels)
|