diff --git a/buildbot/clients/debug.py b/buildbot/clients/debug.py
index a73e543..06a116a 100644
|
a
|
b
|
|
| 105 | 105 | if revision == '': |
| 106 | 106 | revision = None |
| 107 | 107 | reason = "debugclient 'Request Build' button pushed" |
| | 108 | custom_props = {} |
| 108 | 109 | d = self.remote.callRemote("requestBuild", |
| 109 | | name, reason, branch, revision) |
| | 110 | name, reason, branch, revision, custom_props) |
| 110 | 111 | d.addErrback(self.err) |
| 111 | 112 | |
| 112 | 113 | def do_ping(self, widget): |
diff --git a/buildbot/master.py b/buildbot/master.py
index 3787fa9..38b1124 100644
|
a
|
b
|
|
| 227 | 227 | def detached(self, mind): |
| 228 | 228 | pass |
| 229 | 229 | |
| 230 | | def perspective_requestBuild(self, buildername, reason, branch, revision): |
| | 230 | def perspective_requestBuild(self, buildername, reason, branch, revision, custom_props): |
| | 231 | assert isinstance(custom_props, dict), \ |
| | 232 | "custom_props must be a dict (not %r)" % (custom_props,) |
| | 233 | |
| | 234 | # Provide default values for any custom build properties the |
| | 235 | # client did not send. |
| | 236 | for propertyDict in (self.master.customBuildProperties or []): |
| | 237 | custom_props.setdefault(propertyDict['propertyName'], "") |
| | 238 | |
| 231 | 239 | c = interfaces.IControl(self.master) |
| 232 | 240 | bc = c.getBuilder(buildername) |
| 233 | 241 | ss = SourceStamp(branch, revision) |
| 234 | | br = BuildRequest(reason, ss, buildername) |
| | 242 | br = BuildRequest(reason, ss, custom_props, buildername) |
| 235 | 243 | bc.requestBuild(br) |
| 236 | 244 | |
| 237 | 245 | def perspective_pingBuilder(self, buildername): |
diff --git a/buildbot/process/base.py b/buildbot/process/base.py
index 4714c04..4f029cb 100644
|
a
|
b
|
|
| 60 | 60 | # TODO: remove the =None on builderName, it is there so I don't have |
| 61 | 61 | # to change a lot of tests that create BuildRequest objects |
| 62 | 62 | assert interfaces.ISourceStamp(source, None) |
| 63 | | assert custom_props is not None, "custom_props must not be None" |
| | 63 | assert isinstance(custom_props, dict), \ |
| | 64 | "custom_props must be a dict (not %r)" % (custom_props,) |
| 64 | 65 | self.reason = reason |
| 65 | 66 | self.source = source |
| 66 | 67 | self.custom_props = custom_props |