Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在buildbot 1.2.0中取消生成请求_Python_Continuous Integration_Buildbot - Fatal编程技术网

Python 在buildbot 1.2.0中取消生成请求

Python 在buildbot 1.2.0中取消生成请求,python,continuous-integration,buildbot,Python,Continuous Integration,Buildbot,为了使用buildbot根据事件的状态触发不同的操作(启动、检查、停止)和取消生成请求(基于文件实现threading.event接口),我们使用了buildbot.plugins.util.BuilderConfig()的nextBuild属性: 因此,根据操作(启动、停止、检查)和事件状态,我们将使用cancelBuildRequest取消所有请求: def handle_property_action_for_next_build(event, _, requests): acti

为了使用buildbot根据事件的状态触发不同的操作(启动、检查、停止)和取消生成请求(基于文件实现threading.event接口),我们使用了buildbot.plugins.util.BuilderConfig()的nextBuild属性:

因此,根据操作(启动、停止、检查)和事件状态,我们将使用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方法在一段时间前被删除:

因此,问题是如何使用buildbot 1.2.0取消构建请求

它不需要位于nextBuild属性中,而是位于以下位置:

  • 获取当前行动
  • 可以传递自定义事件
  • 您可以取消生成请求
  • 使用数据api:

    request.master.data.control(“取消”,
    (“buildrequests”,request.id))
    

    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()