ITeamBuildRequestClient.requestBuild() returns unexpected build result UUID
Hi, I wonder if I've made a programming blunder here. While I can't recreate this problem, a couple of my teammates have run into this problematic behavior: they use a program I've created to submit build requests and the returned IBuildResultHandle's UUID is for a build request that they didn't make--it's for someone else's build. For example, John tries to request a build but gets back the UUID for Derek's build, which is already running. John never sees a new build request for him.
Here is the underlying code, simplified for this form, that I implemented to submit build requests:
teamRepo = TeamPlatform.getTeamRepositoryService().getTeamRepository(paRepo.getRepositoryUri());
ITeamBuildRequestClient buildReqClient = (ITeamBuildRequestClient) teamRepo.getClientLibrary(ITeamBuildRequestClient.class);
IBuildRequest buildRequest = buildReqClient.requestBuild(buildDef, modifiedProps, null, false, true, monitor);
IBuildResultHandle resultHandle = buildRequest.getBuildResult();
String buildResultUUID = resultHandle.getItemId().getUuidValue();
Notice the fourth parameter in ITeamBuildRequestClient.requestBuild(): it is false and represents allowDuplicateRequests. Is this where I am going wrong?
Here is the underlying code, simplified for this form, that I implemented to submit build requests:
teamRepo = TeamPlatform.getTeamRepositoryService().getTeamRepository(paRepo.getRepositoryUri());
ITeamBuildRequestClient buildReqClient = (ITeamBuildRequestClient) teamRepo.getClientLibrary(ITeamBuildRequestClient.class);
IBuildRequest buildRequest = buildReqClient.requestBuild(buildDef, modifiedProps, null, false, true, monitor);
IBuildResultHandle resultHandle = buildRequest.getBuildResult();
String buildResultUUID = resultHandle.getItemId().getUuidValue();
Notice the fourth parameter in ITeamBuildRequestClient.requestBuild(): it is false and represents allowDuplicateRequests. Is this where I am going wrong?