如何从Buildbot捕获构建号

Riz*_*ero 1 python buildbot

是否有可以访问的变量master.cfg?文档根本不清楚.谢谢.

Nat*_*ate 6

有获取此信息的方法,但这取决于您尝试访问它的位置.

如果你在一个doStepIf过程(作为参数addStep),这应该工作:

def insideDoStepIf(step):
    step.build.getStatus().number
Run Code Online (Sandbox Code Playgroud)

如果您尝试按照下一个构建号对构建器进行优先级排序,则应该可以:

def buildPriority(buildmaster, builders):
    builders.sort(key=lambda b: b.builder_status.nextBuildNumber)
    return builders

c['prioritizeBuilders'] = buildPriority
Run Code Online (Sandbox Code Playgroud)

如果您有兴趣在a messageFormatter函数中获取此信息buildbot.status.mail.MailNotifier,请尝试以下操作:

def formatEmail(mode, name, build, results, master_status):
    for builder in master_status.getBuilderNames():
        master_status.getBuilder(builder).nextBuildNumber
Run Code Online (Sandbox Code Playgroud)

我没有测试这些,我不能保证api在这里是稳定的,但我相信这些应该可以工作,因为我在做我自己的一些类似的东西(尽管,不是内置编号) Master.cfg中