仓库

作者: SetZero | 来源:发表于2017-02-21 15:54 被阅读0次

仓库


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 HooksPull Request HooksTimeout为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

相关文章

网友评论

      本文标题:仓库

      本文链接:https://www.haomeiwen.com/subject/uvllwttx.html