2021-02-02 14:07:46 +08:00
|
|
|
|
# Projects
|
2022-06-20 10:16:39 +08:00
|
|
|
|
## 获取项目邀请链接(项目管理员)
|
2022-06-16 11:56:09 +08:00
|
|
|
|
当前登录(管理员)用户获取项目邀请链接的接口(第一次请求会默认生成role类型为developer和is_apply为true的链接)
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X GET http://localhost:3000/api/yystopf/kellect/project_invite_links/current_link.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('GET /api/yystopf/kellect/project_invite_links/current_link.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`GET /api/:owner/:repo/project_invite_links/current_link.json`
|
|
|
|
|
|
|
2022-06-20 10:16:39 +08:00
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|role |是| |string |项目权限,reporter: 报告者, developer: 开发者,manager:管理员 |
|
|
|
|
|
|
|is_apply |是| |boolean |是否需要审核 |
|
|
|
|
|
|
|
2022-06-16 11:56:09 +08:00
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|id |int |链接id |
|
|
|
|
|
|
|role |string |邀请角色|
|
|
|
|
|
|
|is_apply |boolean |是否需要审核 |
|
|
|
|
|
|
|sign |string |邀请标识(放在链接后面即可)|
|
2022-06-20 10:16:39 +08:00
|
|
|
|
|expired_at |string |链接过期时间|
|
2022-06-16 11:56:09 +08:00
|
|
|
|
|user.id |int |链接创建者的id |
|
|
|
|
|
|
|user.type |string |链接创建者的类型 |
|
|
|
|
|
|
|user.name |string |链接创建者的名称 |
|
|
|
|
|
|
|user.login |string |链接创建者的标识 |
|
|
|
|
|
|
|user.image_url |string |链接创建者头像 |
|
|
|
|
|
|
|project.id |int |链接关联项目的id |
|
|
|
|
|
|
|project.identifier |string |链接关联项目的标识 |
|
|
|
|
|
|
|project.name |string |链接关联项目的名称 |
|
|
|
|
|
|
|project.description |string |链接关联项目的描述 |
|
|
|
|
|
|
|project.is_public |bool |链接关联项目是否公开 |
|
|
|
|
|
|
|project.owner.id |bool |链接关联项目拥有者id |
|
|
|
|
|
|
|project.owner.type |string |链接关联项目拥有者类型 |
|
|
|
|
|
|
|project.owner.name |string |链接关联项目拥有者昵称 |
|
|
|
|
|
|
|project.owner.login |string |链接关联项目拥有者标识 |
|
|
|
|
|
|
|project.owner.image_url|string |链接关联项目拥有者头像 |
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 7,
|
|
|
|
|
|
"role": "developer",
|
|
|
|
|
|
"is_apply": false,
|
|
|
|
|
|
"sign": "6b6b454843c291d4e52e60853cb8ad9f",
|
2022-06-20 10:16:39 +08:00
|
|
|
|
"expired_at": "2022-06-23 10:08",
|
2022-06-16 11:56:09 +08:00
|
|
|
|
"user": {
|
|
|
|
|
|
"id": 2,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "heh",
|
|
|
|
|
|
"login": "yystopf",
|
|
|
|
|
|
"image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
|
|
|
|
|
|
},
|
|
|
|
|
|
"project": {
|
|
|
|
|
|
"id": 474,
|
|
|
|
|
|
"identifier": "kellect",
|
|
|
|
|
|
"name": "kellect",
|
|
|
|
|
|
"description": null,
|
|
|
|
|
|
"is_public": true,
|
|
|
|
|
|
"owner": {
|
|
|
|
|
|
"id": 2,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "heh",
|
|
|
|
|
|
"login": "yystopf",
|
|
|
|
|
|
"image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
2022-06-20 10:16:39 +08:00
|
|
|
|
## 生成项目邀请链接(项目管理员)
|
2022-06-16 11:56:09 +08:00
|
|
|
|
当前登录(管理员)用户生成的项目邀请链接,可选role和is_apply参数
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST http://localhost:3000/api/yystopf/kellect/project_invite_links/generate_link.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/yystopf/kellect/project_invite_links/generate_link.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST /api/:owner/:repo/project_invite_links/generate_link.json`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|role |是| |string |项目权限,reporter: 报告者, developer: 开发者,manager:管理员 |
|
|
|
|
|
|
|is_apply |是| |boolean |是否需要审核 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 请求的JSON示例
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"role": "developer",
|
|
|
|
|
|
"is_apply": false
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|id |int |链接id |
|
|
|
|
|
|
|role |string |邀请角色|
|
|
|
|
|
|
|is_apply |boolean |是否需要审核 |
|
|
|
|
|
|
|sign |string |邀请标识(放在链接后面即可)|
|
2022-06-20 10:16:39 +08:00
|
|
|
|
|expired_at |string |链接过期时间|
|
|
|
|
|
|
|user.id |int |链接创建者的id |
|
|
|
|
|
|
|user.type |string |链接创建者的类型 |
|
|
|
|
|
|
|user.name |string |链接创建者的名称 |
|
|
|
|
|
|
|user.login |string |链接创建者的标识 |
|
|
|
|
|
|
|user.image_url |string |链接创建者头像 |
|
|
|
|
|
|
|project.id |int |链接关联项目的id |
|
|
|
|
|
|
|project.identifier |string |链接关联项目的标识 |
|
|
|
|
|
|
|project.name |string |链接关联项目的名称 |
|
|
|
|
|
|
|project.description |string |链接关联项目的描述 |
|
|
|
|
|
|
|project.is_public |bool |链接关联项目是否公开 |
|
|
|
|
|
|
|project.owner.id |bool |链接关联项目拥有者id |
|
|
|
|
|
|
|project.owner.type |string |链接关联项目拥有者类型 |
|
|
|
|
|
|
|project.owner.name |string |链接关联项目拥有者昵称 |
|
|
|
|
|
|
|project.owner.login |string |链接关联项目拥有者标识 |
|
|
|
|
|
|
|project.owner.image_url|string |链接关联项目拥有者头像 |
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 7,
|
|
|
|
|
|
"role": "developer",
|
|
|
|
|
|
"is_apply": false,
|
|
|
|
|
|
"sign": "6b6b454843c291d4e52e60853cb8ad9f",
|
|
|
|
|
|
"expired_at": "2022-06-23 10:08",
|
|
|
|
|
|
"user": {
|
|
|
|
|
|
"id": 2,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "heh",
|
|
|
|
|
|
"login": "yystopf",
|
|
|
|
|
|
"image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
|
|
|
|
|
|
},
|
|
|
|
|
|
"project": {
|
|
|
|
|
|
"id": 474,
|
|
|
|
|
|
"identifier": "kellect",
|
|
|
|
|
|
"name": "kellect",
|
|
|
|
|
|
"description": null,
|
|
|
|
|
|
"is_public": true,
|
|
|
|
|
|
"owner": {
|
|
|
|
|
|
"id": 2,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "heh",
|
|
|
|
|
|
"login": "yystopf",
|
|
|
|
|
|
"image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 获取邀请链接信息(被邀请用户)
|
|
|
|
|
|
用户请求邀请链接时,通过该接口来获取链接的信息
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X GET http://localhost:3000/api/yystopf/kellect/project_invite_links/show_link.json?invite_sign=d612df03aad63760445c187bcf83f2e6
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/yystopf/kellect/project_invite_links/show_link.json?invite_sign=d612df03aad63760445c187bcf83f2e6')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST /api/:owner/:repo/project_invite_links/show_link.json?invite_sign=xxx`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|invite_sign |是| |string |项目邀请链接的标识 |
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|id |int |链接id |
|
|
|
|
|
|
|role |string |邀请角色|
|
|
|
|
|
|
|is_apply |boolean |是否需要审核 |
|
|
|
|
|
|
|sign |string |邀请标识(放在链接后面即可)|
|
|
|
|
|
|
|expired_at |string |链接过期时间|
|
2022-06-16 11:56:09 +08:00
|
|
|
|
|user.id |int |链接创建者的id |
|
|
|
|
|
|
|user.type |string |链接创建者的类型 |
|
|
|
|
|
|
|user.name |string |链接创建者的名称 |
|
|
|
|
|
|
|user.login |string |链接创建者的标识 |
|
|
|
|
|
|
|user.image_url |string |链接创建者头像 |
|
|
|
|
|
|
|project.id |int |链接关联项目的id |
|
|
|
|
|
|
|project.identifier |string |链接关联项目的标识 |
|
|
|
|
|
|
|project.name |string |链接关联项目的名称 |
|
|
|
|
|
|
|project.description |string |链接关联项目的描述 |
|
|
|
|
|
|
|project.is_public |bool |链接关联项目是否公开 |
|
|
|
|
|
|
|project.owner.id |bool |链接关联项目拥有者id |
|
|
|
|
|
|
|project.owner.type |string |链接关联项目拥有者类型 |
|
|
|
|
|
|
|project.owner.name |string |链接关联项目拥有者昵称 |
|
|
|
|
|
|
|project.owner.login |string |链接关联项目拥有者标识 |
|
|
|
|
|
|
|project.owner.image_url|string |链接关联项目拥有者头像 |
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 7,
|
|
|
|
|
|
"role": "developer",
|
|
|
|
|
|
"is_apply": false,
|
|
|
|
|
|
"sign": "6b6b454843c291d4e52e60853cb8ad9f",
|
2022-06-20 10:16:39 +08:00
|
|
|
|
"expired_at": "2022-06-23 10:08",
|
2022-06-16 11:56:09 +08:00
|
|
|
|
"user": {
|
|
|
|
|
|
"id": 2,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "heh",
|
|
|
|
|
|
"login": "yystopf",
|
|
|
|
|
|
"image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
|
|
|
|
|
|
},
|
|
|
|
|
|
"project": {
|
|
|
|
|
|
"id": 474,
|
|
|
|
|
|
"identifier": "kellect",
|
|
|
|
|
|
"name": "kellect",
|
|
|
|
|
|
"description": null,
|
|
|
|
|
|
"is_public": true,
|
|
|
|
|
|
"owner": {
|
|
|
|
|
|
"id": 2,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "heh",
|
|
|
|
|
|
"login": "yystopf",
|
|
|
|
|
|
"image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2022-06-20 10:16:39 +08:00
|
|
|
|
## 接受项目邀请链接(被邀请用户)
|
2022-06-16 11:56:09 +08:00
|
|
|
|
当前登录(非项目)用户加入项目的接口,如果项目链接不需要审核,请求成功后即加入项目,如果需要审核,那么会提交一个申请,需要项目管理员审核
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST http://localhost:3000/api/yystopf/kellect/project_invite_links/redirect_link.json?invite_sign=d612df03aad63760445c187bcf83f2e6
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/yystopf/kellect/project_invite_links/redirect_link.json?invite_sign=d612df03aad63760445c187bcf83f2e6')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
2022-06-20 10:16:39 +08:00
|
|
|
|
`POST /api/:owner/:repo/project_invite_links/redirect_link.json?invite_sign=xxx`
|
2022-06-16 11:56:09 +08:00
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|invite_sign |是| |string |项目邀请链接的标识 |
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"status": 0,
|
|
|
|
|
|
"message": "success"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
2021-02-02 14:07:46 +08:00
|
|
|
|
|
2021-06-09 16:53:09 +08:00
|
|
|
|
## 申请加入项目
|
|
|
|
|
|
申请加入项目
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST http://localhost:3000/api/applied_projects.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/appliedr_projects.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST /api/applied_projects.json`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|applied_project.code |是| |string |邀请码 |
|
|
|
|
|
|
|applied_project.role |否| |string |项目权限,reporter: 报告者, developer: 开发者,manager:管理员 |
|
|
|
|
|
|
|
|
|
|
|
|
> 请求的JSON示例
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"applied_project": {
|
|
|
|
|
|
"code": "1una34",
|
|
|
|
|
|
"role": "developer"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|id |int |申请id |
|
|
|
|
|
|
|status |string |申请状态,canceled:取消,common:正在申请, accept:已接受,refuse:已拒绝|
|
|
|
|
|
|
|time_ago |string |项目申请创建的时间 |
|
|
|
|
|
|
|project.id |int |申请项目的id |
|
|
|
|
|
|
|project.identifier |string |申请项目的标识 |
|
|
|
|
|
|
|project.name |string |申请项目的名称 |
|
|
|
|
|
|
|project.description |string |申请项目的描述 |
|
|
|
|
|
|
|project.is_public |bool |申请项目是否公开 |
|
|
|
|
|
|
|project.owner.id |bool |申请项目拥有者id |
|
|
|
|
|
|
|project.owner.type |string |申请项目拥有者类型 |
|
|
|
|
|
|
|project.owner.name |string |申请项目拥有者昵称 |
|
|
|
|
|
|
|project.owner.login |string |申请项目拥有者标识 |
|
|
|
|
|
|
|project.owner.image_url |string |申请项目拥有者头像 |
|
|
|
|
|
|
|user.id |int |申请创建者的id |
|
|
|
|
|
|
|user.type |string |申请创建者的类型 |
|
|
|
|
|
|
|user.name |string |申请创建者的名称 |
|
|
|
|
|
|
|user.login |string |申请创建者的标识 |
|
|
|
|
|
|
|user.image_url |string |申请创建者头像 |
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"project": {
|
|
|
|
|
|
"id": 74,
|
|
|
|
|
|
"identifier": "hehuisssjssjjsjs",
|
|
|
|
|
|
"name": "hehuisssjssjjsjs",
|
|
|
|
|
|
"description": "wwww",
|
|
|
|
|
|
"is_public": false,
|
|
|
|
|
|
"owner": {
|
|
|
|
|
|
"id": 10,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "testforge1",
|
|
|
|
|
|
"login": "testforge1",
|
|
|
|
|
|
"image_url": "system/lets/letter_avatars/2/T/19_237_174/120.png"
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"user": {
|
|
|
|
|
|
"id": 6,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "何慧",
|
|
|
|
|
|
"login": "yystopf",
|
|
|
|
|
|
"image_url": "images/avatars/User/6?t=1622513134"
|
|
|
|
|
|
},
|
|
|
|
|
|
"id": 7,
|
|
|
|
|
|
"status": "common",
|
|
|
|
|
|
"created_at": "2021-06-09 16:41",
|
|
|
|
|
|
"time_ago": "1分钟前"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2021-02-02 14:07:46 +08:00
|
|
|
|
## 获取项目列表
|
|
|
|
|
|
获取项目列表,也可以更加相关条件过滤搜素
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X GET \
|
|
|
|
|
|
-d "page=1" \
|
|
|
|
|
|
-d "limit=5" \
|
|
|
|
|
|
http://localhost:3000/api/projects | jq
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('GET /api/projects')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`GET api/projects`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
page | false | 1 | string | 页数,第几页
|
|
|
|
|
|
limit | false | 15 | string | 每页多少条数据,默认15条
|
|
|
|
|
|
sort_by | false | | string | 排序类型, 取值:updated_on、created_on、forked_count、praises_count; updated_on: 更新时间排序,created_on: 创建时间排序,forked_count: fork数据排序,praises_count: 点赞数量排序,默认为updated_on更新时间排序
|
|
|
|
|
|
sort_direction| false | | string | 排序方式,取值为: desc、asc; desc: 降序排序, asc: 升序排序, 默认为:desc
|
|
|
|
|
|
search | false | | string | 按照项目名称搜索
|
|
|
|
|
|
category_id | false | | int | 项目类别id
|
|
|
|
|
|
language_id | false | | int | 项目语言id
|
|
|
|
|
|
project_type | false | | string | 项目类型, 取值为:common、mirror; common:开源托管项目, mirror:开源镜像项目
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
total_count | int | 项目总条数
|
|
|
|
|
|
id | string | 项目id
|
|
|
|
|
|
name | string | 项目名称
|
|
|
|
|
|
description | string | 项目简介
|
|
|
|
|
|
visits | int | 流量数
|
|
|
|
|
|
forked_count | int | 被fork的数量
|
|
|
|
|
|
praises_count | int | star数量
|
|
|
|
|
|
is_public | boolean | 是否公开, true:公开,false:未公开
|
|
|
|
|
|
mirror_url | string | 镜像url
|
|
|
|
|
|
last_update_time| int | 最后更新时间,为UNIX格式的时间戳
|
|
|
|
|
|
author | object | 项目创建者
|
|
|
|
|
|
-- name | string | 用户名,也是用户标识
|
|
|
|
|
|
category | object | 项目类别
|
|
|
|
|
|
-- id | int | 项目类型id
|
|
|
|
|
|
-- name | string | 项目类型名称
|
|
|
|
|
|
language | object | 项目语言
|
|
|
|
|
|
-- id | int | 项目语言id
|
|
|
|
|
|
-- name | string | 项目语言名称
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"total_count": 3096,
|
|
|
|
|
|
"projects": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 1400794,
|
|
|
|
|
|
"repo_id": 1402452,
|
|
|
|
|
|
"identifier": "cscw_2021_sponsor",
|
|
|
|
|
|
"name": "Sponsor机制下的开源贡献",
|
|
|
|
|
|
"description": "CSCW 2021 sponsor机制研究",
|
|
|
|
|
|
"visits": 5,
|
|
|
|
|
|
"praises_count": 0,
|
|
|
|
|
|
"forked_count": 0,
|
|
|
|
|
|
"is_public": true,
|
|
|
|
|
|
"mirror_url": null,
|
|
|
|
|
|
"type": 0,
|
|
|
|
|
|
"last_update_time": 1611971671,
|
|
|
|
|
|
"time_ago": "2天前",
|
|
|
|
|
|
"forked_from_project_id": null,
|
|
|
|
|
|
"open_devops": false,
|
|
|
|
|
|
"platform": "forge",
|
|
|
|
|
|
"author": {
|
|
|
|
|
|
"name": "张迅晖",
|
|
|
|
|
|
"login": "Nigel",
|
|
|
|
|
|
"image_url": "images/avatars/User/3675?t=1611832880"
|
|
|
|
|
|
},
|
|
|
|
|
|
"category": {
|
|
|
|
|
|
"id": 13,
|
|
|
|
|
|
"name": "云计算和大数据"
|
|
|
|
|
|
},
|
|
|
|
|
|
"language": {
|
|
|
|
|
|
"id": 34,
|
|
|
|
|
|
"name": "Python3.6"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
<aside class="success">
|
|
|
|
|
|
Remember — a happy kitten is an authenticated kitten!
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 推荐项目
|
|
|
|
|
|
获取推荐项目列表
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X GET \
|
|
|
|
|
|
http://localhost:3000/api/projects/recommend | jq
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('GET /api/projects/recommend.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`GET api/projects/recommend`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
total_count |int |项目总条数
|
|
|
|
|
|
id |string |项目id
|
|
|
|
|
|
name |string|项目名称
|
|
|
|
|
|
description |string|项目简介
|
|
|
|
|
|
visits |int|流量数
|
|
|
|
|
|
forked_count |int|被fork的数量
|
|
|
|
|
|
praises_count |int|star数量
|
|
|
|
|
|
is_public |boolean|是否公开, true:公开,false:未公开
|
|
|
|
|
|
mirror_url |string|镜像url
|
|
|
|
|
|
last_update_time|int|最后更新时间,为UNIX格式的时间戳
|
|
|
|
|
|
author |object|项目创建者
|
|
|
|
|
|
-- name |string|用户名,也是用户标识
|
|
|
|
|
|
category |object|项目类别
|
|
|
|
|
|
-- id |int|项目类型id
|
|
|
|
|
|
-- name |string|项目类型名称
|
|
|
|
|
|
language |object|项目语言
|
|
|
|
|
|
-- id |int|项目语言id
|
|
|
|
|
|
-- name |string|项目语言名称
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
[
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 20,
|
|
|
|
|
|
"repo_id": 2,
|
|
|
|
|
|
"identifier": "PNAekinmH",
|
|
|
|
|
|
"name": "FNILL",
|
|
|
|
|
|
"visits": 13567,
|
|
|
|
|
|
"author": {
|
|
|
|
|
|
"name": "王一达",
|
|
|
|
|
|
"login": "wangyida",
|
|
|
|
|
|
"image_url": "avatars/User/b"
|
|
|
|
|
|
},
|
|
|
|
|
|
"category": {
|
|
|
|
|
|
"id": 8,
|
|
|
|
|
|
"name": "其他"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
```
|
|
|
|
|
|
<aside class="success">
|
|
|
|
|
|
Remember — a happy kitten is an authenticated kitten!
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-17 11:52:36 +08:00
|
|
|
|
## 项目导航
|
|
|
|
|
|
获取项目导航信息
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X GET \
|
|
|
|
|
|
http://localhost:3000/api/yystopf/ceshi/menu_list | jq
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('GET /api/yystopf/ceshi/menu_list')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`GET api/:owner/:repo/menu_list`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
owner |是| |string |用户登录名
|
|
|
|
|
|
repo |是| |string |项目标识identifier
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
2022-05-10 17:10:19 +08:00
|
|
|
|
menu_name |string|导航名称, home:主页,code:代码库,issues:疑修,pulls:合并请求,devops:工作流,versions:里程碑,wiki:维基,services:服务,activity:动态,setting:仓库设置
|
2021-03-17 11:52:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
[
|
|
|
|
|
|
{
|
|
|
|
|
|
"menu_name": "home"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"menu_name": "code"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"menu_name": "pulls"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"menu_name": "activity"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-02-02 14:07:46 +08:00
|
|
|
|
## 项目主页
|
|
|
|
|
|
获取项目主页信息
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X GET \
|
|
|
|
|
|
http://localhost:3000/api/jasder/forgeplus/about | jq
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('GET /api/jasder/forgeplus/about')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`GET api/:owner/:repo/about`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
owner |是| |string |用户登录名
|
|
|
|
|
|
repo |是| |string |项目标识identifier
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
identifier |string|project's identifier
|
|
|
|
|
|
content |string|主页内容
|
|
|
|
|
|
attachments |array|附件
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"content": "",
|
|
|
|
|
|
"identifier": "forgeplus",
|
|
|
|
|
|
attachments: []
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
<aside class="success">
|
|
|
|
|
|
Remember — a happy kitten is an authenticated kitten!
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
2021-03-17 13:50:26 +08:00
|
|
|
|
## 项目模块信息
|
|
|
|
|
|
项目模块信息
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X GET \
|
|
|
|
|
|
http://localhost:3000/api/yystopf/ceshi/project_units.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('GET /api/yystopf/ceshi/project_units')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`GET /api/yystopf/ceshi/project_units`
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明:
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|type |string|模块名称 |
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
[
|
|
|
|
|
|
{
|
|
|
|
|
|
"type": "code"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"type": "pulls"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"type": "issues"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 更改项目模块展示
|
|
|
|
|
|
更改项目模块展示
|
2021-03-17 11:52:36 +08:00
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST \
|
|
|
|
|
|
-H "accept: application/json" \
|
|
|
|
|
|
-H "Content-Type: application/json" \
|
|
|
|
|
|
-d "{ \"unit_typs\": [\"code\", \"pulls\"]}" \
|
|
|
|
|
|
http://localhost:3000/api/yystopf/ceshi/project_units.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/yystopf/ceshi/project_units')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST /api/yystopf/ceshi/project_units`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
2022-05-10 17:10:19 +08:00
|
|
|
|
|unit_types |是| |array | 项目模块内容, 支持以下参数:code:代码库,issues:疑修,pulls:合并请求,devops:工作流,versions:里程碑,wiki:维基,resources:资源库,services:服务 |
|
2021-03-17 11:52:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明:
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|status |int|返回状态, 0: 表示操作成功 |
|
|
|
|
|
|
|message |string|返回信息说明|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"status": 0,
|
|
|
|
|
|
"message": "success"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
2021-02-02 14:07:46 +08:00
|
|
|
|
|
|
|
|
|
|
## 创建项目
|
|
|
|
|
|
创建项目
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST \
|
|
|
|
|
|
-d "user_id=36401" \
|
|
|
|
|
|
-d "name=hnfl_demo" \
|
|
|
|
|
|
-d "description=my first project" \
|
|
|
|
|
|
-d "repository_name=hnfl_demo" \
|
|
|
|
|
|
-d "project_category_id=1" \
|
|
|
|
|
|
-d "project_language_id=2" \
|
|
|
|
|
|
-d "ignore_id=2" \
|
|
|
|
|
|
-d "license_id=1" \
|
|
|
|
|
|
http://localhost:3000/api/projects.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('GET /api/projects.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST api/projects`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|user_id |是| |int |用户id或者组织id |
|
|
|
|
|
|
|name |是| |string |项目名称 |
|
|
|
|
|
|
|description |是| |string |项目描述 |
|
|
|
|
|
|
|repository_name |是| |string |仓库名称, 只含有数字、字母、下划线不能以下划线开头和结尾,且唯一 |
|
|
|
|
|
|
|project_category_id|是| |int |项目类别id |
|
|
|
|
|
|
|project_language_id|是| |int |项目语言id |
|
|
|
|
|
|
|ignore_id |否| |int |gitignore相关id |
|
|
|
|
|
|
|license_id |否| |int |开源许可证id |
|
|
|
|
|
|
|private |否| |boolean|项目是否私有, true:为私有,false: 公开,默认为公开 |
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|id |int |id |
|
|
|
|
|
|
|name |string|项目名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 3240,
|
|
|
|
|
|
"name": "好项目"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 创建镜像项目
|
|
|
|
|
|
创建镜像项目
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST \
|
|
|
|
|
|
-d "user_id=36408" \
|
|
|
|
|
|
-d "clone_addr=https://gitea.com/mx8090alex/golden.git" \
|
|
|
|
|
|
-d "name=golden_mirror1" \
|
|
|
|
|
|
-d "description=golden_mirror" \
|
|
|
|
|
|
-d "project_category_id=1" \
|
|
|
|
|
|
-d "project_language_id=2" \
|
|
|
|
|
|
http://localhost:3000/api/projects/migrate.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('GET /api/projects/migrate.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST api/projects/migrate.json`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|user_id |是| |int |用户id或者组织id |
|
|
|
|
|
|
|name |是| |string |项目名称 |
|
|
|
|
|
|
|clone_addr |是| |string |镜像项目clone地址 |
|
|
|
|
|
|
|description |否| |string |项目描述 |
|
|
|
|
|
|
|repository_name |是| |string |仓库名称, 只含有数字、字母、下划线不能以下划线开头和结尾,且唯一 |
|
|
|
|
|
|
|project_category_id|是| |int |项目类别id |
|
|
|
|
|
|
|project_language_id|是| |int |项目语言id |
|
|
|
|
|
|
|is_mirror |否| |boolean|是否设置为镜像, true:是, false:否,默认为否 |
|
|
|
|
|
|
|auth_username |否| |string|镜像源仓库的登录用户名 |
|
|
|
|
|
|
|auth_password |否| |string|镜像源仓库的登录秘密 |
|
|
|
|
|
|
|private |否| |boolean|项目是否私有, true:为私有,false: 非私有,默认为公开 |
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|id |int |id |
|
|
|
|
|
|
|name |string|项目名称|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 3241,
|
|
|
|
|
|
"name": "这是一个镜像项目"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 同步镜像
|
|
|
|
|
|
手动同步镜像
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST http://localhost:3000/api/repositories/1244/sync_mirror.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/repositories/1244/sync_mirror.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST api/repositories/:id/sync_mirror.json`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|id |是| |int |仓库id |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|status |int |状态码, 0:标识请求成功 |
|
|
|
|
|
|
|message |string|服务端返回的信息说明|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"status": 0,
|
|
|
|
|
|
"message": "success"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Fork项目
|
|
|
|
|
|
fork项目
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST http://localhost:3000/api/jasder/forgeplus/forks.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/jaser/jasder_test/forks.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST api/:owner/:repo/forks.json`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|owner |是| |string |用户登录名 |
|
|
|
|
|
|
|repo |是| |string |项目标识identifier |
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|id |int |项目id |
|
|
|
|
|
|
|identifier |string|项目标识|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 3290,
|
|
|
|
|
|
"identifier": "newadm"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
2021-04-26 10:07:22 +08:00
|
|
|
|
|
|
|
|
|
|
## 用户管理的组织列表
|
|
|
|
|
|
用户管理的组织列表
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X GET \
|
|
|
|
|
|
http://localhost:3000/api/ceshi1/ceshi_repo1/applied_transfer_projects/organizations.json | jq
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('GET /api/:owner/:repo/applied_transfer_projects/organizations')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`GET api/:owner/:repo/applied_transfer_projects/organizations`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
owner |是| |string |用户登录名
|
|
|
|
|
|
repo |是| |string |项目标识identifier
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
name |string|组织标识
|
|
|
|
|
|
nickname |string|组织名称
|
2021-04-26 10:57:57 +08:00
|
|
|
|
description|string|组织描述
|
2021-04-26 10:07:22 +08:00
|
|
|
|
avatar_url|string|组织头像
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"total_count": 3,
|
|
|
|
|
|
"organizations": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 9,
|
|
|
|
|
|
"name": "ceshi_org",
|
|
|
|
|
|
"nickname": "测试组织",
|
|
|
|
|
|
"description": "测试组织",
|
|
|
|
|
|
"avatar_url": "images/avatars/Organization/9?t=1612706073"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 51,
|
|
|
|
|
|
"name": "ceshi",
|
|
|
|
|
|
"nickname": "测试组织哈哈哈",
|
|
|
|
|
|
"description": "23212312",
|
|
|
|
|
|
"avatar_url": "images/avatars/Organization/51?t=1618800723"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": 52,
|
|
|
|
|
|
"name": "ceshi1",
|
|
|
|
|
|
"nickname": "身份卡手动阀",
|
|
|
|
|
|
"description": "1231手动阀是的",
|
|
|
|
|
|
"avatar_url": "images/avatars/Organization/52?t=1618805056"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 迁移项目
|
|
|
|
|
|
迁移项目,edit接口is_transfering为true表示正在迁移
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST http://localhost:3000/api/ceshi1/ceshi_repo1/applied_transfer_projects.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/:owner/:repo/applied_transfer_projects.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST /api/:owner/:repo/applied_transfer_projects.json`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|owner |是| |string |用户登录名 |
|
|
|
|
|
|
|repo |是| |string |项目标识identifier |
|
|
|
|
|
|
|owner_name|是| |string |迁移对象标识 |
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
|
|
|
|
|
|id |int |项目id |
|
|
|
|
|
|
|status |string |项目迁移状态,canceled:取消,common:正在迁移, accept:已接受,refuse:已拒绝|
|
|
|
|
|
|
|time_ago |string |项目迁移创建的时间 |
|
|
|
|
|
|
|project.id |int |迁移项目的id |
|
|
|
|
|
|
|project.identifier |string |迁移项目的标识 |
|
|
|
|
|
|
|project.name |string |迁移项目的名称 |
|
|
|
|
|
|
|project.description |string |迁移项目的描述 |
|
|
|
|
|
|
|project.is_public |bool |迁移项目是否公开 |
|
|
|
|
|
|
|project.owner.id |bool |迁移项目拥有者id |
|
|
|
|
|
|
|project.owner.type |string |迁移项目拥有者类型 |
|
|
|
|
|
|
|project.owner.name |string |迁移项目拥有者昵称 |
|
|
|
|
|
|
|project.owner.login |string |迁移项目拥有者标识 |
|
|
|
|
|
|
|project.owner.image_url |string |迁移项目拥有者头像 |
|
|
|
|
|
|
|user.id |int |迁移创建者的id |
|
|
|
|
|
|
|user.type |string |迁移创建者的类型 |
|
|
|
|
|
|
|user.name |string |迁移创建者的名称 |
|
|
|
|
|
|
|user.login |string |迁移创建者的标识 |
|
|
|
|
|
|
|user.image_url |string |迁移创建者头像 |
|
|
|
|
|
|
|owner.id |int |迁移接受者的id |
|
|
|
|
|
|
|owner.type |string |迁移接受者的类型 |
|
|
|
|
|
|
|owner.name |string |迁移接受者的名称 |
|
|
|
|
|
|
|owner.login |string |迁移接受者的标识 |
|
|
|
|
|
|
|owner.image_url |string |迁移接受者头像 |
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"project": {
|
|
|
|
|
|
"id": 86,
|
|
|
|
|
|
"identifier": "ceshi_repo1",
|
|
|
|
|
|
"name": "测试项目啊1",
|
|
|
|
|
|
"description": "二十多",
|
|
|
|
|
|
"is_public": true,
|
|
|
|
|
|
"owner": {
|
|
|
|
|
|
"id": 52,
|
|
|
|
|
|
"type": "Organization",
|
|
|
|
|
|
"name": "身份卡手动阀",
|
|
|
|
|
|
"login": "ceshi1",
|
|
|
|
|
|
"image_url": "images/avatars/Organization/52?t=1618805056"
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"user": {
|
|
|
|
|
|
"id": 6,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "yystopf",
|
|
|
|
|
|
"login": "yystopf",
|
|
|
|
|
|
"image_url": "system/lets/letter_avatars/2/Y/241_125_89/120.png"
|
|
|
|
|
|
},
|
|
|
|
|
|
"owner": {
|
|
|
|
|
|
"id": 9,
|
|
|
|
|
|
"type": "Organization",
|
|
|
|
|
|
"name": "测试组织",
|
|
|
|
|
|
"login": "ceshi_org",
|
|
|
|
|
|
"image_url": "images/avatars/Organization/9?t=1612706073"
|
|
|
|
|
|
},
|
|
|
|
|
|
"id": 4,
|
|
|
|
|
|
"status": "common",
|
|
|
|
|
|
"created_at": "2021-04-26 09:54",
|
|
|
|
|
|
"time_ago": "1分钟前"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 取消迁移项目
|
|
|
|
|
|
迁移项目,edit接口is_transfering为true表示正在迁移
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST http://localhost:3000/api/ceshi1/ceshi_repo1/applied_transfer_projects/cancel.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/:owner/:repo/applied_transfer_projects/cancel.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST /api/:owner/:repo/applied_transfer_projects/cancel.json`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|owner |是| |string |用户登录名 |
|
|
|
|
|
|
|repo |是| |string |项目标识identifier |
|
|
|
|
|
|
|
|
|
|
|
|
### 返回字段说明
|
|
|
|
|
|
参数 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ----------- | -----------
|
2021-04-26 10:57:57 +08:00
|
|
|
|
|id |int |迁移id |
|
|
|
|
|
|
|status |string |迁移状态,canceled:取消,common:正在迁移, accept:已接受,refuse:已拒绝|
|
|
|
|
|
|
|time_ago |string |迁移创建的时间 |
|
2021-04-26 10:07:22 +08:00
|
|
|
|
|project.id |int |迁移项目的id |
|
|
|
|
|
|
|project.identifier |string |迁移项目的标识 |
|
|
|
|
|
|
|project.name |string |迁移项目的名称 |
|
|
|
|
|
|
|project.description |string |迁移项目的描述 |
|
|
|
|
|
|
|project.is_public |bool |迁移项目是否公开 |
|
|
|
|
|
|
|project.owner.id |bool |迁移项目拥有者id |
|
|
|
|
|
|
|project.owner.type |string |迁移项目拥有者类型 |
|
|
|
|
|
|
|project.owner.name |string |迁移项目拥有者昵称 |
|
|
|
|
|
|
|project.owner.login |string |迁移项目拥有者标识 |
|
|
|
|
|
|
|project.owner.image_url |string |迁移项目拥有者头像 |
|
|
|
|
|
|
|user.id |int |迁移创建者的id |
|
|
|
|
|
|
|user.type |string |迁移创建者的类型 |
|
|
|
|
|
|
|user.name |string |迁移创建者的名称 |
|
|
|
|
|
|
|user.login |string |迁移创建者的标识 |
|
|
|
|
|
|
|user.image_url |string |迁移创建者头像 |
|
|
|
|
|
|
|owner.id |int |迁移接受者的id |
|
|
|
|
|
|
|owner.type |string |迁移接受者的类型 |
|
|
|
|
|
|
|owner.name |string |迁移接受者的名称 |
|
|
|
|
|
|
|owner.login |string |迁移接受者的标识 |
|
|
|
|
|
|
|owner.image_url |string |迁移接受者头像 |
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"project": {
|
|
|
|
|
|
"id": 86,
|
|
|
|
|
|
"identifier": "ceshi_repo1",
|
|
|
|
|
|
"name": "测试项目啊1",
|
|
|
|
|
|
"description": "二十多",
|
|
|
|
|
|
"is_public": true,
|
|
|
|
|
|
"owner": {
|
|
|
|
|
|
"id": 52,
|
|
|
|
|
|
"type": "Organization",
|
|
|
|
|
|
"name": "身份卡手动阀",
|
|
|
|
|
|
"login": "ceshi1",
|
|
|
|
|
|
"image_url": "images/avatars/Organization/52?t=1618805056"
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"user": {
|
|
|
|
|
|
"id": 6,
|
|
|
|
|
|
"type": "User",
|
|
|
|
|
|
"name": "yystopf",
|
|
|
|
|
|
"login": "yystopf",
|
|
|
|
|
|
"image_url": "system/lets/letter_avatars/2/Y/241_125_89/120.png"
|
|
|
|
|
|
},
|
|
|
|
|
|
"owner": {
|
|
|
|
|
|
"id": 9,
|
|
|
|
|
|
"type": "Organization",
|
|
|
|
|
|
"name": "测试组织",
|
|
|
|
|
|
"login": "ceshi_org",
|
|
|
|
|
|
"image_url": "images/avatars/Organization/9?t=1612706073"
|
|
|
|
|
|
},
|
|
|
|
|
|
"id": 4,
|
|
|
|
|
|
"status": "common",
|
|
|
|
|
|
"created_at": "2021-04-26 09:54",
|
|
|
|
|
|
"time_ago": "1分钟前"
|
|
|
|
|
|
}
|
2022-05-26 15:08:42 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 退出项目
|
|
|
|
|
|
供项目成员(开发者、报告者)退出项目用
|
|
|
|
|
|
|
|
|
|
|
|
> 示例:
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
|
curl -X POST http://localhost:3000/api/ceshi1/ceshi_repo1/quit.json
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
await octokit.request('POST /api/:owner/:repo/quit.json')
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### HTTP 请求
|
|
|
|
|
|
`POST /api/:owner/:repo/quit.json`
|
|
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
|
参数 | 必选 | 默认 | 类型 | 字段说明
|
|
|
|
|
|
--------- | ------- | ------- | -------- | ----------
|
|
|
|
|
|
|owner |是| |string |用户登录名 |
|
|
|
|
|
|
|repo |是| |string |项目标识identifier |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 返回的JSON示例:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"status": 0,
|
|
|
|
|
|
"message": "success"
|
|
|
|
|
|
}
|
2021-04-26 10:07:22 +08:00
|
|
|
|
```
|