【问题标题】:JIRA-Ruby_ scheduler caught exception: JIRA::HTTPErrorJIRA-Ruby_ 调度程序捕获异常:JIRA::HTTPError
【发布时间】:2017-03-30 18:42:38
【问题描述】:

我正在使用 dashing 和 jira-ruby 监控我的 jira 错误。我找到了这个widget,但是当我开始冲刺时出现了错误。

这里的错误:

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

我刚刚在我的 Gemfile 中添加了 gem 'jira-ruby'。

关于这个问题的任何想法。

【问题讨论】:

  • 虽然不太可能是罪魁祸首,但您有一个错字。你在这里缺少一个结束引号:'password' => 'passwd,
  • 另外,你能识别你的 ruby​​ 中的行号吗?错误在第 35 行,看起来像“puts client.Issue”之后的那一行……但很难确认。
  • @HeyZiko,错误在第 35 行,你说得对。我该如何修复它们?密码引用没有问题,只是问题编辑出错
  • 好的,请编辑问题以显示第 35 行是第 35 行,以及“puts client.Issue”的输出是什么
  • 如果为了简化字符串而将 (\"#{filter[:filter]}\") 更改为 ('#{filter[:filter]}') 会发生什么?另请显示“puts filter”和“puts filter[:filter]”的输出

标签: ruby rubygems jira-rest-api dashing


【解决方案1】:

我会尝试将您的 URL 直接移动到 jira_options 值中的站点定义。

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

还可以尝试在 dashing 之外测试 JIRA-ruby 库以确定您的连接设置。

根据我的经验,使用直接/非代理 URL 效果更好。 YMMV。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-21
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 2011-05-25
    • 1970-01-01
    相关资源
    最近更新 更多