summaryrefslogtreecommitdiff
path: root/lib/gitlab/ci/pipeline/chain/template_usage.rb
blob: f9b3b6cd6448d2d93e45abd77fc327484c1395ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# frozen_string_literal: true

module Gitlab
  module Ci
    module Pipeline
      module Chain
        class TemplateUsage < Chain::Base
          def perform!
            included_templates.each do |template|
              track_event(template)
            end
          end

          def break?
            false
          end

          private

          def track_event(template)
            Gitlab::UsageDataCounters::CiTemplateUniqueCounter
              .track_unique_project_event(project: pipeline.project, template: template, config_source: pipeline.config_source, user: current_user)
          end

          def included_templates
            command.yaml_processor_result.included_templates
          end
        end
      end
    end
  end
end