0
我已經有一個方法返回特定回購的分支列表,我想用它來動態生成基於Buildbot的Web UI返回列表的選擇。如何使用Buildbot中的'getChoices'成員函數動態生成選擇?
例如,而不是此靜態列表:
c['schedulers'].append(
schedulers.ForceScheduler(
...,
branch=util.ChoiceStringParameter(
...,
choices=['master', 'branch1', 'branch2', ...],
...
我想的東西動態生成的,像這樣的:
def get_branches():
refs = subprocess.check_output(["git", "ls-remote", "--heads", "[email protected]:foo/bar.git"])
branches = []
for item in refs.split('\n'):
m = re.match(r"^\w+\trefs/heads/(.*$)", item)
if m:
branch = m.group(1)
branches.append(branch)
return branches
c['schedulers'].append(
schedulers.ForceScheduler(
...,
branch=util.ChoiceStringParameter(
...,
choices=get_branches,
...
的Buildbot文件解釋說,它可以通過子類來完成,過度使用'getChoices'成員函數。它還給出了InheritBuildParameter類的源提供的an example,但我不明白如何使用'getChoices'成員函數。
有關這個問題的文檔很少,我不得不問你這個問題!謝謝你在前進:-)