Class: GitlabQuality::TestTooling::FeatureReadiness::Evaluation

Inherits:
Object
  • Object
show all
Includes:
Concerns::IssueConcern, Concerns::WorkItemConcern
Defined in:
lib/gitlab_quality/test_tooling/feature_readiness/evaluation.rb

Constant Summary collapse

BASE_LABELS_FOR_SEARCH =
['feature::addition'].freeze
FEATURE_READINESS_TRACKING_LABEL =
'tracking feature readiness'

Instance Method Summary collapse

Constructor Details

#initialize(token:, project: nil, group: nil, limit_to_minutes: nil, epic_iid: nil, search_labels: [], dry_run: false) ⇒ Evaluation

Returns a new instance of Evaluation.



15
16
17
18
19
20
21
22
23
24
# File 'lib/gitlab_quality/test_tooling/feature_readiness/evaluation.rb', line 15

def initialize(token:, project: nil, group: nil, limit_to_minutes: nil, epic_iid: nil, search_labels: [], dry_run: false)
  @token = token
  @project = "#{group}/#{project}"
  @group = group
  @limit_to_minutes = limit_to_minutes
  @epic_iid = epic_iid
  @search_labels = search_labels
  @dry_run = dry_run
  @analyzed_epics = []
end

Instance Method Details

#invoke!Object



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/gitlab_quality/test_tooling/feature_readiness/evaluation.rb', line 26

def invoke!
  created_after = utc_time_minus_mins(limit_to_minutes)

  epics = fetch_epics(created_after)

  epics.compact.each do |epic|
    @analyzed_epics << process_epic(epic)
  rescue StandardError => e
    puts "ERROR processing epic #{epic[:epic_web_url]} due to: #{e}"
  end

  report_epics(analyzed_epics)
end