6

我正在尝试使用 Jira-ruby gem ( https://rubygems.org/gems/jira-ruby ) 访问 ruby​​ 中的 jira,但我找不到如何更改转换。我只能使用 REST-api 更改它吗?

有一个过渡类(http://rubydoc.info/gems/jira-ruby/0.1.8/JIRA/Resource/Transition),但我不知道如何处理它。

4

1 回答 1

13

REST API 文档说您发布到以将/issue/{issueIdOrKey}/transitions问题从一种状态转换为另一种状态。

首先获取问题的可用转换:

client = JIRA::Client.new( ... )
issue = client.Issue.find("PROJECT-123")
available_transitions = client.Transition.all(:issue => issue)
available_transitions.each {|ea| puts "#{ea.name} (id #{ea.id})" }

现在您有了可能的转换的名称和 ID。存储您要进行的转换的 id。然后使用它为问题保存一个新的过渡:

transition_id = ...
transition = issue.transitions.build
transition.save!("transition" => {"id" => transition_id})

我不得不检查文档几次以了解预期的有效负载是用于 POST 转换调用,然后使用 Ruby 客户端语法来获取该有效负载。使用net-http-spy之类的工具更容易。

于 2014-04-25T15:36:29.843 回答