Ticket #56: customprops_trigger.diff
| File customprops_trigger.diff, 2.9 KB (added by redsymbol, 2 years ago) |
|---|
-
status/web/builder.py
134 134 Custom properties can be passed from the web form. To do 135 135 this, subclass this class, overriding the force() method. You 136 136 can then determine the properties (usually from form values, 137 by inspecting req.args), then pass ingthem to this superclass137 by inspecting req.args), then pass them to this superclass 138 138 force method. 139 139 140 140 @param custom_props: Custom properties to set on build -
steps/trigger.py
47 47 self.step_status.setText(["interrupted"]) 48 48 49 49 def start(self): 50 custom_props = {} 50 51 self.running = True 51 52 ss = self.build.getSourceStamp() 52 53 if self.updateSourceStamp: 53 54 ss = SourceStamp(ss.branch, self.build.getProperty('got_revision'), ss.patch) 55 custom_props = self.build.getCustomProperties() 54 56 # (is there an easier way to find the BuildMaster?) 55 57 all_schedulers = self.build.builder.botmaster.parent.allSchedulers() 56 58 all_schedulers = dict([(sch.name, sch) for sch in all_schedulers]) … … 64 66 if all_schedulers.has_key(scheduler): 65 67 sch = all_schedulers[scheduler] 66 68 if isinstance(sch, Triggerable): 67 dl.append(sch.trigger(ss ))69 dl.append(sch.trigger(ss, custom_props)) 68 70 triggered_schedulers.append(scheduler) 69 71 else: 70 72 unknown_schedulers.append(scheduler) -
scheduler.py
705 705 def getPendingBuildTimes(self): 706 706 return [] 707 707 708 def trigger(self, ss ):708 def trigger(self, ss, custom_props={}): 709 709 """ 710 710 Trigger this scheduler. Returns a deferred that will fire when the buildset 711 711 is finished. 712 712 """ 713 bs = buildset.BuildSet(self.builderNames, ss )713 bs = buildset.BuildSet(self.builderNames, ss, custom_props=custom_props) 714 714 d = bs.waitUntilFinished() 715 715 self.submit(bs) 716 716 return d -
process/base.py
206 206 properties can live.""" 207 207 self.build_status.setProperty(propname, value) 208 208 209 def getCustomProperties(self): 210 return self.custom_properties 211 209 212 def getProperty(self, propname): 210 213 return self.build_status.properties[propname] 211 214 212 213 215 def allChanges(self): 214 216 return self.source.changes 215 217
![[Buildbot Logo]](/trac/chrome/site/header-text-transparent.png)