如何使用 Cucumber JSON 将文件添加到 'Evidance' Multipart into jenkinsci/xray-connector-plugin

How to add file to the 'Evidance' using Cucumber JSON Multipart into the jenkinsci/xray-connector-plugin

我想将文件添加到 Evidence 以执行新的测试。

如何使用 Cucumber JSON Multipart 将文件上传到 Evidance 输入?

Xray 插件回购:jenkinsci/xray-connector-plugin

有我的多部分JSON:

{
  "fields": {
    "project": {
      "key": "${projectKey}"
    },
    "summary": "Test Execution for Cucumber results (Generated by job: ${BUILD_TAG})",
    "description": "Test Execution for Cucumber results (Generated by job: ${BUILD_TAG})",
    "issuetype": {
      "id": "12453"
    }
  },
  "xrayFields": {
    "testPlanKey": "${testPlanKey}",
    "environments": [
      "${env}"
    ]
  }
}

我应该添加什么 json 来将文件上传到 Evidence input

Cucumber JSON 多部分端点(与其他端点类似)不提供明确指定该字段的方法。 Xray JSON 格式(以及标准或多部分端点)将允许您指定该信息;但是,如果您想上传 Cucumber 相关结果,这种格式并不是最合适的格式。

您有两个选择,因为在这种情况下我想我们可以排除使用 Xray JSON 格式: a) 使用 Cucumber JSON(标准端点或多部分端点)并利用 Xray 可以处理附件(即屏幕截图)这一事实,您可以将其嵌入到黄瓜步骤实现中(请参阅 example on Xray docs 它所在的位置简要提到它)。您应该查看 cucumber 的 API 以了解如何根据 API 完成此操作。 正如我们所说,在 Java 中,我认为你必须在钩子中做 + 类似这样的事情

 scenario.attach(data, "image/png", "My screenshot"); 

例子here.

b) 您可以使用您当前的方法,然后使用 GraphQL 更新相应测试的证据 运行。这将很难实现,因为您需要知道测试执行问题密钥,然后是它的 id,然后使用正确的 GraphQL 请求更新该测试执行中特定测试 运行 的证据...这是虽然不是微不足道的。