Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

How do I set the state of a build result created with "BuildItemFactory.createBuildResult()"?

I've written some Java to create a build result within a specific build definition.  Works OK, however, the newly created build result is created in the 'NOT_STARTED' state, and there doesn't seem to be a 'setBuildState()' method.  How is this accomplished so the build result can be created and set to 'COMPLETED' state?


1 vote


Accepted answer

Permanent link
 You don't set the state explicitly, you move it through the states through the build request service.  So when you call the startBuildWithoutProcess() or the like, it will move the build to RUNNING.  Then when it is complete you call  makeBuildCompleteWithoutProcess or the like to move it to COMPLETE.  So there is no setState, just lifecycle commands from the request service.

~Spencer
Todd Strangio selected this answer as the correct answer

0 votes

Comments

Thanks Spencer, I'm looking into this possibility now. 

Any chance you can provide an example?  I'm not seeing how to move through the process for a build result created using BuildItemFactory.  Thanks in advance.

Take a look at
 ITeamBuildRequestClient.startBuild(IBuildRequestHandle, String[], IProgressMonitor)
 ITeamBuildRequestClient.makeBuildComplete(IBuildResultHandle, boolean,
            String[], IProgressMonitor)

 For marking a build as abandoned
 ITeamBuildRequestClient.makeBuildIncomplete(IBuildResultHandle, String[],
            IProgressMonitor)

The ITeamBuildRequestClient can be obtained from ClientFactory

To mark a build result as 'Complete', I first had to claim it. Thanks Heather!

buildRequestClient.claimRequest(IBuildRequestHandle buildRequestHandle, IBuildEngineHandle buildEngineHandle, java.lang.String[] properties, org.eclipse.core.runtime.IProgressMonitor progressMonitor);


One other answer

Permanent link
Hi Todd,
I have very limited experience with the build api.  I did a little poking around, and it looks like if you use createBuildResult() instead of createBuildResultContribution(), you can call result.setStatus().  I'm not sure if that will work for your situation, but I thought I'd pass that along in case it helps.

0 votes

Comments

Appreciate the response Lauren, but I am already using createBuildResult(), and I'm trying to set the build state, which is different from the build status

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,953
× 562

Question asked: Jun 17 '13, 9:33 a.m.

Question was seen: 5,657 times

Last updated: Jul 10 '13, 3:29 p.m.

Confirmation Cancel Confirm