Настройка репозитория bitbucket для активации конвейеров

У меня есть несколько репозиториев в проекте BitBucket. Я хочу автоматически создать репозиторий bitbucket и включить конвейеры (настройка конфигурации конвейера должна быть простой, с добавлением файла bitbucket-pipelines.yml). Как я могу это сделать с помощью REST API?


person ori silberberg    schedule 02.07.2017    source источник


Ответы (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
comment
Включает ли автоматическое добавление файла bitbucket-pipelines.yml в исходный код? Разве его не нужно включать? - person Mektoub; 06.09.2017
comment
Я нашел запрос на включение конвейера 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
comment
Да, для использования конечной точки конвейера сначала необходимо включить надстройку конвейера. - person Oluwafemi Sule; 06.09.2017
comment
@Mektoub, вы можете отредактировать ответ, указав информацию для включения конвейера - person Oluwafemi Sule; 06.09.2017
comment
Этот ответ устарел. Вы должны использовать конечную точку 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
comment
Похоже, Bitbucket обновил свои ссылки на остальные API, так что принятый ответ больше не действителен. Этот ответ на данный момент самый последний. - person user1655072; 06.06.2019