繁体   English   中英

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

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

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

{"errorMessages":[],"errors":{"versions":"需要影响版本/s。"}}

我有以下代码:

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;
}

请协助。 我遇到了这个链接,但对我不起作用

我遇到了同样的问题,给出的答案(即使提供了链接)对我没有多大帮助。 我尝试了各种变体,最后这段JSON将受影响的项目版本更改为“版本 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 <version>Version 2.0.0</version>进行查询。

有“编辑发行”的要求的几个例子在这里

您想发送一个包含以下内容的 json:

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

在您的代码中,您将密钥“版本”用于“修复版本”和“受影响的版本”,这将不起作用。 此外,您不必使用额外的“affectsVersion”或“fixVersion”键。

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

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

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'}] })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM