gpt4 book ai didi

python - BuildBot - 可以进行动态 repo 结账吗?

转载 作者:太空宇宙 更新时间:2023-11-03 21:06:30 26 4
gpt4 key购买 nike

我的目标是设置一个构建机器人,监听来自 github 服务器的 Webhooks,然后通过通用 make all 命令构建 Webhook 中列出的存储库。

我遇到的问题是它出现在构建步骤中,我需要提前指定 github 存储库,即

factory.addStep(
steps.GitHub(
repourl= "github.<domain>.com/<user>/<repo>/",
mode='full',
method='clobber'
)
)

理想情况下,我希望能够从 http 请求中获取存储库 URL(显然在盲目运行代码之前验证它),然后检查它。像这样的东西:

factory.addStep(
steps.GitHub(
repourl= request["repo_url"],
mode='full',
method='clobber'
)
)

这在 buildbot 框架中可能吗?任何要查看的提示或附加文档将不胜感激!

最佳答案

只是为了防止其他人遇到这个问题,我发现了两个潜在的解决方案。首先,webhook 中有一个未记录的选项,它允许将所有 HTTP 请求信息添加到属性对象中:

'www' : { 
...
"change_hook_dialects" : {'github': {"github_property_whitelist": "*"}},
...
}

然后,您就可以访问调度程序/构建器阶段中的所有 http 请求信息。然后,您还可以使用 util 属性在 build_steps 阶段获取属性信息,即

factory.addStep(
steps.GitHub(
repourl= util.Property('repository'),
mode='full',
method='clobber',
submodules=True
)
)

关于python - BuildBot - 可以进行动态 repo 结账吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55363555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com