Class: Gitlab::QA::Report::RelateFailureIssue
- Inherits:
-
ReportAsIssue
- Object
- ReportAsIssue
- Gitlab::QA::Report::RelateFailureIssue
- Includes:
- FindSetDri
- Defined in:
- lib/gitlab/qa/report/relate_failure_issue.rb
Overview
Uses the API to create or update GitLab issues with the results of tests from RSpec report files.
Constant Summary collapse
- DEFAULT_MAX_DIFF_RATIO_FOR_DETECTION =
0.15
- SPAM_THRESHOLD_FOR_FAILURE_ISSUES =
3
- FAILURE_STACKTRACE_REGEX =
%r{((.*Failure\/Error:(?<stacktrace>.+))|(?<stacktrace>.+))}m.freeze
- ISSUE_STACKTRACE_REGEX =
/### Stack trace\s*(```)#{FAILURE_STACKTRACE_REGEX}(```)/m.freeze
- FAILED_JOB_DESCRIPTION_REGEX =
%r{First happened in https?:\/\/\S+\.}m.freeze
- FAILED_JOB_NOTE_REGEX =
%r{Failed most recently in \D+ pipeline: https?:\/\/\S+}.freeze
- NEW_ISSUE_LABELS =
Set.new(%w[QA Quality test failure::new priority::2]).freeze
- IGNORE_EXCEPTIONS =
['Net::ReadTimeout'].freeze
- MultipleIssuesFound =
Class.new(StandardError)
Constants inherited from ReportAsIssue
Gitlab::QA::Report::ReportAsIssue::MAX_TITLE_LENGTH
Instance Method Summary collapse
-
#initialize(system_logs: [], max_diff_ratio: DEFAULT_MAX_DIFF_RATIO_FOR_DETECTION, **kwargs) ⇒ RelateFailureIssue
constructor
A new instance of RelateFailureIssue.
Methods included from FindSetDri
Methods inherited from ReportAsIssue
Constructor Details
#initialize(system_logs: [], max_diff_ratio: DEFAULT_MAX_DIFF_RATIO_FOR_DETECTION, **kwargs) ⇒ RelateFailureIssue
Returns a new instance of RelateFailureIssue.
26 27 28 29 30 31 32 |
# File 'lib/gitlab/qa/report/relate_failure_issue.rb', line 26 def initialize(system_logs: [], max_diff_ratio: DEFAULT_MAX_DIFF_RATIO_FOR_DETECTION, **kwargs) super @system_logs = Dir.glob(system_logs) @max_diff_ratio = max_diff_ratio.to_f @issue_type = 'issue' @commented_issue_list = Set.new end |