如何将 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
我正在尝试在 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