我正在创建 Rally Build Records 作为 TeamCity 到 Rally 集成的一部分,但在将 Build 与 ChangeSet 相关联时遇到了问题。
我找到了一组与特定条件匹配的相关变更集,并将它们放在一个字符串数组中。然后我创建一个 JsonArray 对象,将这些“_ref”字符串作为 JsonPrimatives 添加到数组中,将数组添加到我创建的 Json 对象并将其添加到 Rally。
但是,发生的情况是创建了构建,但结果有一个空的 Changeset 数组。
我尝试在 createRequest 中包含变更集并执行 updateRequest,但在这两种情况下,响应都是成功的,没有报告错误或警告,并且 Changeset 数组返回为 null,重新查询按预期显示所有其他数据,但是changeSet 数组为空。
这是代码。
JsonObject obj = new JsonObject();
obj.addProperty("Workspace", def.getWorkspace().getRef());
obj.addProperty("Duration",1.05);
obj.addProperty("Message", "Master 4683 Success");
obj.addProperty("Start", isoFormat.format(new Date()));
obj.addProperty("Status","SUCCESS");
obj.addProperty("Number","4683");
obj.addProperty("Uri", "http://");
obj.addProperty("BuildDefinition",def.getRef());
// changeSets is a ArrayList<String> of "_ref" strings of VALID changesets references.
if (changeSets != null && changeSets.size() > 0) {
JsonArray changeSetList = new JsonArray();
for (String id : changeSets) {
changeSetList.add(new JsonPrimitive(id));
}
obj.add("Changesets", changeSetList);
}
String ref = connector.Create("Build",obj);
connector.Delete(ref, null);
有任何想法吗?