使用RallyAPI将团队成员添加到已经是其他项目成员的用户

使用RallyAPI将团队成员添加到已经是其他项目成员的用户,rally,arrays,java,Rally,Arrays,Java,假设USER1已经是Project1和project2的团队成员。我想让他成为项目3的团队成员。我的代码的以下部分将USER1添加到项目3中,但删除了项目1和项目2中的团队成员 我只想将User1与Project1和project2一起添加到project3中。是否有人可以提供建议 谢谢 JsonArray TeamMemberships = new JsonArray(); // add or remove projects

假设USER1已经是Project1和project2的团队成员。我想让他成为项目3的团队成员。我的代码的以下部分将USER1添加到项目3中,但删除了项目1和项目2中的团队成员

我只想将User1与Project1和project2一起添加到project3中。是否有人可以提供建议

谢谢

                 JsonArray TeamMemberships = new JsonArray();

                // add or remove projects for user

                TeamMemberships.add(projectObj);

                // Setup update fields/values for Team Membership
                JsonObject updateUserTeamMembershipObj = new JsonObject();
                updateUserTeamMembershipObj.add("TeamMemberships", TeamMemberships);

                UpdateRequest updateTeamMembershipsRequest = new UpdateRequest(userRef, updateUserTeamMembershipObj);
                UpdateResponse updateTeamMembershipResponse = restApi.update(updateTeamMembershipsRequest);

这并不特定于java,但通常适用于WS-API v2.0,使用浏览器REST客户端:

如果当前团队成员有两个项目,例如。 {/project/123},{u-ref:/project/456}

使用此端点添加另一个project/project/789:

https://rally1.rallydev.com/slm/webservice/v2.0/user/777/teammemberships/add?key=cb9473f7-.....
和有效载荷:

{
"CollectionItems":[
{"_ref":"/project/789"}
]}

成功更新集合而不删除预先存在的元素,因此看起来不必在CollectionItems中包含{/project/123}、{u ref:/project/456},至少在使用rest客户机时是这样。

我不能使用Java API执行此操作吗?我没有在Java中执行此操作的现成示例,但我在Crome rest client中验证了在CollectionItems中添加新元素不需要包含预先存在的元素。谢谢Nick,我正在尝试使用上面的代码,但当我尝试添加新项目时,它会删除其他项目的团队成员身份。如果有机会,请尝试。谢谢