Sha256: 19a77199e8fdf36400cf1c830158b838bef59e916a1e63f45add5c44ec2f27cf

Contents?: true

Size: 1.31 KB

Versions: 10

Compression:

Stored size: 1.31 KB

Contents

# frozen_string_literal: true

require_relative 'base'

module Gitlab
  module Triage
    module Action
      class Summarize < Base
        class Dry < Summarize
          private

          def perform
            puts "The following issue would be created for the rule **#{policy.name}**:\n\n"
            puts ">>>"
            puts "* Title: #{issue.title}"
            puts "* Description: #{issue.description}"
            puts ">>>"
          end
        end

        def act
          perform if issue.valid?
        end

        private

        def perform
          network.post_api(post_issue_url, post_issue_body)
        end

        def issue
          @issue ||= policy.build_issue
        end

        def post_issue_url
          # POST /projects/:id/issues
          # https://docs.gitlab.com/ee/api/issues.html#new-issue
          post_url = UrlBuilders::UrlBuilder.new(
            network_options: network.options,
            source_id: network.options.source_id,
            resource_type: 'issues'
          ).build

          puts Gitlab::Triage::UI.debug "post_issue_url: #{post_url}" if network.options.debug

          post_url
        end

        def post_issue_body
          {
            title: issue.title,
            description: issue.description
          }
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
gitlab-triage-1.4.2 lib/gitlab/triage/action/summarize.rb
gitlab-triage-1.4.1 lib/gitlab/triage/action/summarize.rb
gitlab-triage-1.4.0 lib/gitlab/triage/action/summarize.rb
gitlab-triage-1.3.0 lib/gitlab/triage/action/summarize.rb
gitlab-triage-1.2.0 lib/gitlab/triage/action/summarize.rb
gitlab-triage-1.1.1 lib/gitlab/triage/action/summarize.rb
gitlab-triage-1.1.0 lib/gitlab/triage/action/summarize.rb
gitlab-triage-1.0.1 lib/gitlab/triage/action/summarize.rb
gitlab-triage-1.0.0 lib/gitlab/triage/action/summarize.rb
gitlab-triage-0.17.0 lib/gitlab/triage/action/summarize.rb