Sha256: f476fc5088a471c8cc020769cde5d2a7decb6e25a21d346e4bec1fe172f4acd1

Contents?: true

Size: 1.57 KB

Versions: 2

Compression:

Stored size: 1.57 KB

Contents

module Git
  module Whistles
    class Jira
      attr_reader :username, :password, :site

      def initialize
        get_config
      end

      def get_client(opts = {})
        options = {
          username: @username,
          password: @password,
          site: @site,
          context_path: '',
          auth_type: :basic,
          read_timeout: 120
        }

        options.merge!(opts)

        JIRA::Client.new(options)
      end

      def get_config
        @username = `git config jira.username`.strip
        if username.empty?
          puts Term::ANSIColor.yellow %Q{
            Your branch appears to have a issue ID,
            but I don't know your JIRA username!
            Please set it with:
            $ git config [--global] jira.username <username>
          }
          raise "Aborting."
        end

        @password = `git config jira.password`.strip
        if password.empty?
          puts Term::ANSIColor.yellow %Q{
            Your branch appears to have a issue ID,
            but I don't know your JIRA password!
            Please set it with:
            $ git config [--global] jira.password <password>
          }
          raise "Aborting."
        end

        @site = `git config jira.site`.strip
        if site.empty?
          puts Term::ANSIColor.yellow %Q{
            Your branch appears to have a issue ID,
            but I don't know your JIRA site!
            Please set it with:
            $ git config [--global] jira.site <https://mydomain.atlassian.net>
          }
          raise "Aborting."
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
git-whistles-1.4 lib/git-whistles/jira.rb
git-whistles-1.3 lib/git-whistles/jira.rb