[Buildbot-devel] withproperties or interpolate in ShellCommand

Jürgen Schulz-Brüssel juergen.schulz-bruessel at thinkproject.com
Fri Sep 5 08:29:58 UTC 2014

sorry of getting back on this so late.

> I'm surprised that you got an error about Interpolate when you were
> using WithProperties.

that was obviously misunderstanding. I used to use WithProperties and 
tried Interpolate as well (after upgrading), with the same result.

> I see that you were calling 'self.render', which suggests that this
> 'self.command = ' is not in the step's constructor, but in some method
> that runs later, after the properties have been rendered.

right. My master.cfg looks like this:

someSteps = [
    myStep1(configInfo, someStepConfig),
    myStep2(configInfo, someStepConfig)


self.command is called in myStep1 etc.

>    Most likely what is happening is that  Buildbot is then trying to send the
> command, including the Interpolate instance, to the slave, and Twisted
> is complaining that you're not allowed to send such objects over the
> network.

In this cases I would expect an error in twistd.log -- but nothing was 
showing up there. The error is just shown in the regarding stdio of the 
step in question.

> In order to use renderables like Interpolate, you need to put them in
> place before the step is started, which basically means in the step's
> constructor.
this would mean, that I would pass the information into the call of 
'myStep1' for example? Has this behavior changed (actually 0.8.6 seems 
quite old by now)?

I helped myself by using

revision = self.getProperty('revision') in the start method of the 
subclassed shell command.



think project! International GmbH & Co. KG
Jürgen Schulz-Brüssel

Phone +49 30 92 10 17-83
Fax +49 30 92 10 17-50
juergen.schulz-bruessel at thinkproject.com

Legal information (imprint): www.thinkproject.com/en/info

Rechtliche Informationen zum Absender (Impressum): www.thinkproject.com/de/info

More information about the devel mailing list