显示:通过 API 添加新的发布版本

Jira: Add new Released Version via API

我们正尝试在我们的发布过程中自动执行此任务,以便我们的脚本在 Jira 中添加新的发布版本。然后它将遍历此版本中具有 'shipped' 的 jira 问题列表,并使用我们刚刚添加的发布版本标记它们。

我似乎找不到任何通过 REST API 在 Jira [项目 > 发布] 中添加新发布版本的示例。

能否分享一下您是如何处理这个问题的?

可能是这样的:

  • 创建新版本:POST /version

    • 您还必须指定版本所属的项目

    • 这也会使版本显示在 项目 -> 发布 页面

  • 搜索已解决的问题,这样您就有了他们的问题键:POST /search

    • 也许您也可以通过其他方式获取此列表,即。从你的版本控制系统
  • 用新版本更新这些问题的 fixVersion/PUT issue/{issueIdOrKey}

  • 发布你的版本:PUT /version/{id}

    • 在请求正文中指定 releaseDate 并将 released 设置为 true

使用 ruby 和 httparty 通过 Jira API 代码片段添加新的发布版本。

 require 'httparty'

 def self.create_version(version)
    create_version_url = "https://jira2.server.com/rest/api/2/version"

    @result = HTTParty.post(create_version_url,
       :basic_auth => {:username => 'user', :password => 'password'},
       :body => { :description => '',
                  :name => version,
                  :archived => false,
                  :released => true,
                  #:releaseDate => "2016-07-06",
                  :userReleaseDate => "6/Jul/2017",
                  :project => "project_name",
                  :projectId => "10102"
                }.to_json,
       :headers => { 'Content-Type' => 'application/json' })
   puts @result
 end

设置jira问题的固定版本:

def self.set_issue_fixedVersion(ticket,fixedVersion)       
   edit_issue_url = "https://jira2.<server>.com/rest/api/2/issue/#{ticket}"

   @result = HTTParty.put(edit_issue_url,
   :basic_auth => {:username => 'user', :password => 'password'},
   :body => { "fields" => { "fixVersions"=> [{"name" => #{fixedVersion}}]}}.to_json,
   :headers => { 'Content-Type' => 'application/json' })
   puts @result
end