在buildbot 1.2.0中取消构建请求

时间:2018-06-22 14:46:14

标签: python continuous-integration buildbot

为了基于事件的状态(基于文件实现threading.Event接口)使用buildbot触发不同的操作(开始,检查,停止)和取消构建请求,我们使用了buildbot的nextBuild属性.plugins.util.BuilderConfig(http://docs.buildbot.net/latest/manual/cfg-builders.html):

BuilderConfig(...,
              nextBuild=partial(handle_property_action_for_next_build, event))

因此,根据操作(开始,停止,检查)和事件的状态,我们将使用cancelBuildRequest取消所有请求:

def handle_property_action_for_next_build(event, _, requests):
    action = requests[0].properties.getProperty("action")

    if action == "start":
        if event.is_set():
            for request in requests:
                request.cancelBuildRequest()
            return None
        else:
            event.set()

但是前一段时间删除了cancelBuildRequest方法:https://github.com/buildbot/buildbot/commit/95b90d7f0881dd4891199b16be9af2242729081b#diff-e55fd5266f5206f358b6da23011e41f0

所以问题是我如何用buildbot 1.2.0取消构建请求?

它不需要在nextBuild属性中,而在我拥有的地方:

  1. 访问当前操作
  2. 可以通过自定义事件
  3. 可以取消构建请求

1 个答案:

答案 0 :(得分:0)

使用数据API:

request.master.data.control("cancel", ("buildrequests", request.id))