0

介绍
假设,如果我在 Jira 中创建一个的测试(让我们命名为 TEST-100),然后我将其推送到 Gitlab 以在 CI 管道中使用它。

现在,如果我将此 TEST-100 移动到 Gitlab 中的文件夹“ Root/Technical ”,则测试也应该移动到 XRAY 测试存储库“ Root/Technical ”。

已经尝试过
我已经尝试按照https://docs.getxray.app/display/XRAY/Test+Repository+-+REST中提到的步骤进行操作,但没有取得太大的成功。我已经将请求发送为

curl -i -H "Content-Type: application/json" -X PUT -u $jira_user:$jira_password --data '{"tests":[{"rank": 1,"id": 29600,"key": "TEST-120","summary": "Test Summary Headline - TEST 100","priority": "Lowest","assignee": "User123","workflowStatus": "ACTIVE","components": [],"testType":"Cucumber"}]}' "https://jiraserverhost.com/rest/raven/1.0/api/testrepository/FP/folders/5/tests"

但收到 HTTP 500 错误

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><status><status-code>500</status-code><message>Unrecognized field "tests" (Class com.xpandit.raven.rest.api.beans.CollectionBean), not marked as ignorable
 at [Source: org.apache.catalina.connector.CoyoteInputStream@240d5c9d; line: 1, column: 11] (through reference chain: com.xpandit.raven.rest.api.beans.CollectionBean["tests"])</message><stack-trace>org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "tests" (Class com.xpandit.raven.rest.api.beans.CollectionBean), not marked as ignorable
 at [Source: org.apache.catalina.connector.CoyoteInputStream@240d5c9d; line: 1, column: 11] (through reference chain: com.xpandit.raven.rest.api.beans.CollectionBean["tests"])
        at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53)
        at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:267)
        at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:673)
        at org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:659)
        at org.codehaus.jackson.map.deser.BeanDeserializer.handleUnknownProperty(BeanDeserializer.java:1365)
        at org.codehaus.jackson.map.deser.BeanDeserializer._handleUnknown(BeanDeserializer.java:725)
        at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:703)

我已经尝试以 Base64 编码发送请求的数据,如下所示,但仍然出现相同的错误

curl -i -H "Content-Type: application/json" -X PUT -u $jira_user:$jira_password --data 'eyJ0ZXN0cyI6W3sicmFuayI6IDEsImlkIjogMjk2MDAsImtleSI6ICJURVNULTEwMCIsInN1bW1hcnkiOiAiVGVzdCBTdW1tYXJ5IEhlYWRsaW5lIC0gVEVTVCAxMDAiLCJwcmlvcml0eSI6ICJMb3dlc3QiLCJhc3NpZ25lZSI6ICJVc2VyMTIzIiwid29ya2Zsb3dTdGF0dXMiOiAiQUNUSVZFIiwiY29tcG9uZW50cyI6IFtdLCJ0ZXN0VHlwZSI6IkN1Y3VtYmVyIn1dfQ==' "https://jiraserverhost.com/rest/raven/1.0/api/testrepository/FP/folders/5/tests"

我怎样才能改变这个?或者
我需要做哪些更改才能使此请求成功?

4

1 回答 1

1

根据您的问题,您似乎认为 GitLab 中的测试组织与 Jira (Xray) 中的测试存储库之间存在关系,但它们是独立的。这意味着 Jira (Xray) 中测试存储库的概念只是组织测试的一种方式,在源代码控制存储库中进行测试的方式独立于该组织。

如果它在 Jira 或源代码中,您需要(在您的策略中)定义什么是主(您将编辑/创建场景的更改源),之后每次您的代码发生更改时,您需要同步支持这些变化,看看那些案例:

  • 掌握 Jira:更改发生在 Jira 中,然后您需要通过 API 将这些更改推送到源代码。
  • 源代码控制大师:代码发生更改,然后您必须通过 API 将这些更改推送到 Jira。

请记住,只有测试规范是同步的(而不是测试路径或它的其他方面)。

尽管如此,我们已经在我们的系统中对该功能提出了建议,如果您认为这是一个可以帮助您的更改,请在此处投票:https ://jira.xpand-it.com/browse/XRAYCLOUD-3673 。

于 2021-05-14T10:09:17.850 回答