continuum-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "SlinnHawkins, Jon (ELS-CAM)" <J.SlinnHawk...@elsevier.com>
Subject RE: Triggering a build via xmlrpc and getting the result for that build
Date Tue, 13 May 2008 12:05:51 GMT
The problem is that when you issue the buildProject() cmd Continuum has
to interpret it and then trigger a build.  At the point where
buildProject returns there may not (or may) be a buildId.

Once the build has triggered the buildId will be created and associated
with the project.

Wait a couple of seconds for the build to start then issue the
getLatestBuildResult cmd.




-----Original Message-----
From: Och, Andrew Daniel (TSG-GDCC-SH) [mailto:andrew.och@hp.com] 
Sent: 13 May 2008 12:20
To: users@continuum.apache.org
Subject: RE: Triggering a build via xmlrpc and getting the result for
that build 

Dear Jon

Thanks for the help and suggestion.

Unfortunately getting the getLatestBuildResult(projectSummaryID) doesn't
really work as can be seen by the code snippet and the resulting error
(only when I start with an empty build history):

client.buildProject(projectSummaryID, buildDefinition.getId());
BuildResult buildResult = client.getLatestBuildResult(projectSummaryID);

[INFO][2008-05-13 19:02:05][com.chn.hp.test.client.ContClient]- BUILD
Project ID: 2 buildDefId: 18
org.apache.xmlrpc.XmlRpcException: Failed to invoke method
getLatestBuildResult in class
org.apache.maven.continuum.xmlrpc.server.ContinuumServiceImpl: null
        at
org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStream
Transport.java:184)
        at
org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamT
ransport.java:145)
        at
org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTrans
port.java:94)
        at
org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHtt
pTransport.java:39)
        at
org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.j
ava:53)
        at
org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
        at
org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
        at
org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
        at
org.apache.xmlrpc.client.util.ClientFactory$1.invoke(ClientFactory.java:
104)
        at $Proxy0.getLatestBuildResult(Unknown Source)
        at
org.apache.maven.continuum.xmlrpc.client.ContinuumXmlRpcClient.getLatest
BuildResult(ContinuumXmlRpcClient.java:333)
        at com.chn.hp.test.client.ContClient.<init>(ContClient.java:150)
        at com.chn.hp.test.client.ContClient.main(ContClient.java:171)

If there are builds in the history, getting the latest build actually
retrieves the previous build result! I believe that this is because
buildProject() puts the build into a queue. When my next line of code
executes retrieving the latest build result (the one I just triggered
has not had time to be created).

Hence I am trying to link the specific buildProject(...) trigger to a
specific BuildResult. ie something like below would be nice:

int buildID = client.buildProject(projectSummaryID, buildDefinitionID);
BuildResult buildResult = client.getBuildResult(projectSummaryID,
buildID);

BUT the xmlrpc api does not offer the above, or does it, or does it
offer a different way?

Best regards
Andrew Och

-----Original Message-----
From: SlinnHawkins, Jon (ELS-CAM) [mailto:J.SlinnHawkins@elsevier.com]
Sent: Tuesday, May 13, 2008 6:26 PM
To: users@continuum.apache.org
Subject: RE: Triggering a build via xmlrpc and getting the result for
that build

Hi Andrew,

Use

client.getLatestBuildResult(projectSummaryId);

http://continuum.apache.org/ref/latest/apidocs/org/apache/maven/continuu
m/xmlrpc/client/ContinuumXmlRpcClient.html

Cheers

Jon



-----Original Message-----
From: Och, Andrew Daniel (TSG-GDCC-SH) [mailto:andrew.och@hp.com]
Sent: 13 May 2008 11:06
To: users@continuum.apache.org
Subject: Triggering a build via xmlrpc and getting the result for that
build


I would like to trigger a build via xmlrpc and get the result for that
build.

I use the buildProject(...) method to start a forced build. However how
do I get the associated buildID from this trigger? Without a buildId I
can not get a BuildResult for the build I triggered.

client.buildProject(projectSummaryID, buildDefinitionID); BuildResult
buildResult = client.getBuildResult(projectSummaryID,
buildID);

Am I being stupid? Have I missed something?

Best Regards
Andrew Och


This email is from Elsevier Limited, a company registered in England and Wales with company
number 1982084,
whose registered office is The Boulevard, Langford Lane, Kidlington, Oxford, OX5 1GB, United
Kingdom.


Mime
View raw message