使用 REST API 将 JUnit XML 导入 XRay - "Error assembling issue data: Field customfield_11033" 的根本原因是什么
Importing JUnit XML to XRay using the REST API - What is the Root Cause for "Error assembling issue data: Field customfield_11033"
根据文档 here,我尝试使用以下输入导入我的 JUnit 样式 XML。
curl -H "Content-Type:multipart/form-data" -u mylogin:mypassword -F "file=@output.xml" https://jira.nayax.com/rest/raven/1.0/import/execution/junit?projectKey=TGP&testPlanKey=TGP-25
我使用 this article 使用 XSL 将我的 JMeter XML 输出转换为 JUnit 格式。
输出为:
output.xml
<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
<testsuite>
<testcase classname="httpSample" name="Set-up Thread: loginUsingPOST - Success"
time="0.789">
<failure/>
</testcase>
<testcase classname="httpSample" name="Set-up Thread: loginUsingPOST - Success"
time="0.631">
<failure/>
</testcase>
<testcase classname="httpSample" name="createNfcTagUsingPOST - Success" time="0.282">
<failure/>
</testcase>
<testcase classname="httpSample" name="handleTagDetectionUsingPOST - Success"
time="0.311">
<failure>Test failed: code expected to equal /
****** received : [[[403]]]
****** comparison: [[[200]]]
/</failure>
</testcase>
</testsuite>
</testsuites>
输出是:
{"error":"Error assembling issue data: Field \u0027customfield_11033\u0027 cannot be set. It is not on the appropriate screen, or unknown."}
当我在浏览器的源代码视图中查看 Test 时,该字段被隐藏:
<input type="hidden" name="raven-testexec-test-customFieldId"
id="raven-testexec-test-customFieldId" value="customfield_11033"/>
<input type="hidden" name="raven-testexec-test-customFieldEnv"
id="raven-testexec-test-customFieldEnv" value="14440"/>
<input type="hidden" name="raven-testexec-test-revisionId"
id="raven-testexec-test-revisionId" value="customfield_14437"/>
<input type="hidden" name="raven-testexec-test-sprintId"
id="raven-testexec-test-sprintId" value="customfield_10105"/>
所以看起来 customfield_11033
被映射到这个叫做 customFieldId
的通用事物,就像(例如)customfield_10105
被映射到 sprintId
.
这是什么customFieldId
??
当我在源代码视图中查看 测试执行 并搜索 11033
时,我根本没有找到它。
其他尝试
我在 XRay 的文档站点上读到可以使用 API 的 multipart
变体,但我得到了相同的结果。
curl -H "Content-Type:multipart/form-data" -u login:password -F "file=@output.xml" -F "testInfo=@test_info.json" -F "info=@test_exec_info.json" https://jira.nayax.com/rest/raven/1.0/import/execution/junit/multipart
test_exec_info.json
{
"fields": {
"project": {
"id": "12900",
"key": "TGP"
},
"summary": "Test Execution for JMeter Execution"
}
}
test_info.json
{
"fields": {
"description": "Game Activation"
}
}
这里是一个测试问题的截图
这里是项目中测试执行的截图
我没有 Jira 布局的管理员权限。 Jira 管理员为我的导入工作公开此自定义字段是必要条件吗?
首先,感谢您提供所有这些信息。经过一些调查,您的 Jira 管理员似乎没有正确配置问题屏幕,或者可能已经更改了它们。
给您错误的自定义字段是“测试与测试执行的关联”。该字段需要位于测试执行问题的编辑屏幕上(即根据您的项目配置,位于用于测试执行的编辑屏幕上)。
如果您的 Jira 管理员需要帮助,请随时联系 Xray support team。
根据文档 here,我尝试使用以下输入导入我的 JUnit 样式 XML。 curl -H "Content-Type:multipart/form-data" -u mylogin:mypassword -F "file=@output.xml" https://jira.nayax.com/rest/raven/1.0/import/execution/junit?projectKey=TGP&testPlanKey=TGP-25
我使用 this article 使用 XSL 将我的 JMeter XML 输出转换为 JUnit 格式。 输出为:
output.xml
<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
<testsuite>
<testcase classname="httpSample" name="Set-up Thread: loginUsingPOST - Success"
time="0.789">
<failure/>
</testcase>
<testcase classname="httpSample" name="Set-up Thread: loginUsingPOST - Success"
time="0.631">
<failure/>
</testcase>
<testcase classname="httpSample" name="createNfcTagUsingPOST - Success" time="0.282">
<failure/>
</testcase>
<testcase classname="httpSample" name="handleTagDetectionUsingPOST - Success"
time="0.311">
<failure>Test failed: code expected to equal /
****** received : [[[403]]]
****** comparison: [[[200]]]
/</failure>
</testcase>
</testsuite>
</testsuites>
输出是:
{"error":"Error assembling issue data: Field \u0027customfield_11033\u0027 cannot be set. It is not on the appropriate screen, or unknown."}
当我在浏览器的源代码视图中查看 Test 时,该字段被隐藏:
<input type="hidden" name="raven-testexec-test-customFieldId"
id="raven-testexec-test-customFieldId" value="customfield_11033"/>
<input type="hidden" name="raven-testexec-test-customFieldEnv"
id="raven-testexec-test-customFieldEnv" value="14440"/>
<input type="hidden" name="raven-testexec-test-revisionId"
id="raven-testexec-test-revisionId" value="customfield_14437"/>
<input type="hidden" name="raven-testexec-test-sprintId"
id="raven-testexec-test-sprintId" value="customfield_10105"/>
所以看起来 customfield_11033
被映射到这个叫做 customFieldId
的通用事物,就像(例如)customfield_10105
被映射到 sprintId
.
这是什么customFieldId
??
当我在源代码视图中查看 测试执行 并搜索 11033
时,我根本没有找到它。
其他尝试
我在 XRay 的文档站点上读到可以使用 API 的 multipart
变体,但我得到了相同的结果。
curl -H "Content-Type:multipart/form-data" -u login:password -F "file=@output.xml" -F "testInfo=@test_info.json" -F "info=@test_exec_info.json" https://jira.nayax.com/rest/raven/1.0/import/execution/junit/multipart
test_exec_info.json
{
"fields": {
"project": {
"id": "12900",
"key": "TGP"
},
"summary": "Test Execution for JMeter Execution"
}
}
test_info.json
{
"fields": {
"description": "Game Activation"
}
}
这里是一个测试问题的截图
这里是项目中测试执行的截图
我没有 Jira 布局的管理员权限。 Jira 管理员为我的导入工作公开此自定义字段是必要条件吗?
首先,感谢您提供所有这些信息。经过一些调查,您的 Jira 管理员似乎没有正确配置问题屏幕,或者可能已经更改了它们。 给您错误的自定义字段是“测试与测试执行的关联”。该字段需要位于测试执行问题的编辑屏幕上(即根据您的项目配置,位于用于测试执行的编辑屏幕上)。
如果您的 Jira 管理员需要帮助,请随时联系 Xray support team。