1. 授权认证
  2. 获取用户个人信息
  3. 项目协同
  4. 代码托管
  5. 持续集成
  6. 制品仓库
  7. 测试管理
  1. 项目协同
  2. 代码仓库
  3. DevOps 实践之旅
  4. 一分钟开始持续集成之旅
  5. 持续部署
  6. 制品库

授权认证

CODING 提供了丰富的 API 接口,注册应用即可使用,无需审核,支持两种认证方式:OAuth 2.0 协议、个人访问令牌

OAuth 认证

创建 CODING 应用

  1. 点击【个人设置】->【开放生态】->【创建应用】,填写信息。「回调地址」可填写为 http://127.0.0.1,便于本地开发。

  1. 创建完成会获得 Client ID 和 Client Secret。

用户授权

浏览器访问以下链接,进入到授权登录页面:

GET https://{your-team}.coding.net/oauth_authorize.html

参数说明:

  • your-team:团队域名前缀;
  • client_id:应用详情页的 Client ID;
  • redirect_uri:应用详情页填写的回调地址;
  • response_type:返回类型,固定为 code;
  • scope:授权范围,以逗号分隔,包括:
scope 名称 授权 说明
user 获取用户信息(名称、头像等 )
user:email 读取用户的 email
notification 读/写 读取用户通知信息
project 授权项目信息、项目列表,仓库信息,公钥列表、成员
project:api_doc 发布 授权发布 API 文档
project:artifacts 读/写 授权推送、拉取制品库
project:depot 读/写 完整的仓库控制权限
project:file 读/写 授权读取与操作文件
project:issue 读/写 授权读取与操作项目协同模块
project:key 读/写 授权读取与操作部署公钥和个人公钥
project:members 读/写 授权项目管理者读取与操作成员
project:notice 读/写 授权发布、删除、查询项目公告接口

登录授权后,浏览器将带着授权码(code)参数跳转到回调地址,如:

http://127.0.0.1:9002/api/oauth/callback?code=7923f69445119400c12e1a70b027a97a

获取 access_token

获取授权码(code)后,开发者的后端程序向 CODING 发送请求,获取 access_token。

请求链接:

POST https://{your-team}.coding.net/api/oauth/access_token

参数说明:

  • your-team:团队域名前缀;
  • client_id:应用详情页的 Client ID;
  • client_secret:应用详情页的 Client Secret;
  • code:上一步获取的授权码;
  • grant_type:授权类型,固定为 authorization_code;

返回值:

{
    "access_token": "8883405e6c14856a1e2b3c4e2d2f2666",
    "refresh_token": "6663211fda1a41f5a1c1fa320d819aaa",
    "team": "anywhere",
    "expires_in": "780260",
    "token_type":"bearer"
}

获取当前用户信息

请求链接:

GET https://{your-team}.coding.net/api/me

参数说明:

  • access_token:上一步获取的 access_token;

请求示例:

curl https://codes-farm.coding.net/api/me?access_token=at58a21646f43699196c42a30d77at

返回值:

{
  "avatar": "https://coding-net-production-static-ci.codehub.cn/2cb665a3-bebc-4b09-aa00-2b6df3e33edc.jpg",
  "created_at": 1572178118000,
  "global_key": "KMRnIKgzbV",
  "name": "sink",
  "name_pinyin": "sink",
  "updated_at": 1598411867000,
  "path": "/u/KMRnIKgzbV",
  "id": 183478,
  "team": "anywhere",
  "email_validation": 1
}

个人令牌认证

获取个人令牌

点击右上角的【个人设置】>【访问令牌】>【新建令牌】,勾选相关权限后会生成「个人访问令牌」。若刷新页面令牌会消失,需输入账号密码后重新生成。

获取当前用户信息

请求链接:

GET https://{your-team}.coding.net/api/me

header:

Authorization: token {访问令牌}

请求示例:

curl -H 'Authorization: token t0544956253e82fa2ba780a5248750t' \
https://codes-farm.coding.net/api/me

新版接口认证方式

新版接口不再使用 RESTFul,而使用 POST 和统一链接。

统一链接:https://e.coding.net/open-api

Accept: application/json

OAuth2:Authorization: Bearer at58a21646f43699196c42a30d77at

个人令牌:

Authorization: token f5d7a1e1dabb116335b648c5fd9a1c868e4f31d3

输入示例:

{
    "Action":"DescribeOneProject",
    "ProjectId":2
}    

输出示例:

{
  "Response": {
    "Project": {
      "Name": "coding-demo",
      "Id": 2,
    },
    "RequestId": "ae8e2d5f-569b-443e-8c61-440ea3a7562a"
  }
}

最近更新
感谢反馈有用
感谢反馈没用