我试图使用jira-ruby gem来获取和更改jira票证的状态。 我已阅读this topic并尝试使用此代码:
require 'jira'
require '../lib/credentials'
options = {
:username => $user_jira,
:password => $pwd_jira,
:site => "https://example.atlassian.net",
:context_path => '',
:auth_type => :basic
}
client = JIRA::Client.new(options)
issue = client.Issue.find("AA-1495")
available_transitions = client.Transition.all(:issue => issue)
available_transitions.each {|ea| puts "#{ea.name} (id #{ea.id})" }
我有空输出。然后我在jira-ruby gem中打开transition.rb并添加了
pp path
pp response.body
到“self.all”方法。 然后我重新运行了我的第一个脚本并得到了这个输出:
"https://example.atlassian.net/rest/api/2/issue/16206/transitions"
"{\"expand\":\"transitions\",\"transitions\":[]}"
[Finished in 2.7s]
如果我尝试在浏览器的第一行输出中打开链接,我会获得有效的JSON以及我的jira票证的所有可用转换。所以链接还可以 据我所知,从第二行输出,jira对脚本的响应几乎是空的。
有人有这个问题吗?
答案 0 :(得分:1)
首先,你必须得到你需要通过名字找到的Jira过渡对象:
jira_transition = issue.transitions.find{|jt| jt.name = "transition_name_you_need"}
然后,建立一个新的过渡来做和保存:
transition_to_do = issue.transitions.build transition_to_do.save!("transition" => {"id" => jira_transition.id})
这就是全部;)
希望有所帮助