我有一些代码在某一点工作但不再有效,这强烈暗示redmine配置以某种方式涉及(我不是redmine管理员),但缺少任何错误消息使得很难确定怎么了。这是代码:
#!/usr/bin/env ruby
require "rubygems"
gem "activeresource", "2.3.14"
require "active_resource"
class Issue < ActiveResource::Base
self.site = "https://redmine.mydomain.com/"
end
Issue.user = "myname"
Issue.password = "mypassword" # Don't hard-code real passwords :-)
issue = Issue.find 19342 # Created manually to avoid messing up real tickets.
field = issue.custom_fields.select { |x| x.name == "Release Number" }.first
issue.notes = "Testing at #{Time.now}"
issue.custom_field_values = { field.id => "Release-1.2.3" }
success = issue.save
puts "field.id: #{field.id}"
puts "success: #{success}"
puts "errors: #{issue.errors.full_messages}"
运行时,输出为:
field.id: 40
success: true
errors: []
到目前为止一直很好,除了当我回到GUI并查看此票证时,“注释”部分已正确更新,但自定义字段未更改。我确实在ActiveRecord代码中添加了一些跟踪,这似乎是发送了我想要的更新,所以我怀疑问题是在服务器端。
顺便说一句,如果您知道使用REST API从Ruby访问Redmine的任何好的集合示例,这些示例也非常有用。我可能只是在错误的地方寻找,但我发现的只是一些微不足道的东西,足以激起一个人的胃口更多,我在redmine网站上看到的文档甚至没有列出所有的可用字段。 (理想情况下,如果示例还指定了哪个版本的redmine可以使用,那将会很不错。)