У меня есть несколько репозиториев в проекте BitBucket. Я хочу автоматически создать репозиторий bitbucket и включить конвейеры (настройка конфигурации конвейера должна быть простой, с добавлением файла bitbucket-pipelines.yml). Как я могу это сделать с помощью REST API?
Настройка репозитория bitbucket для активации конвейеров
Ответы (2)
Вы можете создать репозиторий с помощью BitBucket REST API.
$ curl -X POST -H "Content-Type: application/json" -d '{
"scm": "git",
"project": {
"key": "Foo"
}
}' https://api.bitbucket.org/2.0/repositories/<username>/<repo_slug>
Вставьте свой bitbucket-pipelines.yml
в созданное вами репо.
curl https://api.bitbucket.org/2.0/repositories/<username>/<slug>/src \
-F /[email protected]
Затем включите конвейер для вашего проекта.
curl -X PUT -is -u '<username>:<password>' -H 'Content-Type: application/json' \
https://api.bitbucket.org/2.0/repositories/<username>/<repo_slug> \
-d '{
"enabled": true,
"type": "repository_pipelines_configuration"
}'
Наконец, вы можете запустить конвейер для такой ветви.
$ curl -X POST -is -u <username>:<password> \
-H 'Content-Type: application/json' \
https://api.bitbucket.org/2.0/repositories/<username>/<slug>/pipelines/ \
-d '
{
"target": {
"ref_type": "branch",
"type": "pipeline_ref_target",
"ref_name": "<branch_name>"
}
}'
Использованная литература:
person
Oluwafemi Sule
schedule
29.07.2017
Включает ли автоматическое добавление файла bitbucket-pipelines.yml в исходный код? Разве его не нужно включать?
- person Mektoub; 06.09.2017
Я нашел запрос на включение конвейера curl -X PUT -is -u '‹username›: ‹password›' \ -H 'Content-Type: application / json' \ api.bitbucket.org/2.0/repositories/ ‹name / ‹project› / \ -d '{enabled: true, введите: repository_pipelines_configuration} '
- person Mektoub; 06.09.2017
Да, для использования конечной точки конвейера сначала необходимо включить надстройку конвейера.
- person Oluwafemi Sule; 06.09.2017
@Mektoub, вы можете отредактировать ответ, указав информацию для включения конвейера
- person Oluwafemi Sule; 06.09.2017
Этот ответ устарел. Вы должны использовать конечную точку pipelines_config для включения конвейеров, как в ответе Михала Тененберга.
- person Scott; 05.12.2019
Другой ответ на запрос «включить конвейеры» у меня не сработал. Вот что сработало:
curl -X PUT -is -u '<username>:<password>' -H 'Content-Type: application/json' \
https://api.bitbucket.org/2.0/repositories/<username>/<slug>/pipelines_config \
-d '{
"enabled": true
}'
person
Michal Tenenberg
schedule
17.01.2018
Похоже, Bitbucket обновил свои ссылки на остальные API, так что принятый ответ больше не действителен. Этот ответ на данный момент самый последний.
- person user1655072; 06.06.2019