Class: GitlabQuality::TestTooling::Report::GroupIssues::IssueCreator

Inherits:
IssueBase
  • Object
show all
Defined in:
lib/gitlab_quality/test_tooling/report/group_issues/issue_creator.rb

Constant Summary collapse

GROUPED_ISSUE_LABELS =
Set.new(%w[test failure::test-environment automation:bot-authored type::maintenance]).freeze

Instance Method Summary collapse

Constructor Details

#initialize(client, options = {}) ⇒ IssueCreator

Returns a new instance of IssueCreator.



10
11
12
13
# File 'lib/gitlab_quality/test_tooling/report/group_issues/issue_creator.rb', line 10

def initialize(client, options = {})
  super
  @formatter = IssueFormatter.new
end

Instance Method Details

#create_new_issue(grouped_failure) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/gitlab_quality/test_tooling/report/group_issues/issue_creator.rb', line 15

def create_new_issue(grouped_failure)
  title = @formatter.generate_issue_title(grouped_failure)
  description = @formatter.generate_issue_description(grouped_failure, @options)
  labels = GROUPED_ISSUE_LABELS

  Runtime::Logger.info "Creating new grouped issue: #{title} (#{grouped_failure[:failures].size} failures)"

  create_issue(
    title: title,
    description: description,
    labels: labels,
    failures: grouped_failure[:failures]
  )
end