Планировщик JIRA-Ruby_ поймал исключение: JIRA::HTTPError

Я работаю над отслеживанием ошибок jira с помощью dashing и jira-ruby. Я нашел этот виджет, но у меня возникла ошибка, когда я начал лихо.

Здесь ошибка:

scheduler caught exception:   
JIRA::HTTPError
    /Users/users/.rvm/gems/ruby-2.2.4/gems/jira-ruby-1.1.3/lib/jira/request_client.rb:16:in `request'
    /Users/users/.rvm/gems/ruby-2.2.4/gems/jira-ruby-1.1.3/lib/jira/client.rb:213:in `request'
    /Users/users/.rvm/gems/ruby-2.2.4/gems/jira-ruby-1.1.3/lib/jira/client.rb:191:in `get'
    /Users/users/.rvm/gems/ruby-2.2.4/gems/jira-ruby-1.1.3/lib/jira/resource/issue.rb:64:in `jql'
    /Users/users/.rvm/gems/ruby-2.2.4/gems/jira-ruby-1.1.3/lib/jira/base_factory.rb:33:in `block (2 levels) in delegate_to_target_class'
    /Users/users/../../jobs/jira_number_of_issues_in_filter.rb:35:in `block (2 levels) in <top (required)>'
    /Users/users/.rvm/gems/ruby-2.2.4/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:in `call'
    /Users/users/.rvm/gems/ruby-2.2.4/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:in `trigger_block'
    /Users/users/.rvm/gems/ruby-2.2.4/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:204:in `block in trigger'
    /Users/users/.rvm/gems/ruby-2.2.4/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in `call'
    /Users/users/.rvm/gems/ruby-2.2.4/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in `block in trigger_job'

Вот копия моего ruby-скрипта:

require 'jira-ruby'

JIRA_PROPS = {
  'url' => URI.parse("https://SSSSS/test"),
  'username' => 'user',
  'password' => 'passwd',
  'proxy_address' => nil,
  'proxy_port' => nil
}

# the key of this mapping must be a unique identifier for your jql filter, the according value must be the jql filter id or filter name that is used in Jira
filter_mapping = {
  'filter1' => { :filter => 'aaaa' }
}

jira_options = {
  :username => JIRA_PROPS['username'],
  :password => JIRA_PROPS['password'],
  :context_path => JIRA_PROPS['url'].path,
  :site => JIRA_PROPS['url'].scheme + "://" + JIRA_PROPS['url'].host,
  :auth_type => :basic,
  :ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE,
  :use_ssl => JIRA_PROPS['url'].scheme == 'https' ? true : false,
  :proxy_address => JIRA_PROPS['proxy_address'],
  :proxy_port => JIRA_PROPS['proxy_port']
}

last_issues = Hash.new(0)

filter_mapping.each do |filter_data_id, filter|
  SCHEDULER.every '10s', :first_in => 0 do |job|
    last_number_issues = last_issues['filter_data_id']
    client = JIRA::Client.new(jira_options)
    puts client.Issue
    //next line is the 35, where the error comes
    current_number_issues = client.Issue.jql("filter in (\"#{filter[:filter]}\")").size <-- line 35
    last_issues['filter_data_id'] = current_number_issues
    send_event(filter_data_id, { current: current_number_issues, last: last_number_issues})
  end
end

Я только что добавил гем jira-ruby в свой Gemfile.

любые идеи по этому вопросу.


person emoleumassi    schedule 16.11.2016    source источник
comment
Хотя вряд ли виновник, у вас опечатка. Здесь пропущена конечная кавычка: 'password' =› 'passwd,   -  person HeyZiko    schedule 17.11.2016
comment
Кроме того, можете ли вы определить номера строк в вашем ruby? Ошибка находится в строке 35, которая выглядит как строка после puts client.Issue... но это трудно подтвердить.   -  person HeyZiko    schedule 17.11.2016
comment
@HeyZiko, ошибка в строке 35, вы правы. Как я могу их исправить? Проблем с цитатой пароля нет, просто ошибка при редактировании вопроса   -  person emoleumassi    schedule 17.11.2016
comment
Хорошо, поэтому, пожалуйста, отредактируйте вопрос, чтобы показать, какая строка имеет номер 35, и каков вывод puts client.Issue   -  person HeyZiko    schedule 17.11.2016
comment
Что произойдет, если вы измените это (\#{filter[:filter]}\) на это ('#{filter[:filter]}'), просто чтобы упростить строку? Также, пожалуйста, покажите вывод puts filter и puts filter[:filter]   -  person HeyZiko    schedule 17.11.2016
comment
я изменил запрос и получил ту же ошибку. Вывод помещает filter {:filter=›aaaa}, помещает filter[:filter] = aaaa   -  person emoleumassi    schedule 17.11.2016
comment
Можете ли вы попробовать следующее? (1) Убедитесь, что JQL работает в пользовательском интерфейсе должным образом. (2) Убедитесь, что JQL работает при прямом вызове rest-api в JIRA — либо с помощью (postman)[getpostman .com/] или на основе (в этом примере)[github.com /sumoheavy/jira-ruby/issues/177]   -  person HeyZiko    schedule 17.11.2016


Ответы (1)


Я бы попробовал переместить ваш URL-адрес непосредственно в определение сайта в значении jira_options.

:site => 'http://jira.company.com:8080', 

Также попробуйте протестировать библиотеку JIRA-ruby вне тире, чтобы определить параметры подключения.

По моему опыту, использование прямого/непрокси-URL работает лучше. YMMV.

person jbrass    schedule 29.04.2019