如何将 Icescrum 与 Dashing(小部件)一起使用?

How to use Icescrum with Dashing (widget)?

我正在尝试在 Dashing 上创建一个小部件,它将从 Icescrum 中提取数据并更新特定的小部件。

问题是我找到了关于如何对 jira 进行编程的信息,所以我一直试图弄乱它以使其与 icescrum 一起工作,但没有运气。

我试过这个:

require "uri"
require "net/http"
require "json"



SCHEDULER.every '2s', :first_in => 0 do |job|
 uri = URI.parse("http://website.ca:8080/icescrum")
 http = Net::HTTP.new(uri.host, uri.port)
 req = Net::HTTP::Get.new("uri.request_uri")
 req.basic_auth username, password
 response = http.request(req)
 issuesinProgress = JSON.parse(response.body)["total"]  
 send_event('synergy', value: issuesinProgress)
end

但是我得到了这个错误:

scheduler caught exception:
undefined local variable or method `username' for main:Object
/home/administrator/dashboard/jobs/sample.rb:27:in `block in <top (required)>'
/var/lib/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:in `call'
/var/lib/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:in `trigger_block'
/var/lib/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:204:in `block in trigger'
/var/lib/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in `call'
/var/lib/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in `block in trigger_job'

您的代码有一行:

req.basic_auth username, password

需要两个变量,"username" 和 "password",但看起来都没有在您的代码中定义,在这里。如果它们未定义,您将收到一个看起来非常像您所收到的错误。

所以最后我只使用了一个 cURL 函数来获取信息。如果其他人需要它,我会把它留在这里。它还将结果发送到 xml 文件(如果您不想要,则只需删除最后一部分)

.rb 文件:

%x{curl -v -H "Content-Type: application/xml" -X POST --data "@filename.xml" -u username:password http://website.ca:8080/icescrum/ --output result.xml}

记得用您的链接更改这些虚拟名称:

  • filename.xml
  • 用户名
  • 密码
  • website.ca:8080/icescrum/
  • result.xml

此处还提供了小部件的完整设置: https://github.com/Flash-Dash/Icescrum-widget