Class: GitlabQuality::TestTooling::FeatureReadiness::AnalyzedItems::AnalyzedEpic
- Inherits:
-
Object
- Object
- GitlabQuality::TestTooling::FeatureReadiness::AnalyzedItems::AnalyzedEpic
- Includes:
- Concerns::WorkItemConcern
- Defined in:
- lib/gitlab_quality/test_tooling/feature_readiness/analyzed_items/analyzed_epic.rb
Constant Summary
Constants included from Concerns::WorkItemConcern
Concerns::WorkItemConcern::OPERATIONAL_READINESS_NOTE_ID, Concerns::WorkItemConcern::OPERATIONAL_READINESS_TRACKING_LABEL
Instance Method Summary collapse
- #analyze ⇒ Object
-
#initialize(epic:, token:, project:, group:, dry_run:) ⇒ AnalyzedEpic
constructor
A new instance of AnalyzedEpic.
- #process_issues(issues) ⇒ Object
- #result ⇒ Object
Methods included from Concerns::WorkItemConcern
#add_labels, #add_operational_readiness_precheck_comment, #existing_note_containing_text, #extract_id_from_gid, #fetch_work_item, #get_id_for_group_label, #get_id_for_label, #get_issue_iids, #get_labels, #has_a_child_epic?, #has_label?, #ids_for_group_labels, #ids_for_labels, #label_gids, #link_operation_readiness_issue, #linked_issue_iids, #note_has_emoji?, #post_comment_about_operation_readiness_issue_created, #work_item_author_id
Constructor Details
#initialize(epic:, token:, project:, group:, dry_run:) ⇒ AnalyzedEpic
Returns a new instance of AnalyzedEpic.
10 11 12 13 14 15 16 17 |
# File 'lib/gitlab_quality/test_tooling/feature_readiness/analyzed_items/analyzed_epic.rb', line 10 def initialize(epic:, token:, project:, group:, dry_run:) @token = token @project = project @group = group @dry_run = dry_run @epic = epic @analyzed_issues = [] end |
Instance Method Details
#analyze ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/gitlab_quality/test_tooling/feature_readiness/analyzed_items/analyzed_epic.rb', line 19 def analyze issue_iids = get_issue_iids(epic, project) return if issue_iids.none? open_issues = fetch_open_issues(issue_iids) puts "\nProcessing epic: #{epic[:webUrl]} with #{open_issues.count} open feature addition issues." process_issues(open_issues) end |
#process_issues(issues) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/gitlab_quality/test_tooling/feature_readiness/analyzed_items/analyzed_epic.rb', line 30 def process_issues(issues) @analyzed_issues.concat( issues.map do |issue| AnalyzedIssue.new(issue: issue, token: token, project: project, group: group, dry_run: dry_run) .tap(&:analyze) .result end ) end |
#result ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/gitlab_quality/test_tooling/feature_readiness/analyzed_items/analyzed_epic.rb', line 40 def result { epic_iid: epic[:iid], epic_id: epic[:id], epic_web_url: epic[:webUrl], issues: analyzed_issues, doc_mrs: doc_mrs, feature_spec_mrs: feature_spec_mrs, e2e_spec_mrs: e2e_spec_mrs, feature_flag_mrs: feature_flag_mrs } end |