如何通过 JIRA REST 设置影响版本字段 API - PHP

How to set Affects Version field via JIRA REST API - PHP

我想通过 JIRA REST API 更新影响版本字段。但我收到一个错误:

{"errorMessages":[],"errors":{"versions":"Affects Version/s is required."}}

我有以下代码:

public function requestBug($summary, $components, $affectsVersions, $fixVersions, $assignee, $environment, $description)
{
    $json = Array ( "fields" => Array (
                                        "project" => Array( "id" => 10051),
                                        "summary" => $summary,
                                        "issuetype" => Array ( "name" => "Bug" ),
                                        "components" =>Array(0 => Array("id" => $components)),
                                        "versions" =>Array(0 =>Array("affectsVersion" => $affectsVersions)),
                                        "versions" =>Array(0 =>Array("fixVersion" =>$fixVersions)),
                                        "assignee" => Array("name" => "$assignee"), 
                                        "environment" => "$environment", 
                                        "description" =>$description
                                      )
                 );

    return $json;
}

请协助。我遇到了 this link,但对我不起作用

有几个 "edit issue" 请求的示例 here

您想发送一个 json,其中包含如下内容:

{
    "fields":
    {
        "versions":["1.0.0","1.1.0"],
        "fixVersions":["2.0.0"]
    }
}

在您的代码中,您对 "Fix version(s)" 和 "Affected version(s)" 使用了密钥 "versions",这是行不通的。此外,您不必使用额外的 "affectsVersion" 或 "fixVersion" 键。

您还可以使用此 REST 调用获取有关您可以编辑哪些字段以及它们允许哪些值的更多信息: GET /rest/api/2/issue/{issueIdOrKey}/editmeta

针对您要编辑的问题尝试一下,它应该会让您走上正轨。输出还将显示 "versions" 键对应于 "Affected version(s)" 字段。

我遇到了同样的问题,给出的答案(即使提供了链接)对我帮助不大。我尝试了各种变体,最后这篇 JSON 将受影响的项目版本更改为 "Version 2.0.0":

"versions":
       [
         { "Affects Version/s" : "Version 2.0.0" 
         },
         { "name": "Version 2.0.0" 
         }
       ]

元数据如下所示:

"versions":{"required":true,"schema":
{"type":"array","items":"version","system":"versions"},"name":"Affects Version/s",....

特别令人恼火和不一致的是,JIRA 在 XML 中将相同的字段导出为 <version>Version 2.0.0</version> 并且要使用查询 affectedVersion

from jira import JIRA

auth_jira = JIRA('jira.your-oraganizsation.com', auth=('username', 'password'))

new_issue = auth_jira.create_issue(project='project_name', summary='jira_summary', description='jira_description', issuetype={'name': 'Defect'}, fields={'versions': [{'name': '1.0.0'}, {'name': '18.8.0'}] })