仓库
1、获取仓库信息
- 获取仓库信息需要仓库拥有者帐号和仓库名,且该仓库已设置响应事件,未设置响应事件是无法访问的。
-
公共仓库不需要用户授权验证
-
请求方式
GET /api/repos/{owner}/{name}
- 例子
curl -X GET "http://192.168.56.21/api/repos/adminuser/demo"
- 响应
Status: 200 OK
Content-Type: application/json
{
"id": 1,
"owner": "adminuser",
"name": "demo",
"full_name": "adminuser/demo",
"avatar_url": "https://secure.gravatar.com/avatar/0f656b0b09d16bafa95064e7e9bd83bc",
"link_url": "http://192.168.56.21:10080/adminuser/demo",
"scm": "git",
"clone_url": "http://192.168.56.21:10080/adminuser/demo.git",
"default_branch": "master",
"timeout": 60,
"trusted": false,
"allow_pr": false,
"allow_push": true,
"allow_deploys": false,
"allow_tags": false
}
2、激活仓库事件响应
- 激活仓库响应需要仓库拥有者帐号和仓库名,且该仓库未设置响应事件,设置响应事件后是无法访问的。本API激活时默认开启
Push Hooks
和Pull Request Hooks
、Timeout
为60分钟。- 需要用户授权验证。
- 请求方式
POST /api/repos/{owner}/{name}
- 例子
curl -X POST -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZXh0IjoiYWRtaW51c2VyIiwidHlwZSI6InVzZXIifQ.p2KhqJ-hl7lVdWawKtowBucWRANmYLv6ZqY64-gE660" "http://192.168.56.21/api/repos/adminuser/demo"
- 响应
Status: 200 OK
Content-Type: application/json
{
"id": 14,
"owner": "adminuser",
"name": "demo",
"full_name": "adminuser/demo",
"avatar_url": "https://secure.gravatar.com/avatar/0f656b0b09d16bafa95064e7e9bd83bc",
"link_url": "http://192.168.56.21:10080/adminuser/demo",
"scm": "git",
"clone_url": "http://192.168.56.21:10080/adminuser/demo.git",
"default_branch": "master",
"timeout": 60,
"trusted": false,
"allow_pr": true,
"allow_push": true,
"allow_deploys": false,
"allow_tags": false
}
3、更新仓库响应配置
- 更新指定仓库需要仓库拥有者帐号和仓库名,且该仓库已设置响应事件,未设置响应事件后是无法访问的。
- 需要用户授权验证。
- 请求方式
PATCH /api/repos/{owner}/{name}
- 例子
我们设置请求体为:
{
"timeout": 25,
"private": false,
"trusted": false,
"allow_pr": true,
"allow_push": true,
"allow_deploys": false,
"allow_tags": false
}
curl -X PATCH -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZXh0IjoiYWRtaW51c2VyIiwidHlwZSI6InVzZXIifQ.p2KhqJ-hl7lVdWawKtowBucWRANmYLv6ZqY64-gE660" -H "Content-Type: application/json" -d '{
"timeout": 25,
"private": false,
"trusted": false,
"allow_pr": true,
"allow_push": true,
"allow_deploys": false,
"allow_tags": false
}' "http://192.168.56.21/api/repos/adminuser/demo"
- 响应
Status: 200 OK
Content-Type: application/json
{
"id": 14,
"owner": "adminuser",
"name": "demo",
"full_name": "adminuser/demo",
"avatar_url": "https://secure.gravatar.com/avatar/0f656b0b09d16bafa95064e7e9bd83bc",
"link_url": "http://192.168.56.21:10080/adminuser/demo",
"scm": "git",
"clone_url": "http://192.168.56.21:10080/adminuser/demo.git",
"default_branch": "master",
"timeout": 25,
"trusted": false,
"allow_pr": true,
"allow_push": true,
"allow_deploys": false,
"allow_tags": false
}
4、删除构建信息
- 删除构建信息需要仓库拥有者帐号和仓库名,且该仓库已设置响应事件,未设置响应事件后是无法访问的。该操作是不可逆的,请谨慎执行,且删除后仓库默认关闭事件响应。
-
需要用户授权验证。
-
请求方式
DELETE /api/repos/{owner}/{name}
- 例子
curl -X DELETE -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZXh0IjoiYWRtaW51c2VyIiwidHlwZSI6InVzZXIifQ.p2KhqJ-hl7lVdWawKtowBucWRANmYLv6ZqY64-gE660" "http://192.168.56.21/api/repos/adminuser/demo"
- 响应
Status: 200 OK
Content-Type: text/plain; charset=utf-8
5、获取设置在仓库中的secret
- 需要用户授权验证。
- 请求方式
GET /api/repos/:owner/:name/secrets
- 例子
curl -X GET -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZXh0IjoiYWRtaW51c2VyIiwidHlwZSI6InVzZXIifQ.HvnfTlVqdGneN76HqvluLQSs9LlGqCImBalrppIK7Sk" "http://192.168.56.21/api/repos/adminuser/drone-test/secrets"
- 响应
Status: 200 OK
Content-Type: application/json; charset=utf-8
[
{
"id": 23,
"name": "DOCKER_USERNAME",
"value": "",
"image": [
"plugins/docker"
],
"event": [
"push",
"tag",
"deployment"
],
"skip_verify": false,
"conceal": false
},
{
"id": 24,
"name": "DOCKER_PASSWORD",
"value": "",
"image": [
"plugins/docker"
],
"event": [
"push",
"tag",
"deployment"
],
"skip_verify": false,
"conceal": false
}
]
6、给指定仓库增加secret
- 需要用户授权验证。
- 请求方式
POST /api/repos/:owner/:name/secrets
- 例子
curl -X POST -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZXh0IjoiYWRtaW51c2VyIiwidHlwZSI6InVzZXIifQ.HvnfTlVqdGneN76HqvluLQSs9LlGqCImBalrppIK7Sk" -H "Content-Type: application/json" -d ' {
"name": "drone",
"value": "drone",
"image": [
"plugins/docker"
],
"event": [
"push",
"tag",
"deployment"
],
"skip_verify": false,
"conceal": false
}' "http://192.168.56.21/api/repos/adminuser/drone-test/secrets"
- 响应
Status: 200 OK
Content-Type: text/plain; charset=utf-8
7、删除仓库指定的secret
- 需要用户授权验证。
- 请求方式
DELETE /api/repos/:owner/:name/secrets/:secret
- 例子
curl -X DELETE -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZXh0IjoiYWRtaW51c2VyIiwidHlwZSI6InVzZXIifQ.HvnfTlVqdGneN76HqvluLQSs9LlGqCImBalrppIK7Sk" "http://192.168.56.21/api/repos/adminuser/drone-test/secrets/handhand"
- 响应
Status: 200 OK
Content-Type: text/plain; charset=utf-8
网友评论