本文将带您了解常规API的构架以及HTTP语句与身份验证
权限
默认情况下,每个工作区都启用API。您可以在工作区设置中停用或启用。 调用API方法的权限与网站服务中的权限相同。例如,如果删除项目的权限仅限于管理员,则相同的限制将应用于API方法。
端点
您可以在此处获取API:
https://api.buddy.works
您的Buddy自托管或本地部署API可在此处获得:
https://IP地址或域名/api
HTTP语句
对于每个操作,需要使用适当的HTTP语句:
语句 | 描述 |
---|---|
GET | 用于提取资源 |
POST | 用于创建资源 |
PATCH | 用于更新数据; 仅更新请求中发送的字段 |
PUT | 用于更新数据; 更新对象的所有属性; 如果不能发布内容,则设置为null |
DELETE | 用于删除资源 |
身份验证
使用OAuth2机制执行身份验证。
如果您已经拥有 access_token
,则使用 HTTP HEADER 发送请求:
Authorization: Bearer <access_token>
架构
所有请求都必须以JSON格式发送和接收。所有API请求都必须通过HTTPS执行。空字段作为 NULL
返回并且不会被省略。所有日期都以ISO格式返回:
yyyy-MM-dd'T'HH:mm:ssZ
摘要和详细对象
当您提取资源列表时,响应作为摘要返回,这意味着并非所有对象字段都返回。它以这种方式工作,以防止返回的大量数据对性能产生影响。例如,在获取提交列表时,响应以缩短的版本出现:
GET /workspaces/:domain/projects/:project_name/repository/commits
响应样本
HTTP
Status: 200 OK
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
JSON
{
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/repository/commits",
"html_url": "https://app.buddy.works/buddy/company-website/repository/commits",
"commits": [
{
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/repository/commits/506a3963507943d6908154f4bc9646e829128a08",
"html_url": "https://app.buddy.works/buddy/company-website/repository/commit/506a3963507943d6908154f4bc9646e829128a08",
"revision": "506a3963507943d6908154f4bc9646e829128a08",
&