【问题标题】:Change status of Jira ticket using jira-ruby使用 jira-ruby 更改 Jira 票证的状态
【发布时间】:2016-07-12 05:22:27
【问题描述】:

我尝试使用 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 对脚本的响应几乎是空的。

有人遇到过这个问题吗?

【问题讨论】:

    标签: ruby jira-rest-api


    【解决方案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})

    仅此而已;)

    希望对你有帮助

    【讨论】:

    • 请检查此URL 它将有助于提高您的内容质量
    猜你喜欢
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    相关资源
    最近更新 更多