execute

in lib/release_tools/security/target_issues_processor.rb [8:46]


      def execute
        if security_target_issues.empty?
          logger.info("No target issues found, skipping.")

          return
        end

        logger.info("#{security_target_issues.count} target issues found. They will be evaluated and considered for linking to the patch release tracking issue: #{security_release_tracking_issue.web_url}.")

        security_target_issues.each do |target_issue|
          case [target_issue.ready_to_be_processed?, linked_to_security_tracking_issue?(target_issue)]
          when [true, true]
            logger.info("#{target_issue.web_url} is already linked to the patch release tracking issue and still ready to be processed.")

            nil
          when [false, false]
            logger.info("#{target_issue.web_url} is not ready to be processed or linked to the patch release tracking issue.")

            TargetIssueNotifier.notify(:not_ready, target_issue)
            remove_security_target_label(target_issue)
          when [true, false]
            logger.info("#{target_issue.web_url} is ready to be processed and will be linked to the patch release tracking issue.")

            link(target_issue)
            TargetIssueNotifier.notify(:linked, target_issue)
            SecurityReleaseTrackingIssueNotifier.notify(target_issue)
            ImplementationIssueProcessor.new(target_issue).execute
          when [false, true]
            logger.info("#{target_issue.web_url} will be unlinked from  the patch release tracking issue as it is no longer ready to be processed.")

            unlink(target_issue)
            TargetIssueNotifier.notify(:unlinked, target_issue)
            remove_security_target_label(target_issue)
          end
        end

        update_security_issue_table
      end