BuildBot - Возможно ли сделать динамическое оформление репо? - PullRequest
1 голос
/ 26 марта 2019

Моя цель - установить buildbot, который прослушивает webhooks с сервера github, а затем создает репозиторий, указанный в webhook, с помощью общей команды make all.

Проблема, с которой я столкнулся, заключается в том, что она появляется на этапах сборки, мне нужно заранее указать репозиторий github, т.е.

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

Где, в идеале, я бы хотел иметь возможность получить URL репо из http-запроса (очевидно, проверяя его перед слепым запуском кода), а затем проверить его. Что-то вроде:

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

Возможно ли это в фреймворке buildbot? Будем очень благодарны за любые советы или дополнительную документацию!

1 Ответ

0 голосов
/ 27 марта 2019

Просто если кто-нибудь еще сталкивался с этим, я нашел два возможных решения. Во-первых, в webhook есть недокументированная опция, которая позволяет добавить всю информацию HTTP-запроса в объект свойств:

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

Это дает вам доступ ко всей информации http-запроса на этапах планировщика / компоновщика. Затем вы также можете получить информацию о свойствах на этапе build_steps, используя свойства util, т.е.

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