将 bitbucket 存储库配置为 "activate" 管道
Configuring a bitbucket repository to "activate" pipelines
我在一个 BitBucket 项目中有多个存储库。
我希望自动创建一个 bitbucket 存储库,并启用管道(设置管道配置应该很容易,只需推送一个 bitbucket-pipelines.yml 文件)。
如何使用 REST API?
您可以使用 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 /bitbucket-pipelines.yml=@bitbucket-pipelines.yml
然后为您的项目启用管道
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>"
}
}'
参考文献:
另一个答案的 "enable pipelines" 请求对我不起作用。
这是有效的:
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
}'
我在一个 BitBucket 项目中有多个存储库。 我希望自动创建一个 bitbucket 存储库,并启用管道(设置管道配置应该很容易,只需推送一个 bitbucket-pipelines.yml 文件)。 如何使用 REST API?
您可以使用 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 /bitbucket-pipelines.yml=@bitbucket-pipelines.yml
然后为您的项目启用管道
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>"
}
}'
参考文献:
另一个答案的 "enable pipelines" 请求对我不起作用。 这是有效的:
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
}'