You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Rally REST API为测试用例结果附加ZIP文件?

用Rally REST API给测试用例结果附加ZIP文件

嘿,恭喜你已经搞定图片附件的部分啦!其实给测试用例结果加ZIP文件的思路和图片基本一致,只是需要针对压缩包的类型做几个小调整,我来给你梳理下具体步骤:


核心逻辑回顾

Rally的附件系统是通过两个实体协作完成的:AttachmentContent(存储文件的二进制内容和类型)和Attachment(关联到具体的测试用例结果,记录文件名等信息)。这和你处理图片时的流程是一样的,只是MIME类型和文件名后缀要对应ZIP格式。


具体实现步骤(以Java为例)

  • 读取ZIP文件为字节数组
    先把本地的ZIP文件转换成Base64编码的字符串,这一步和处理图片完全相同:

    byte[] zipFileBytes = Files.readAllBytes(Paths.get("/path/to/your/archive.zip"));
    String base64Content = Base64.getEncoder().encodeToString(zipFileBytes);
    
  • 创建AttachmentContent实体
    这里关键是把ContentType设置为application/zip,告诉Rally这是一个压缩包:

    AttachmentContent content = new AttachmentContent();
    content.setContent(base64Content);
    content.setContentType("application/zip");
    
    CreateRequest contentReq = new CreateRequest("AttachmentContent", content.getJsonObject());
    CreateResponse contentRes = restApi.create(contentReq);
    String contentRef = contentRes.getObject().get("_ref").toString();
    
  • 创建Attachment关联到测试用例结果
    最后把附件关联到你的测试用例结果上,注意文件名要带.zip后缀:

    Attachment attachment = new Attachment();
    attachment.setName("测试报告归档.zip"); // 自定义你的ZIP文件名
    attachment.setContent(contentRef); // 关联刚才创建的AttachmentContent
    attachment.setArtifact("testcaseresult/12345"); // 替换成你的测试用例结果的_ref
    
    CreateRequest attachReq = new CreateRequest("Attachment", attachment.getJsonObject());
    restApi.create(attachReq);
    

几个要注意的细节

  • 权限检查:确保你的API账号拥有测试用例结果的编辑权限,以及创建附件的权限,不然会返回权限错误。
  • 文件大小限制:Rally默认对单个附件有大小限制(一般是50MB),如果你的ZIP包太大,可以考虑拆分压缩包,或者联系Rally管理员调整系统配置。
  • MIME类型:一定要用application/zip,如果用错类型,Rally可能无法正确识别和预览这个附件。

内容的提问来源于stack exchange,提问作者Vishu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:09:17