NAV
Shell JavaScript

Introduction

Welcome to the Trustie API! You can use our API to access Trustie API endpoints, which can get information on projects, repository, and users in our platform.

We have language bindings in Shell,avaScript! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

This example API documentation page was created with Trustie. Feel free to edit it and use it as a base for your own API's documentation.

Licenses

Get All Licenses

The Licenses API returns metadata about popular open source licenses and information about a particular project's license file.

示例:

curl -X GET \
-d "name=AFL" \
http://localhost:3000/api/licenses
await octokit.request('GET /api/licenses')

HTTP Request

GET https://forgeplus.trustie.net/api/licenses.json

请求参数

Name Required Type Description
name false string name of the license

返回字段说明:

{
  "licenses": [
    {
      "id": 57,
      "name": "AFL-1.2"
    },
    {
      "id": 76,
      "name": "AFL-3.0"
    },
    {
      "id": 214,
      "name": "AFL-1.1"
    },
    {
      "id": 326,
      "name": "AFL-2.1"
    },
    {
      "id": 350,
      "name": "AFL-2.0"
    }
  ]
}

Gitignores

gitignore模板列表

获取gitignore模板列表, 支持名称搜索过滤

示例:

curl -X GET \
-d "name=Ada" \
http://localhost:3000/api/ignores.json
await octokit.request('GET /api/ignores.json')

HTTP 请求

GET api/ignores.json

请求参数

参数 必选 默认 类型 字段说明
name string

返回字段说明

参数 类型 字段说明
id int id
name string gitignore名称

返回的JSON示例:

{
  "ignores": [
    {
      "id": 1,
      "name": "Ada"
    }
  ]
}

PublicKeys

public_keys列表

获取public_keys列表,支持分页

示例:

curl -X GET \
http://localhost:3000/api/public_keys.json
await octokit.request('GET /api/public_keys.json')

HTTP 请求

GET api/public_keys.json

请求参数

参数 必选 默认 类型 字段说明
page 1 int 页码
limit 15 int 每页数量

返回字段说明

参数 类型 字段说明
total_count int 总数
public_keys.id int ID
public_keys.name string 密钥标题
public_keys.content string 密钥内容
public_keys.fingerprint string 密钥标识
public_keys.created_time string 密钥创建时间

返回的JSON示例:

{
    "total_count": 1,
    "public_keys": [
        {
            "id": 16,
            "name": "xxx",
            "content": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDe5ETOTB5PcmcYJkIhfF7+mxmJQDCLg7/LnMoKHpKoo/jYUnFU9OjfsxVo3FTNUvh2475WXMAur5KsFoNKjK9+JHxvoXyJKmyVPWgXU/NRxQyaWPnPLPK8qPRF5ksJE6feBOqtsdxsvBiHs2r1NX/U26Ecnpr6avudD0cmyrEfbYMWbupLrhsd39dswPT73f3W5jc7B9Y47Ioiv8UOju3ABt1+kpuAjaaVC6VtUQoEFiZb1y33yBnyePya7dvFyApyD4ILyyIG2rtZWK7l53YFnwZDuFsTWjEEEQD0U4FBSFdH5wtwx0WQLMSNyTtaFBSG0kJ+uiQQIrxlvikcm63df7zbC3/rWLPsKgW122Zt966dcpFqiCiJNDKZPPw3qpg8TBL6X+qIZ+FxVEk/16/zScpyEfoxQp0GvgxI7hPLErmfkC5tMsib8MAXYBNyvJXna0vg/wOaNNIaI4SAH9Ksh3f/TtalYVjp6WxIwVBfnbq51WnmlnEXePtX6XjAGL+GbF2VQ1nv/IzrY09tNbTV6wQsrSIP3VDzYQxdJ1rdsVNMoJB0H2Pu0NdcSz53Wx45N+myD0QnE05ss+zDp5StY90OYsx2aCo6qAA8Qn2jUjdta7MQWwkPfKrta4tTQ0XbWMjx4/E1+l3J5liwZkl2XOGOwhfXdRsBjaEziZ18kQ== yystopf@163.com",
            "fingerprint": "SHA256:cU8AK/+roqUUyiaYXIdS2Nj4+Rb2p6rqWSeRDc+aqKM",
            "created_unix": 1626246596,
            "created_time": "2021/07/14 15:09"
        }
    ]
}

创建public_key

创建public_key

示例:

curl -X POST \
http://localhost:3000/api/public_keys.json
await octokit.request('POST /api/public_keys.json')

HTTP 请求

POST api/public_keys.json

请求参数

参数 必选 默认 类型 字段说明
key string 密钥
title string 密钥标题

请求的JSON示例: json { "public_key": { "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDe5ETOTB5PcmcYJkIhfF7+mxmJQDCLg7/LnMoKHpKoo/jYUnFU9OjfsxVo3FTNUvh2475WXMAur5KsFoNKjK9+JHxvoXyJKmyVPWgXU/NRxQyaWPnPLPK8qPRF5ksJE6feBOqtsdxsvBiHs2r1NX/U26Ecnpr6avudD0cmyrEfbYMWbupLrhsd39dswPT73f3W5jc7B9Y47Ioiv8UOju3ABt1+kpuAjaaVC6VtUQoEFiZb1y33yBnyePya7dvFyApyD4ILyyIG2rtZWK7l53YFnwZDuFsTWjEEEQD0U4FBSFdH5wtwx0WQLMSNyTtaFBSG0kJ+uiQQIrxlvikcm63df7zbC3/rWLPsKgW122Zt966dcpFqiCiJNDKZPPw3qpg8TBL6X+qIZ+FxVEk/16/zScpyEfoxQp0GvgxI7hPLErmfkC5tMsib8MAXYBNyvJXna0vg/wOaNNIaI4SAH9Ksh3f/TtalYVjp6WxIwVBfnbq51WnmlnEXePtX6XjAGL+GbF2VQ1nv/IzrY09tNbTV6wQsrSIP3VDzYQxdJ1rdsVNMoJB0H2Pu0NdcSz53Wx45N+myD0QnE05ss+zDp5StY90OYsx2aCo6qAA8Qn2jUjdta7MQWwkPfKrta4tTQ0XbWMjx4/E1+l3J5liwZkl2XOGOwhfXdRsBjaEziZ18kQ== yystopf@163.com", "title": "xxx" } }

返回字段说明

参数 类型 字段说明
total_count int 总数
id int ID
name string 密钥标题
content string 密钥内容
fingerprint string 密钥标识
created_time string 密钥创建时间

返回的JSON示例:

{
    "id": 17,
    "name": "xxx",
    "content": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDe5ETOTB5PcmcYJkIhfF7+mxmJQDCLg7/LnMoKHpKoo/jYUnFU9OjfsxVo3FTNUvh2475WXMAur5KsFoNKjK9+JHxvoXyJKmyVPWgXU/NRxQyaWPnPLPK8qPRF5ksJE6feBOqtsdxsvBiHs2r1NX/U26Ecnpr6avudD0cmyrEfbYMWbupLrhsd39dswPT73f3W5jc7B9Y47Ioiv8UOju3ABt1+kpuAjaaVC6VtUQoEFiZb1y33yBnyePya7dvFyApyD4ILyyIG2rtZWK7l53YFnwZDuFsTWjEEEQD0U4FBSFdH5wtwx0WQLMSNyTtaFBSG0kJ+uiQQIrxlvikcm63df7zbC3/rWLPsKgW122Zt966dcpFqiCiJNDKZPPw3qpg8TBL6X+qIZ+FxVEk/16/zScpyEfoxQp0GvgxI7hPLErmfkC5tMsib8MAXYBNyvJXna0vg/wOaNNIaI4SAH9Ksh3f/TtalYVjp6WxIwVBfnbq51WnmlnEXePtX6XjAGL+GbF2VQ1nv/IzrY09tNbTV6wQsrSIP3VDzYQxdJ1rdsVNMoJB0H2Pu0NdcSz53Wx45N+myD0QnE05ss+zDp5StY90OYsx2aCo6qAA8Qn2jUjdta7MQWwkPfKrta4tTQ0XbWMjx4/E1+l3J5liwZkl2XOGOwhfXdRsBjaEziZ18kQ== yystopf@163.com",
    "fingerprint": "SHA256:cU8AK/+roqUUyiaYXIdS2Nj4+Rb2p6rqWSeRDc+aqKM",
    "created_time": "2021/07/14 15:26"
}

删除public_key

删除public_key

示例:

curl -X DELETE \
http://localhost:3000/api/public_keys/:id.json
await octokit.request('DELETE /api/public_keys/:id.json')

HTTP 请求

DELETE api/public_keys/:id.json

请求参数

参数 必选 默认 类型 字段说明
id int 密钥ID

返回的JSON示例:

{
    "status": 0,
    "message": "success"
}

Users

获取当前登陆用户信息

获取当前登陆用户信息

示例:

curl -X GET http://localhost:3000/api/users/me.json
await octokit.request('GET /api/users/me.json')

HTTP 请求

GET api/users/me.json

返回字段说明:

参数 类型 字段说明
user_id int 用户id
username string 用户名称
admin boolean 是否为管理用户
login string 登录名
image_url string 用户头像

返回的JSON示例:

{
  "username": "username",
  "login": "login",
  "user_id": 100000,
  "image_url": "avatars/User/b",
  "admin": false
}

更改用户信息

更改用户信息

示例:

curl -X PATCH/PUT http://localhost:3000/api/users/yystopf.json
await octokit.request('PATCH/PUT /api/users/:login.json')

HTTP 请求

PATCH/PUT /api/users/:login.json

请求字段说明:

参数 类型 字段说明
user.nickname string 用户昵称
user.image base64/file 用户头像
user.user_extension_attributes.gender int 性别, 0男 1女
user.user_extension_attributes.province string 省份
user.user_extension_attributes.city string 城市
user.user_extension_attributes.description string 简介
user.user_extension_attributes.custom_department string 单位名称
user.user_extension_attributes.technical_title string 职业
user.user_extension_attributes.show_email bool 是否展示邮箱
user.user_extension_attributes.show_location bool 是否展示位置
user.user_extension_attributes.show_department bool 是否展示公司

请求的JSON示例:

{
    "user": {
        "nickname": "xxx",
        "user_extension_attributes": {
            "gender": 0,
            "province": "湖南",
            "city": "长沙",
            "description": "个性签名",
            "custom_department": "湖南智擎科技有限公司",
        }
    }
}

返回的JSON示例:

{
    "status": 0,
    "message": "success"
}

获取用户星标项目

获取用户星标项目

示例:

curl -X GET http://localhost:3000/api/users/yystopf/is_pinned_projects.json
await octokit.request('GET /api/users/:login/is_pinned_projects.json')

HTTP 请求

GET api/users/:login/is_pinned_projects.json

返回字段说明:

参数 类型 字段说明
total_count int 星标项目数量
identifier string 项目标识
name string 项目名称
description string 项目描述
visits int 项目访问数量
praises_count int 项目点赞数量
watchers_count int 项目关注数量
issues_count int 项目issue数量
pull_requests_count int 项目合并请求数量
forked_count int 项目复刻数量
is_public bool 项目是否公开
mirror_url string 镜像地址
type int 项目类型 0 普通项目 1 普通镜像项目 2 同步镜像项目
time_ago string 上次更新时间
open_devops int 是否开启devops
forked_from_project_id int fork项目id
platform string 项目平台
author.name string 项目拥有者名称
author.type string 项目拥有者类型
author.login string 项目拥有者用户名
author.image_url string 项目拥有者头像
category.name string 项目分类名称
language.name string 项目语言名称
position int 项目排序

返回的JSON示例:

{
    "total_count": 1,
    "projects": [
        {
            "id": 89,
            "repo_id": 89,
            "identifier": "monkey",
            "name": "boke",
            "description": "dkkd",
            "visits": 4,
            "praises_count": 0,
            "watchers_count": 0,
            "issues_count": 0,
            "pull_requests_count": 0,
            "forked_count": 0,
            "is_public": true,
            "mirror_url": "https://github.com/viletyy/monkey.git",
            "type": 1,
            "last_update_time": 1619685144,
            "time_ago": "27天前",
            "forked_from_project_id": null,
            "open_devops": false,
            "platform": "forge",
            "author": {
                "name": "测试组织",
                "type": "Organization",
                "login": "ceshi_org",
                "image_url": "images/avatars/Organization/9?t=1612706073"
            },
            "category": {
                "id": 3,
                "name": "深度学习"
            },
            "language": {
                "id": 2,
                "name": "C"
            }
        }
    ]
}

用户添加星标项目

用户添加星标项目

示例:

curl -X POST http://localhost:3000/api/users/yystopf/is_pinned_projects/pin.json
await octokit.request('GET /api/users/:login/is_pinned_projects/pin.json')

HTTP 请求

POST /api/users/:login/is_pinned_projects/pin.json

请求字段说明:

同时设定多个星标项目

参数 类型 字段说明
is_pinned_project_ids array 设定为星标项目的id

只设定一个星标项目

参数 类型 字段说明
is_pinned_project_id integer 设定为星标项目的id

返回的JSON示例:

{
    "status": 0,
    "message": "success"
}

星标项目展示排序

星标项目展示排序

示例:

curl -X PATCH http://localhost:3000/api/users/yystopf/is_pinned_projects/11.json
await octokit.request('PATCH/PUT /api/users/:login/is_pinned_projects/:id.json')

HTTP 请求

PATCH/PUT /api/users/:login/is_pinned_projects/:id.json

请求字段说明:

参数 类型 字段说明
pinned_projects.position int 排序,数字越大排名越前

请求的JSON示例:

{
    "pinned_project": {
        "position": 1
    }
}

返回的JSON示例:

{
    "status": 0,
    "message": "success"
}

用户近期活动统计

用户近期活动统计, 默认显示近一周的数据

示例:

curl -X GET http://localhost:3000/api/users/yystopf/statistics/activity.json
await octokit.request('GET /api/users/:login/statistics/activity.json')

HTTP 请求

GET /api/users/:login/statistics/activity.json

返回字段说明:

参数 类型 字段说明
dates array 时间
issues_count array 易修数量
pull_requests_count array 合并请求数量
commtis_count array 贡献数量

返回的JSON示例:

{
    "dates": [
        "2021.05.21",
        "2021.05.22",
        "2021.05.23",
        "2021.05.24",
        "2021.05.25",
        "2021.05.26",
        "2021.05.27",
        "2021.05.28"
    ],
    "issues_count": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
    ],
    "pull_requests_count": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
    ],
    "commits_count": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
    ]
}

获取用户贡献度

获取用户贡献度

示例:

curl -X GET http://localhost:3000/api/users/yystopf/headmaps.json
await octokit.request('GET /api/users/:login/headmaps.json')

HTTP 请求

GET api/users/:login/headmaps.json

请求字段说明:

参数 类型 字段说明
year string 年份

返回字段说明:

参数 类型 字段说明
total_contributions int 所选时间内的总贡献度
headmaps.date string 时间
headmaps.contributions int 贡献度

返回的JSON示例:

{
    "total_contributions": 139,
    "headmaps": [
        {
            "date": "2021-02-07",
            "contributions": 1
        },
        {
            "date": "2021-02-21",
            "contributions": 13
        },
        {
            "date": "2021-02-25",
            "contributions": 5
        },
        {
            "date": "2021-03-01",
            "contributions": 2
        },
        {
            "date": "2021-03-04",
            "contributions": 1
        },
        {
            "date": "2021-03-15",
            "contributions": 9
        },
        {
            "date": "2021-03-22",
            "contributions": 14
        },
        {
            "date": "2021-03-24",
            "contributions": 1
        },
        {
            "date": "2021-03-30",
            "contributions": 11
        },
        {
            "date": "2021-04-06",
            "contributions": 1
        },
        {
            "date": "2021-04-12",
            "contributions": 1
        },
        {
            "date": "2021-04-13",
            "contributions": 2
        },
        {
            "date": "2021-04-19",
            "contributions": 3
        },
        {
            "date": "2021-04-23",
            "contributions": 37
        },
        {
            "date": "2021-04-25",
            "contributions": 2
        },
        {
            "date": "2021-04-26",
            "contributions": 6
        },
        {
            "date": "2021-04-28",
            "contributions": 1
        },
        {
            "date": "2021-04-29",
            "contributions": 18
        },
        {
            "date": "2021-04-30",
            "contributions": 9
        },
        {
            "date": "2021-05-04",
            "contributions": 1
        },
        {
            "date": "2021-05-06",
            "contributions": 1
        }
    ]
}

获取用户动态

获取用户动态

示例:

curl -X GET http://localhost:3000/api/users/yystopf/project_trends.json
await octokit.request('GET /api/users/:login/project_trends.json')

HTTP 请求

GET api/users/:login/project_trends.json

请求字段说明:

参数 类型 字段说明
date string 日期,格式: 2021-05-28

返回字段说明:

参数 类型 字段说明
total_count int 所选时间内的总动态数
project_trends.trend_type string 动态类型,Issue:易修,VersionRelease:版本发布,PullRequest:合并请求
project_trends.action_type string 操作类型
project_trends.trend_id integer 动态id
project_trends.user_name string 用户名称
project_trends.user_login string 用户用户名
project_trends.user_avatar string 用户头像
project_trends.action_time string 操作时间
project_trends.name string 动态标题

返回的JSON示例:

{
    "total_count": 16,
    "project_trends": [
        {
            "id": 27,
            "trend_type": "Issue",
            "action_type": "创建了工单",
            "trend_id": 18,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "21天前",
            "name": "31213123123",
            "issue_type": "1",
            "status_id": 2,
            "priority_id": 4,
            "created_at": "2021-05-07 15:39",
            "updated_at": "2021-05-27 15:42",
            "assign_user_name": "yystopf",
            "assign_user_login": "yystopf",
            "issue_journal_size": 1,
            "issue_journals": []
        },
        {
            "id": 8,
            "trend_type": "VersionRelease",
            "action_type": "创建了版本发布",
            "trend_id": 8,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "24天前",
            "name": "heihei1",
            "tag_name": "v1.0",
            "target_commitish": "master",
            "tarball_url": "http://localhost:10080/forgeceshiorg1/ceshi1/archive/v1.0.tar.gz",
            "zipball_url": "http://localhost:10080/forgeceshiorg1/ceshi1/archive/v1.0.zip",
            "url": "http://localhost:10080/api/v1/repos/forgeceshiorg1/ceshi1/releases/84",
            "version_gid": "84",
            "created_at": "2021-05-04 12:04"
        },
        {
            "id": 25,
            "trend_type": "PullRequest",
            "action_type": "关闭了合并请求",
            "trend_id": 14,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "28天前",
            "name": "13",
            "created_at": "2021-04-30 15:39"
        },
        {
            "id": 24,
            "trend_type": "PullRequest",
            "action_type": "创建了合并请求",
            "trend_id": 13,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "28天前",
            "name": "211212",
            "created_at": "2021-04-30 15:37"
        },
        {
            "id": 23,
            "trend_type": "PullRequest",
            "action_type": "创建了合并请求",
            "trend_id": 12,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "28天前",
            "name": "奇偶哦iu",
            "created_at": "2021-04-30 10:19"
        },
        {
            "id": 22,
            "trend_type": "PullRequest",
            "action_type": "创建了合并请求",
            "trend_id": 11,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "28天前",
            "name": "2112123",
            "created_at": "2021-04-29 18:46"
        },
        {
            "id": 21,
            "trend_type": "PullRequest",
            "action_type": "关闭了合并请求",
            "trend_id": 10,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "28天前",
            "name": "23123",
            "created_at": "2021-04-29 18:45"
        },
        {
            "id": 20,
            "trend_type": "PullRequest",
            "action_type": "创建了合并请求",
            "trend_id": 9,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "28天前",
            "name": "33",
            "created_at": "2021-04-29 18:37"
        },
        {
            "id": 19,
            "trend_type": "PullRequest",
            "action_type": "关闭了合并请求",
            "trend_id": 8,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "28天前",
            "name": "gggg",
            "created_at": "2021-04-29 17:51"
        },
        {
            "id": 16,
            "trend_type": "Issue",
            "action_type": "创建了工单",
            "trend_id": 8,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "1个月前",
            "name": "hjhkj",
            "issue_type": "1",
            "status_id": 1,
            "priority_id": 2,
            "created_at": "2021-04-19 10:52",
            "updated_at": "2021-04-19 10:52",
            "assign_user_name": null,
            "assign_user_login": null,
            "issue_journal_size": 0,
            "issue_journals": []
        },
        {
            "id": 7,
            "trend_type": "VersionRelease",
            "action_type": "创建了版本发布",
            "trend_id": 7,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "1个月前",
            "name": "v3.0.1",
            "tag_name": "v3.0.1",
            "target_commitish": "master",
            "tarball_url": "http://localhost:10080/yystopf/ceshirepo1/archive/v3.0.1.tar.gz",
            "zipball_url": "http://localhost:10080/yystopf/ceshirepo1/archive/v3.0.1.zip",
            "url": "http://localhost:10080/api/v1/repos/yystopf/ceshirepo1/releases/78",
            "version_gid": "78",
            "created_at": "2021-03-30 15:51"
        },
        {
            "id": 6,
            "trend_type": "VersionRelease",
            "action_type": "创建了版本发布",
            "trend_id": 6,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "1个月前",
            "name": "v3.0.0",
            "tag_name": "v3.0.0",
            "target_commitish": "master",
            "tarball_url": "http://localhost:10080/yystopf/ceshirepo1/archive/v3.0.0.tar.gz",
            "zipball_url": "http://localhost:10080/yystopf/ceshirepo1/archive/v3.0.0.zip",
            "url": "http://localhost:10080/api/v1/repos/yystopf/ceshirepo1/releases/77",
            "version_gid": "77",
            "created_at": "2021-03-30 15:33"
        },
        {
            "id": 5,
            "trend_type": "VersionRelease",
            "action_type": "创建了版本发布",
            "trend_id": 5,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "1个月前",
            "name": "v1.0.0",
            "tag_name": "v1.0.0",
            "target_commitish": "master",
            "tarball_url": "http://localhost:10080/yystopf/ceshirepo1/archive/v1.0.0.tar.gz",
            "zipball_url": "http://localhost:10080/yystopf/ceshirepo1/archive/v1.0.0.zip",
            "url": "http://localhost:10080/api/v1/repos/yystopf/ceshirepo1/releases/76",
            "version_gid": "76",
            "created_at": "2021-03-30 15:27"
        },
        {
            "id": 2,
            "trend_type": "VersionRelease",
            "action_type": "创建了版本发布",
            "trend_id": 2,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "2个月前",
            "name": "vvvv",
            "tag_name": "v1.1",
            "target_commitish": "dev",
            "tarball_url": "http://localhost:10080/yystopf/virus_blog/archive/v1.1.tar.gz",
            "zipball_url": "http://localhost:10080/yystopf/virus_blog/archive/v1.1.zip",
            "url": "http://localhost:10080/api/v1/repos/yystopf/virus_blog/releases/6",
            "version_gid": "6",
            "created_at": "2021-03-15 14:18"
        },
        {
            "id": 2,
            "trend_type": "PullRequest",
            "action_type": "创建了合并请求",
            "trend_id": 2,
            "user_name": "yystopf",
            "user_login": "yystopf",
            "user_avatar": "system/lets/letter_avatars/2/Y/241_125_89/120.png",
            "action_time": "3个月前",
            "name": "444",
            "created_at": "2021-02-25 17:31"
        }
    ]
}

用户开发能力

用户开发能力, 默认为所有时间下的开发能力

示例:

curl -X GET http://localhost:3000/api/users/yystopf/statistics/develop.json
await octokit.request('GET /api/users/:login/statistics/develop.json')

HTTP 请求

GET /api/users/:login/statistics/develop.json

请求字段说明:

参数 类型 字段说明
start_time integer 时间戳,开始时间,格式:1621526400
end_time integer 时间戳,结束时间,格式:1622131200

返回字段说明:

参数 类型 字段说明
influence int 影响力
contribution int 贡献度
activity int 活跃度
experience int 项目经验
language int 语言能力
languages_percent float 语言百分比
each_language_score int 各门语言分数

返回的JSON示例:

{
    "platform": {
        "influence": 61,
        "contribution": 75,
        "activity": 66,
        "experience": 95,
        "language": 87,
        "languages_percent": {
            "CSS": 0.03,
            "C#": 0.13,
            "Ruby": 0.04,
            "Go": 0.05,
            "C": 0.19,
            "Java": 0.34,
            "Python": 0.09,
            "C+": 0.01,
            "C++": 0.11,
            "Scala": 0.01,
            "HTML": 0.01
        },
        "each_language_score": {
            "CSS": 71,
            "C#": 86,
            "Ruby": 75,
            "Go": 77,
            "C": 90,
            "Java": 93,
            "Python": 83,
            "C+": 66,
            "C++": 85,
            "Scala": 66,
            "HTML": 66
        }
    },
    "user": {
        "influence": 60,
        "contribution": 72,
        "activity": 65,
        "experience": 88,
        "language": 84,
        "languages_percent": {
            "C": 0.25,
            "C#": 0.33,
            "C++": 0.13,
            "CSS": 0.08,
            "Go": 0.04,
            "HTML": 0.04,
            "Java": 0.04,
            "Ruby": 0.08
        },
        "each_language_score": {
            "C": 81,
            "C#": 84,
            "C++": 75,
            "CSS": 71,
            "Go": 66,
            "HTML": 66,
            "Java": 66,
            "Ruby": 71
        }
    }
}

用户角色定位

用户角色定位,默认显示所有时间下的角色定位数据

示例:

curl -X GET http://localhost:3000/api/users/yystopf/statistics/role.json
await octokit.request('GET /api/users/:login/statistics/role.json')

HTTP 请求

GET /api/users/:login/statistics/role.json

请求字段说明:

参数 类型 字段说明
start_time integer 时间戳,开始时间,格式:1621526400
end_time integer 时间戳,结束时间,格式:1622131200

返回字段说明:

参数 类型 字段说明
total_projects_count int 用户所有的项目数量
role.object.count int 用户该语言下的项目数量
role.object.percent float 用户该语言下的项目占比

返回的JSON示例:

{
    "total_projects_count": 27,
    "role": {
        "owner": {
            "count": 24,
            "percent": 0.89
        },
        "manager": {
            "count": 1,
            "percent": 0.04
        },
        "developer": {
            "count": 2,
            "percent": 0.07
        },
        "reporter": {
            "count": 0,
            "percent": 0.0
        }
    }
}

用户专业定位

用户专业定位,默认显示所有时间下的专业定位数据

示例:

curl -X GET http://localhost:3000/api/users/yystopf/statistics/major.json
await octokit.request('GET /api/users/:login/statistics/major.json')

HTTP 请求

GET /api/users/:login/statistics/major.json

请求字段说明:

参数 类型 字段说明
start_time integer 时间戳,开始时间,格式:1621526400
end_time integer 时间戳,结束时间,格式:1622131200

返回字段说明:

参数 类型 字段说明
categories int 用户项目分类

返回的JSON示例:

{
    "categories": [
        "大数据",
        "机器学习",
        "深度学习",
        "人工智能",
        "智慧医疗",
        "云计算"
    ]
}

待办事项-用户通知信息

待办事项-用户通知信息

示例:

curl -X GET http://localhost:3000/api/users/yystopf/applied_messages.json
await octokit.request('GET /api/users/:login/applied_messages.json')

HTTP 请求

GET /api/users/:login/applied_messages.json

请求字段说明:

参数 类型 字段说明
login string 用户标识

返回字段说明:

参数 类型 字段说明
applied object 通知主体
applied.id int 通知主体的迁移id
applied.status string 通知主体的迁移状态,canceled:取消,common:正在迁移, accept:已接受,refuse:已拒绝
applied.time_ago string 通知主体的迁移创建的时间
applied.project.id int 通知主体的迁移项目的id
applied.project.identifier string 通知主体的迁移项目的标识
applied.project.name string 通知主体的迁移项目的名称
applied.project.description string 通知主体的迁移项目的描述
applied.project.is_public bool 通知主体的迁移项目是否公开
applied.project.owner.id bool 通知主体的迁移项目拥有者id
applied.project.owner.type string 通知主体的迁移项目拥有者类型
applied.project.owner.name string 通知主体的迁移项目拥有者昵称
applied.project.owner.login string 通知主体的迁移项目拥有者标识
applied.project.owner.image_url string 通知主体的迁移项目拥有者头像
applied.user.id int 通知主体的迁移创建者的id
applied.user.type string 通知主体的迁移创建者的类型
applied.user.name string 通知主体的迁移创建者的名称
applied.user.login string 通知主体的迁移创建者的标识
applied.user.image_url string 通知主体的迁移创建者头像
applied_user.id int 通知发起者的id
applied_user.type string 通知发起者的类型
applied_user.name string 通知发起者的名称
applied_user.login string 通知发起者的标识
applied_user.image_url string 通知发起者头像
applied_type string 通知类型
name string 通知内容
viewed string 是否已读,waiting:未读,viewed:已读
status string 通知状态, canceled:已取消,common: 正常,successed:成功,failure:失败
time_ago string 通知时间

返回的JSON示例:

{
    "total_count": 5,
    "applied_messages": [
        {
            "applied": {
                "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": 6,
                "status": "accepted",
                "created_at": "2021-06-09 16:34",
                "time_ago": "1分钟前"
            },
            "applied_user": {
                "id": 6,
                "type": "User",
                "name": "何慧",
                "login": "yystopf",
                "image_url": "images/avatars/User/6?t=1622513134"
            },
            "applied_type": "AppliedProject",
            "name": "已通过你加入【hehuisssjssjjsjs】仓库的申请。",
            "viewed": "waiting",
            "status": "successed",
            "created_at": "2021-06-09 16:34",
            "time_ago": "1分钟前"
        },
        {
            "applied": {
                "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": "35分钟前"
            },
            "applied_user": {
                "id": 6,
                "type": "User",
                "name": "yystopf",
                "login": "yystopf",
                "image_url": "system/lets/letter_avatars/2/Y/241_125_89/120.png"
            },
            "applied_type": "AppliedTransferProject",
            "name": "正在将【测试项目啊1】仓库转移给【测试组织】",
            "viewed": "viewed",
            "status": "common",
            "created_at": "2021-04-26 09:54",
            "time_ago": "35分钟前"
        },
        ...
    ]
}

待办事项-接受仓库

待办事项-接受仓库

示例:

curl -X GET http://localhost:3000/api/users/yystopf/applied_transfer_projects.json
await octokit.request('GET /api/users/:login/applied_transfer_projects.json')

HTTP 请求

GET /api/users/:login/applied_transfer_projects.json

请求字段说明:

参数 类型 字段说明
login 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示例:

{
    "total_count": 4,
    "applied_transfer_projects": [
        {
            "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": 52,
                "type": "Organization",
                "name": "身份卡手动阀",
                "login": "ceshi1",
                "image_url": "images/avatars/Organization/52?t=1618805056"
            },
            "id": 1,
            "status": "canceled",
            "created_at": "2021-04-25 18:06",
            "time_ago": "16小时前"
        },
        ...
    ]
}

用户接受迁移

用户接受迁移

示例:

curl -X POST http://localhost:3000/api/users/yystopf/applied_transfer_projects/2/accept.json
await octokit.request('GET /api/users/:login/applied_transfer_projects/:id/accept.json')

HTTP 请求

GET /api/users/:login/applied_transfer_projects/:id/accept.json

请求字段说明:

参数 类型 字段说明
login string 用户标识
id int 迁移id

返回字段说明:

参数 类型 字段说明
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示例:

{
    "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": 52,
        "type": "Organization",
        "name": "身份卡手动阀",
        "login": "ceshi1",
        "image_url": "images/avatars/Organization/52?t=1618805056"
    },
    "id": 1,
    "status": "canceled",
    "created_at": "2021-04-25 18:06",
    "time_ago": "16小时前"
}

用户拒绝迁移

用户拒绝迁移

示例:

curl -X POST http://localhost:3000/api/users/yystopf/applied_transfer_projects/2/refuse.json
await octokit.request('GET /api/users/:login/applied_transfer_projects/:id/refuse.json')

HTTP 请求

GET /api/users/:login/applied_transfer_projects/:id/refuse.json

请求字段说明:

参数 类型 字段说明
login string 用户标识
id int 迁移id

返回字段说明:

参数 类型 字段说明
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示例:

{
    "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": 52,
        "type": "Organization",
        "name": "身份卡手动阀",
        "login": "ceshi1",
        "image_url": "images/avatars/Organization/52?t=1618805056"
    },
    "id": 1,
    "status": "canceled",
    "created_at": "2021-04-25 18:06",
    "time_ago": "16小时前"
}

待办事项-项目申请

待办事项-项目申请

示例:

curl -X GET http://localhost:3000/api/users/yystopf/applied_projects.json
await octokit.request('GET /api/users/:login/applied_projects.json')

HTTP 请求

GET /api/users/:login/applied_projects.json

请求字段说明:

参数 类型 字段说明
login 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 申请创建者头像

返回的JSON示例:

{
    "total_count": 4,
    "applied_transfer_projects": [
        {
            "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": "7分钟前"
        },
        ...
    ]
}

用户接受申请

用户接受申请

示例:

curl -X POST http://localhost:3000/api/users/yystopf/applied_projects/2/accept.json
await octokit.request('GET /api/users/:login/applied_projects/:id/accept.json')

HTTP 请求

GET /api/users/:login/applied_projects/:id/accept.json

请求字段说明:

参数 类型 字段说明
login string 用户标识
id int 申请id

返回字段说明:

参数 类型 字段说明
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示例:

{
    "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": "accept",
    "created_at": "2021-06-09 16:41",
    "time_ago": "7分钟前"
}

用户拒绝申请

用户拒绝申请

示例:

curl -X POST http://localhost:3000/api/users/yystopf/applied_projects/2/refuse.json
await octokit.request('GET /api/users/:login/applied_projects/:id/refuse.json')

HTTP 请求

GET /api/users/:login/applied_projects/:id/refuse.json

请求字段说明:

参数 类型 字段说明
login string 用户标识
id int 申请id

返回字段说明:

参数 类型 字段说明
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示例:

{
    "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": "accept",
    "created_at": "2021-06-09 16:41",
    "time_ago": "7分钟前"
}

Projects

申请加入项目

申请加入项目

示例:

curl -X POST http://localhost:3000/api/applied_projects.json
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示例

{
  "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示例:

{
    "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分钟前"
}

获取项目列表

获取项目列表,也可以更加相关条件过滤搜素

示例:

curl -X GET \
-d "page=1" \
-d "limit=5" \
http://localhost:3000/api/projects  | jq
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示例:

{
  "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"
      }
    }
  ]
}

推荐项目

获取推荐项目列表

示例:

curl -X GET \
http://localhost:3000/api/projects/recommend  | jq
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示例:

[
  {
    "id": 20,
    "repo_id": 2,
    "identifier": "PNAekinmH",
    "name": "FNILL",
    "visits": 13567,
    "author": {
      "name": "王一达",
      "login": "wangyida",
      "image_url": "avatars/User/b"
    },
    "category": {
      "id": 8,
      "name": "其他"
    }
  }
]

项目导航

获取项目导航信息

示例:

curl -X GET \
http://localhost:3000/api/yystopf/ceshi/menu_list  | jq
await octokit.request('GET /api/yystopf/ceshi/menu_list')

HTTP 请求

GET api/:owner/:repo/menu_list

请求参数

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier

返回字段说明

参数 类型 字段说明
menu_name string 导航名称, home:主页,code:代码库,issues:易修,pulls:合并请求,devops:工作流,versions:里程碑,activity:动态,setting:仓库设置

返回的JSON示例:

[
    {
        "menu_name": "home"
    },
    {
        "menu_name": "code"
    },
    {
        "menu_name": "pulls"
    },
    {
        "menu_name": "activity"
    }
]

项目主页

获取项目主页信息

示例:

curl -X GET \
http://localhost:3000/api/jasder/forgeplus/about  | jq
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示例:

{
  "content": "",
  "identifier": "forgeplus",
  attachments: []
}

项目模块信息

项目模块信息

示例:

curl -X GET \
http://localhost:3000/api/yystopf/ceshi/project_units.json
await octokit.request('GET /api/yystopf/ceshi/project_units')

HTTP 请求

GET /api/yystopf/ceshi/project_units

返回字段说明:

参数 类型 字段说明
type string 模块名称

返回的JSON示例:

[
    {
        "type": "code"
    },
    {
        "type": "pulls"
    },
    {
        "type": "issues"
    }
]

更改项目模块展示

更改项目模块展示

示例:

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
await octokit.request('POST /api/yystopf/ceshi/project_units')

HTTP 请求

POST /api/yystopf/ceshi/project_units

请求参数

参数 必选 默认 类型 字段说明
unit_types array 项目模块内容, 支持以下参数:code:代码库,issues:易修,pulls:合并请求,devops:工作流,versions:里程碑

返回字段说明:

参数 类型 字段说明
status int 返回状态, 0: 表示操作成功
message string 返回信息说明

返回的JSON示例:

{
    "status": 0,
    "message": "success"
}

创建项目

创建项目

示例:

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
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示例:

{
  "id": 3240,
  "name": "好项目"
}

创建镜像项目

创建镜像项目

示例:

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
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示例:

{
  "id": 3241,
  "name": "这是一个镜像项目"
}

同步镜像

手动同步镜像

示例:

curl -X POST http://localhost:3000/api/repositories/1244/sync_mirror.json
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示例:

{
  "status": 0,
  "message": "success"
}

Fork项目

fork项目

示例:

curl -X POST http://localhost:3000/api/jasder/forgeplus/forks.json
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示例:

{
  "id": 3290,
  "identifier": "newadm"
}

用户管理的组织列表

用户管理的组织列表

示例:

curl -X GET \
http://localhost:3000/api/ceshi1/ceshi_repo1/applied_transfer_projects/organizations.json  | jq
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 组织名称
description string 组织描述
avatar_url string|组织头像

返回的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表示正在迁移

示例:

curl -X POST http://localhost:3000/api/ceshi1/ceshi_repo1/applied_transfer_projects.json
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示例:

{
    "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表示正在迁移

示例:

curl -X POST http://localhost:3000/api/ceshi1/ceshi_repo1/applied_transfer_projects/cancel.json
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

返回字段说明

参数 类型 字段说明
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示例:

{
    "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分钟前"
}

Repositories

仓库详情

仓库详情

示例:

curl -X GET http://localhost:3000/api/jasder/jasder_test.json
await octokit.request('GET /api/jasder/jasder_test.json')

HTTP 请求

GET /api/:owner/:repo

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier

返回字段说明:

参数 类型 字段说明
id int id
name string 项目名称
identifier string 项目标识
is_public boolean 项目是否公开, true:公开,false:私有
description string 项目简介
repo_id int 仓库id
repo_identifier string 仓库标识

返回的JSON示例:

{
  "name": "ni项目",
  "identifier": "mirror_demo",
  "is_public": true,
  "description": "my first project mirror_demo",
  "repo_id": 75073,
  "repo_identifier": "mirror_demo"
}

仓库详情(简版)

仓库详情

示例:

curl -X GET http://localhost:3000/api/jasder/jasder_test/simple.json
await octokit.request('GET /api/jasder/jasder_test/simple.json')

HTTP 请求

GET /api/:owner/:repo/simple

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier

返回字段说明:

参数 类型 字段说明
id int id
name string 项目名称
identifier string 项目标识
is_public boolean 项目是否公开, true:公开,false:私有
description string 项目简介
repo_id int 仓库id
repo_identifier string 仓库标识

返回的JSON示例:

{
  "name": "ni项目",
  "identifier": "mirror_demo",
  "is_public": true,
  "description": "my first project mirror_demo",
  "repo_id": 75073,
  "repo_identifier": "mirror_demo"
}

仓库详情(新版)

仓库详情

示例:

curl -X GET http://localhost:3000/api/yystopf/ceshi/detail.json
await octokit.request('GET /api/yystopf/ceshi/detail.json')

HTTP 请求

GET /api/:owner/:repo/detail

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier

返回字段说明:

参数 类型 字段说明
content string 仓库简介
website string 仓库网址
readme string readme文件|
identifier string 项目标识
name string 项目名称
issues_count int 项目issue数量
pull_requests_count int 项目合并请求数量
project_identifier int 项目标识
praises_count int 项目点赞数量
forked_count int 项目复刻数量
watchers_count int 项目关注数量
versions_count int 项目里程碑数量
version_releases_count int 项目发行版数量
version_releasesed_count int 项目发行版已发行数量
permission string 项目权限
mirror_url string 镜像地址
mirror bool 是否为镜像项目
type int 项目类型 0 普通项目 1 普通镜像项目 2 同步镜像项目
open_devops int 是否开启devops
watched bool 是否关注
praised bool 是否点赞
status int 项目状态
forked_from_project_id int fork项目id
fork_info object fork项目信息
size string 仓库大小
ssh_url string 项目ssh地址
clone_url string 项目克隆地址
default_branch string 仓库默认分支
empty bool 仓库是否为空
full_name string 仓库全称
private bool 仓库是否为私有项目
license_name string 许可证名称
release_versions.list.name string 项目issue数量
release_versions.list.tag_name string 发行版标签名称
release_versions.list.created_at string 发行版创建时间
release_versions.total_count int 发行版数量
branches.list.name string 分支名称
branches.total_count int 分支数量
tags.list.name string 标签名称
tags.total_count int 标签数量
contributors.list.contributions int 贡献数量
contributors.list.login string 贡献者登录名
contributors.list.name string 贡献者用户名称
contributors.list.image_url string 贡献者头像
languages object 项目语言占比

返回的JSON示例:

{
    "content": "仓库简介",
    "website": "仓库网址",
    "readme": {
        "type": "file",
        "encoding": "base64",
        "size": 9,
        "name": "README.md",
        "path": "README.md",
        "content": "# ceshi\n\n",
        "sha": ""
    },
    "identifier": "ceshi",
    "name": "测试项目",
    "project_id": 2,
    "repo_id": 2,
    "issues_count": 0,
    "pull_requests_count": 0,
    "project_identifier": "ceshi",
    "praises_count": 0,
    "forked_count": 0,
    "watchers_count": 0,
    "versions_count": 0,
    "version_releases_count": 0,
    "version_releasesed_count": 0,
    "permission": "Reporter",
    "mirror_url": null,
    "mirror": false,
    "type": 0,
    "open_devops": false,
    "watched": false,
    "praised": false,
    "status": 1,
    "forked_from_project_id": 1,
    "fork_info": {
        "fork_form_name": "测试项目",
        "fork_project_user_login": "ceshi_org",
        "fork_project_identifier": "ceshi",
        "fork_project_user_name": "ceshi_org"
    },
    "size": "25.0 KB",
    "ssh_url": "virus@localhost:yystopf/ceshi.git",
    "clone_url": "http://localhost:10080/yystopf/ceshi.git",
    "default_branch": "master",
    "empty": false,
    "full_name": "yystopf/ceshi",
    "private": false,
    "license_name": "gnu-javamail-exception",
    "release_versions": {
        "list": [
            {
                "id": 2,
                "name": "vvvv",
                "tag_name": "v1.1",
                "created_at": "2019-07-18 10:16"
            }
        ],
        "total_count": 1
    },
    "branches": {
        "list": [
            {
                "name": "master"
            }
        ],
        "total_count": 1
    },
    "tags": {
        "list": [
            {
                "name": "v1.1"
            },
            {
                "name": "v1.0"
            }
        ],
        "total_count": 2
    },
    "contributors": {
        "list": [
            {
                "contributions": 1,
                "gid": 2,
                "login": "yystopf",
                "type": "User",
                "name": "yystopf",
                "image_url": "avatars/User/b"
            }
        ],
        "total_count": 1
    },
    "languages": {
        "HTML": "50.9%",
        "Ruby": "25.6%",
        "JavaScript": "21.4%",
        "CSS": "1.3%",
        "CoffeeScript": "0.7%",
        "Shell": "0.1%"
    }
}

编辑仓库信息

编辑仓库信息

示例:

curl -X GET http://localhost:3000/api/jasder/jasder_test/edit.json
await octokit.request('GET /api/jasder/jasder_test/edit.json')

HTTP 请求

GET /api/:owner/:repo/edit.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier

返回字段说明:

参数 类型 字段说明
identifier string 仓库标识
project_id int 项目id
project_name string 项目名称
project_identifier string 项目标识
project_description string 项目简介
project_category_id int 项目类别id
project_language_id int 项目语言id
private boolean 项目是否私有, true:为私有,false: 公开

返回的JSON示例:

{
  "identifier": "project",
  "project_id": 3263,
  "project_name": "项目",
  "project_identifier": "project identifier",
  "project_description": "project description",
  "project_category_id": 1,
  "project_language_id": 2,
  "private": false
}

修改仓库信息

修改仓库信息

示例:

curl -X PATCH \
-d "name=hnfl_demo" \
-d "description=my first project" \
-d "project_category_id=1" \
-d "project_language_id=2" \
-d "private=true" \
http://localhost:3000/api/jasder/jasder_test.json
await octokit.request('PATCH /api/jasder/jasder_test.json')

HTTP 请求

PATCH /api/:owner/:repo

请求参数:

参数 必选 默认 类型 字段说明
id int 项目id
name string 项目名称
description string 项目描述
project_category_id int 项目类别id
project_language_id int 项目语言id
default_branch string 默认分支名称
private boolean 项目是否私有, true:为私有,false: 公开,默认为公开

返回字段说明:

参数 类型 字段说明
id int id
identifier string 项目标识
name string 项目名称
description string 项目简介
project_category_id int 项目类别id
project_language_id int 项目语言id
private boolean

返回的JSON示例:

{
  "id": 3263,
  "identifier": "project identifier",
  "name": "project name",
  "description": "project description",
  "project_category_id": 1,
  "project_language_id": 2,
  "is_public": true
}

删除仓库

删除仓库

示例:

curl -X DELETE http://localhost:3000/api/jasder/jasder_test.json
await octokit.request('DELETE /api/jasder/jasder_test.json')

HTTP 请求

PATCH /api/:owner/:repo

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier

返回字段说明:

参数 类型 字段说明
status int 返回状态, 0: 表示操作成功
message string 返回信息说明

返回的JSON示例:

{
  "status": 0,
  "message": "success"
}

添加仓库成员

仓库中添加成员操作

示例:

curl -X POST \
-d "user_id=12" \
http://localhost:3000/api/jasder/jasder_test/collaborators.json
await octokit.request('POST /api/jasder/jasder_test/collaborators.json')

HTTP 请求

POST /api/:owner/:repo/collaborators.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
user_id int 用户id

返回字段说明:

参数 类型 字段说明
status int 返回状态, 0: 表示操作成功
message string 返回信息说明

返回的JSON示例:

{
  "status": 0,
  "message": "success"
}

删除仓库成员

仓库中删除成员操作

示例:

curl -X DELETE \
-d "user_id=12" \
http://localhost:3000/api/jasder/jasder_test/collaborators.json
await octokit.request('DELETE /api/jasder/jasder_test/collaborators.json')

HTTP 请求

DELETE /api/:owner/:repo/collaborators.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
user_id int 用户id

返回字段说明:

参数 类型 字段说明
status int 返回状态, 0: 表示操作成功
message string 返回信息说明

返回的JSON示例:

{
  "status": 0,
  "message": "success"
}

更改仓库成员角色(权限)

更改仓库成员角色

示例:

curl -X PUT \
-d "user_id=12" \
-d "role=Developer" \
http://localhost:3000/api/jasder/jasder_test/change_role.json
await octokit.request('PUT /api/jasder/jasder_test/change_role.json')

HTTP 请求

PUT /api/:owner/:repo/change_role.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
user_id int 用户id
role string 取值范围:"Manager", "Developer", "Reporter";分别为项目管理人员(拥有所有操作权限)、项目开发人员(只拥有读写权限)、项目报告人员(只拥有读权限)

返回字段说明:

参数 类型 字段说明
status int 返回状态, 0: 表示操作成功
message string 返回信息说明

返回的JSON示例:

{
  "status": 0,
  "message": "success"
}

获取仓库成员列表

获取仓库成员列表

示例:

curl -X GET \
-d "page=1" \
-d "limit=5" \
http://localhost:3000/api/jasder/jasder_test/collaborators.json
await octokit.request('GET /api/jasder/jasder_test/collaborators.json')

HTTP 请求

GET /api/:owner/:repo/collaborators.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
page string 页数,第几页
limit string 每页多少条数据,默认15条

返回字段说明:

参数 类型 字段说明
total_count int 返回记录总条数
members array 项目成员信息
-- id int 用户id
-- name string 用户名称
-- login string 用户登录名/标识
-- image_url string 用户头像
-- is_owner boolean 是否是项目的拥有者,true:是, false:不是
-- role string 该用户在项目中的角色, Manager: 管理员(拥有操作权限); Developer:开发人员(只拥有读写权限); Reporter:报告人员(只拥有读权限)

返回的JSON示例:

{
  "total_count": 2,
  "members": [
    {
      "id": 36401,
      "name": "name",
      "login": "login",
      "image_url": "avatars/User/b",
      "is_owner": true,
      "role": "Manager"
    },
    {
      "id": 36399,
      "name": "name",
      "login": "login",
      "image_url": "avatars/User/b",
      "is_owner": false,
      "role": "Developer"
    }
  ]
}

获取仓库所有文件

获取仓库所有文件

示例:

curl -X GET \
-d "ref=develop" \
http://localhost:3000/api/yystopf/ceshi/files.json
await octokit.request('GET /api/yystopf/ceshi/files.json')

HTTP 请求

GET /api/:owner/:repo/files

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
search string 文件搜索关键词
ref string 分支名,默认为仓库默认分支

返回字段说明:

参数 类型 字段说明
name string 文件名称
path string 文件路径
sha string 文件标识
type string 文件类型
size int 文件大小
url string 文件地址

返回的JSON示例:

[
    {
        "name": ".gitignore",
        "path": ".gitignore",
        "sha": "f83922d01ae60f6e637a1a2b9f08871b4f87dfc8",
        "type": "file",
        "size": 63,
        "url": "http://localhost:10080/api/v1/repos/yystopf/ceshi/contents/.gitignore?ref=master",
        "html_url": "http://localhost:10080/yystopf/ceshi/src/branch/master/.gitignore"
    },
    {
        "name": "LICENSE",
        "path": "LICENSE",
        "sha": "8f3b9ab0d08afd3a624d822e3971a2f42b3bc2b9",
        "type": "file",
        "size": 341,
        "url": "http://localhost:10080/api/v1/repos/yystopf/ceshi/contents/LICENSE?ref=master",
        "html_url": "http://localhost:10080/yystopf/ceshi/src/branch/master/LICENSE"
    },
    {
        "name": "README.md",
        "path": "README.md",
        "sha": "1bc8a60ac6ddc876ebc4b60fc68991435bfad93e",
        "type": "file",
        "size": 9,
        "url": "http://localhost:10080/api/v1/repos/yystopf/ceshi/contents/README.md?ref=master",
        "html_url": "http://localhost:10080/yystopf/ceshi/src/branch/master/README.md"
    }
]

获取仓库代码目录

获取仓库代码目录

示例:

curl -X GET \
-d "ref=develop" \
http://localhost:3000//api/jasder/jasder_test/entries.json
await octokit.request('GET /api/jasder/jasder_test/entries.json')

HTTP 请求

GET /api/:owner/:repo/entries.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
ref string 分支名称、tag名称或是提交记录id,默认为master分支

返回字段说明:

参数 类型 字段说明
last_commit object
-- commit object
id int id
name string 文件夹或文件名称
path string 文件夹或文件相对路径
type string 文件类型, file:文件,dir:文件目录
size int 文件夹或文件大小 单位B
content string 文件内容
target string 标签

返回的JSON示例:

{
  "last_commit": {
    "commit": {
      "sha": "3f2de4f78d2d7050486535082cd11cdfc9f3679e",
      "url": "http://localhost:3003//api/repositories/api-cloud-platform/commits/3f2de4f78d2d7050486535082cd11cdfc9f3679e",
      "message": "update README.md.",
      "author": {
        "name": "Gitee",
        "email": "noreply@gitee.com",
        "date": "2020-03-02T20:23:18+08:00"
      },
      "committer": {
        "name": "Gitee",
        "email": "noreply@gitee.com",
        "date": "2020-03-02T20:23:18+08:00"
      },
      "timestamp": 1583151798,
      "time_from_now": "3个月前"
    },
    "author": null,
    "committer": null
  },
  "entries": [
    {
      "name": "ace-gate",
      "path": "ace-gate",
      "sha": "c83f85fc63b14edcd6fc502eee9996f5a9993eca",
      "type": "dir",
      "size": 0,
      "content": null,
      "target": null,
      "commit": {
        "message": "v2.9 升级alibaba组件release版本\n",
        "sha": "6117eaab86f71115f42f2a46ff1683015cda798d",
        "created_at": "1970-01-01 08:00",
        "time_from_now": "1年前",
        "created_at_unix": null
      }
    }
  ]
}

获取仓库代码子目录或者文件

获取仓库代码子目录或者文件

示例:

curl -X GET \
-d "ref=master" \
-d "filepath=file" \
http://localhost:3000//api/jasder/jasder_test/sub_entries.json
await octokit.request('GET /api/jasder/jasder_test/sub_entries.json')

HTTP 请求

GET /api/:owner/:repo/sub_entries.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
filepath string 文件夹、文件的相对路径
ref string 分支名称、tag名称或是提交记录id,默认为master分支

返回字段说明:

参数 类型 字段说明
id int id
name string 文件夹或文件名称
path string 文件夹或文件相对路径
type string 文件类型, file:文件,dir:文件目录
size int 文件夹或文件大小 单位KB
content string 文件内容,
target string 标签
url string 文件访问链接,带分支
html_url string 文件访问链接,未标识分支
git_url string 文件夹或文件的git仓库访问链接
download_url string 文件下载、文件内容访问链接

返回的JSON示例:

[
  {
    "name": "build.rc",
    "path": "lib/build.rc",
    "type": "",
    "size": 1268,
    "content": null,
    "target": null,
    "url": "http://localhost:3003/api/v1/repos/18816895620/mirror_demo/contents/lib/build.rc?ref=master",
    "html_url": "http://localhost:3003/18816895620/mirror_demo/src/branch/master/lib/build.rc",
    "git_url": "http://localhost:3003/api/v1/repos/18816895620/mirror_demo/git/blobs/191fcf1a63b3777e2977fcede7dd5309efdd70fe",
    "download_url": null
  }
]

获取仓库webhooks列表

获取仓库webhooks列表

示例:

curl -X GET \
http://localhost:3000/api/yystopf/ceshi/webhooks.json
await octokit.request('GET /api/yystopf/ceshi/webhooks.json')

HTTP 请求

GET /api/:owner/:repo/webhooks.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier

返回字段说明:

参数 类型 字段说明
id int id
url string 地址
http_method string 请求方式
is_active bool 是否激活
type string 类型
last_status string 最后一次推送的状态
create_time string 创建时间

返回的JSON示例:

{
    "total_count": 4,
    "webhooks": [
        {
            "id": 2,
            "url": "https://oapi.dingtalk.com/robot/send?access_token=7e1e19d0eddb6a5e33c5c2c4e66f4c88f9437184b9ed2c2653194c6374c7d513",
            "http_method": "",
            "is_active": true,
            "type": "dingtalk",
            "last_status": "succeed",
            "create_time": "2021-07-12 10:50:07"
        },
        {
            "id": 3,
            "url": "http://localhost:3000",
            "http_method": "GET",
            "is_active": true,
            "type": "gitea",
            "last_status": "succeed",
            "create_time": "2021-07-26 10:03:45"
        },
        {
            "id": 4,
            "url": "http://localhost:10081",
            "http_method": "POST",
            "is_active": true,
            "type": "gitea",
            "last_status": "waiting",
            "create_time": "2021-07-26 16:56:53"
        },
        {
            "id": 5,
            "url": "http://localhost:3001",
            "http_method": "POST",
            "is_active": true,
            "type": "gitea",
            "last_status": "fail",
            "create_time": "2021-07-26 16:58:23"
        }
    ]
}

获取仓库单个webhook

获取仓库单个webhook

示例:

curl -X GET \
http://localhost:3000/api/yystopf/ceshi/webhooks/3/edit.json
await octokit.request('GET /api/yystopf/ceshi/webhooks/3/edit.json')

HTTP 请求

GET /api/:owner/:repo/webhooks/:id/edit.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
id integer webhook ID

返回字段说明:

参数 类型 字段说明
id int id
url string 地址
content_type string POST Content Type
http_method string 请求方式
secret string
is_active bool 是否激活
type string 类型
last_status string 最后一次推送的状态, waiting 等待,fail 失败,succeed 成功
branch_filter string 分支过滤
events string 触发条件
create_time string 创建时间
参数 含义
create 创建分支或标签
delete 分支或标签删除
fork 仓库被fork
push git仓库推送
issue 易修已打开、已关闭、已重新打开或编辑
issue_assign 易修被指派
issue_label 易修标签被更新或删除
issue_milestone 易修被收入里程碑
issue_comment 易修评论
pull_request 合并请求
pull_request_assign 合并请求被指派
pull_request_label 合并请求被贴上标签
pull_request_milestone 合并请求被记录于里程碑中
pull_request_comment 合并请求被评论
pull_request_review_approved 合并请求被批准
pull_request_review_rejected 合并请求被拒绝
pull_request_review_comment 合并请求被提出审查意见
pull_request_sync 合并请求被同步
repository 创建或删除仓库
release 版本发布

返回的JSON示例:

{
    "id": 3,
    "http_method": "GET",
    "content_type": "form",
    "url": "http://localhost:3000",
    "secret": "123456",
    "last_status": "succeed",
    "is_active": true,
    "type": "gitea",
    "create_time": "2021-07-26 10:03:45",
    "branch_filter": "*",
    "events": [
        "create",
        "delete",
        "fork",
        "issues",
        "issue_assign",
        "issue_label",
        "issue_milestone",
        "issue_comment",
        "push",
        "pull_request",
        "pull_request_assign",
        "pull_request_label",
        "pull_request_milestone",
        "pull_request_comment",
        "pull_request_review",
        "pull_request_sync",
        "repository",
        "release"
    ]
}

添加仓库webhook

添加仓库webhook

示例:

curl -X POST \
http://localhost:3000/api/yystopf/ceshi/webhooks.json
await octokit.request('POST /api/yystopf/ceshi/webhooks.json')

HTTP 请求

POST /api/:owner/:repo/webhooks.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
webhook.url string 目标url
webhook.type string 类型
webhook.http_method string http方法, POST和GET
webhook.content_type string POST Content Type
webhook.secret string 密钥文本
webhook.active bool 是否激活
webhook.branch_filter string 分支过滤
webhook.events array 触发事件

触发事件字段说明

参数 含义
create 创建分支或标签
delete 分支或标签删除
fork 仓库被fork
push git仓库推送
issue 易修已打开、已关闭、已重新打开或编辑
issue_assign 易修被指派
issue_label 易修标签被更新或删除
issue_milestone 易修被收入里程碑
issue_comment 易修评论
pull_request 合并请求
pull_request_assign 合并请求被指派
pull_request_label 合并请求被贴上标签
pull_request_milestone 合并请求被记录于里程碑中
pull_request_comment 合并请求被评论
pull_request_review_approved 合并请求被批准
pull_request_review_rejected 合并请求被拒绝
pull_request_review_comment 合并请求被提出审查意见
pull_request_sync 合并请求被同步
repository 创建或删除仓库
release 版本发布

请求的JSON示例:

{
    "active": true, 
    "content_type": "json",
    "http_method": "GET",
    "secret": "123456",
    "url": "http://localhost:10000",
    "branch_filter": "*",
    "events": ["push"]
}

返回字段说明:

参数 类型 字段说明
id int id
url string 地址
content_type string POST Content Type
is_active bool 是否激活
type string 类型
events array 触发事件
create_time string 创建时间

返回的JSON示例:

{
    "id": 18,
    "type": "gitea",
    "content_type": "json",
    "url": "http://localhost:10000",
    "events": [
        "push"
    ],
    "active": true,
    "create_time": "2021-07-26 18:53:43"
}

更新仓库webhook

更新仓库webhook

示例:

curl -X PATCH \
http://localhost:3000/api/yystopf/ceshi/webhooks/7.json
await octokit.request('PATCH /api/yystopf/ceshi/webhooks/7.json')

HTTP 请求

PATCH /api/:owner/:repo/webhooks/:id.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
id string webhook id
webhook.url string 目标url
webhook.type string 类型
webhook.http_method string http方法, POST和GET
webhook.content_type string POST Content Type
webhook.secret string 密钥文本
webhook.active bool 是否激活
webhook.branch_filter string 分支过滤
webhook.events array 触发事件

触发事件字段说明

参数 含义
create 创建分支或标签
delete 分支或标签删除
fork 仓库被fork
push git仓库推送
issue 易修已打开、已关闭、已重新打开或编辑
issue_assign 易修被指派
issue_label 易修标签被更新或删除
issue_milestone 易修被收入里程碑
issue_comment 易修评论
pull_request 合并请求
pull_request_assign 合并请求被指派
pull_request_label 合并请求被贴上标签
pull_request_milestone 合并请求被记录于里程碑中
pull_request_comment 合并请求被评论
pull_request_review_approved 合并请求被批准
pull_request_review_rejected 合并请求被拒绝
pull_request_review_comment 合并请求被提出审查意见
pull_request_sync 合并请求被同步
repository 创建或删除仓库
release 版本发布

请求的JSON示例:

{
    "active": true, 
    "content_type": "json",
    "http_method": "GET",
    "secret": "123456",
    "url": "http://localhost:10000",
    "branch_filter": "*",
    "events": ["push"]
}

返回字段说明:

返回的JSON示例:

{
    "status": 0,
    "message": "success"
}

删除仓库webhook

删除仓库webhook

示例:

curl -X DELETE \
http://localhost:3000/api/yystopf/ceshi/webhooks/7.json
await octokit.request('DELETE /api/yystopf/ceshi/webhooks/7.json')

HTTP 请求

DELETE /api/:owner/:repo/webhooks/:id.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
id string webhook id

返回字段说明:

返回的JSON示例:

{
    "status": 0,
    "message": "success"
}

获取仓库webhook的历史推送列表

获取仓库webhook的历史推送列表

示例:

curl -X GET \
http://localhost:3000/api/yystopf/ceshi/webhooks/3/tasks.json
await octokit.request('GET /api/yystopf/ceshi/webhooks/3/tasks.json')

HTTP 请求

GET /api/:owner/:repo/webhooks/:id/tasks.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
id integer webhook ID

返回字段说明:

参数 类型 字段说明
id int id
uuid string 推送uuid
type string 类型
is_succeed bool 是否推送成功
is_delivered bool 是否完成推送
payload_content json 请求主体内容
request_content json 请求内容,头部等等
reponse_content json 响应内容,状态,头部,主体等等
delivered_time string 推送时间

返回的JSON示例:

{
  "total_count": 6,
  "tasks": [
    {
      "id": 20,
      "type": "gitea",
      "uuid": "99aa2c23-6884-4c44-9020-5469320aa408",
      "is_succeed": true,
      "is_delivered": true,
      "payload_content": {
          "secret": "123456",
          "ref": "refs/heads/master",
          "before": "feb48e31362787a7620b53d4df3c4effddbb6f0b",
          "after": "feb48e31362787a7620b53d4df3c4effddbb6f0b",
          "compare_url": "",
          "commits": [
              {
                  "id": "feb48e31362787a7620b53d4df3c4effddbb6f0b",
                  "message": "fix\n",
                  "url": "http://localhost:10081/yystopf/ceshi/commit/feb48e31362787a7620b53d4df3c4effddbb6f0b",
                  "author": {
                      "name": "viletyy",
                      "email": "yystopf@163.com",
                      "username": "root"
                  },
                  "committer": {
                      "name": "viletyy",
                      "email": "yystopf@163.com",
                      "username": "root"
                  },
                  "verification": {
                      "verified": false,
                      "reason": "gpg.error.not_signed_commit",
                      "signature": "",
                      "signer": null,
                      "payload": ""
                  },
                  "timestamp": "2021-07-26T13:52:13+08:00",
                  "added": null,
                  "removed": null,
                  "modified": null
              }
          ],
          "head_commit": null,
          "repository": {
              "id": 2,
              "owner": {
                  "id": 3,
                  "login": "yystopf",
                  "full_name": "",
                  "email": "yystopf@forge.com",
                  "avatar_url": "http://localhost:10081/user/avatar/yystopf/-1",
                  "language": "zh-CN",
                  "is_admin": true,
                  "last_login": "2021-07-21T18:38:21+08:00",
                  "created": "2021-06-03T14:50:25+08:00",
                  "username": "yystopf"
              },
              "name": "ceshi",
              "full_name": "yystopf/ceshi",
              "description": "",
              "empty": false,
              "private": false,
              "fork": false,
              "template": false,
              "parent": null,
              "mirror": false,
              "size": 3846,
              "html_url": "http://localhost:10081/yystopf/ceshi",
              "ssh_url": "virus@localhost:10081:yystopf/ceshi.git",
              "clone_url": "http://localhost:10081/yystopf/ceshi.git",
              "original_url": "",
              "website": "",
              "stars_count": 0,
              "forks_count": 1,
              "watchers_count": 1,
              "open_issues_count": 0,
              "open_pr_counter": 0,
              "release_counter": 0,
              "default_branch": "master",
              "archived": false,
              "created_at": "2021-06-03T15:15:30+08:00",
              "updated_at": "2021-07-26T13:52:16+08:00",
              "permissions": {
                  "admin": false,
                  "push": false,
                  "pull": false
              },
              "has_issues": true,
              "internal_tracker": {
                  "enable_time_tracker": true,
                  "allow_only_contributors_to_track_time": true,
                  "enable_issue_dependencies": true
              },
              "has_wiki": true,
              "has_pull_requests": true,
              "ignore_whitespace_conflicts": false,
              "allow_merge_commits": true,
              "allow_rebase": true,
              "allow_rebase_explicit": true,
              "allow_squash_merge": true,
              "avatar_url": "",
              "internal": false
          },
          "pusher": {
              "id": 0,
              "login": "yystopf",
              "full_name": "",
              "email": "yystopf@forge.com",
              "avatar_url": "http://localhost:10081/user/avatar/yystopf/-1",
              "language": "",
              "is_admin": false,
              "last_login": "0001-01-01T00:00:00Z",
              "created": "2021-06-03T14:50:25+08:00",
              "username": "yystopf"
          },
          "sender": {
              "id": 0,
              "login": "yystopf",
              "full_name": "",
              "email": "yystopf@forge.com",
              "avatar_url": "http://localhost:10081/user/avatar/yystopf/-1",
              "language": "",
              "is_admin": false,
              "last_login": "0001-01-01T00:00:00Z",
              "created": "2021-06-03T14:50:25+08:00",
              "username": "yystopf"
          }
      },
      "request_content": {
          "headers": {
              "X-GitHub-Delivery": "99aa2c23-6884-4c44-9020-5469320aa408",
              "X-GitHub-Event": "push",
              "X-Gitea-Delivery": "99aa2c23-6884-4c44-9020-5469320aa408",
              "X-Gitea-Event": "push",
              "X-Gitea-Signature": "34a01edcd952ff6410ff6ebc946471161bde74aff86171f21621d2c2c4130f66",
              "X-Gogs-Delivery": "99aa2c23-6884-4c44-9020-5469320aa408",
              "X-Gogs-Event": "push",
              "X-Gogs-Signature": "34a01edcd952ff6410ff6ebc946471161bde74aff86171f21621d2c2c4130f66"
          }
      },
      "response_content": {
          "status": 200,
          "headers": {
              "Cache-Control": "no-store, must-revalidate, private, max-age=0",
              "Content-Length": "2556",
              "Content-Type": "text/html; charset=utf-8",
              "Referrer-Policy": "strict-origin-when-cross-origin",
              "Set-Cookie": "__profilin=p%3Dt; path=/; HttpOnly",
              "Vary": "Origin",
              "X-Content-Type-Options": "nosniff",
              "X-Download-Options": "noopen",
              "X-Frame-Options": "SAMEORIGIN",
              "X-Miniprofiler-Ids": "9ynvpncz5xm0rpgorb5y,hgggd9mv6lr4a9drcrlr,j7zqlx2vy5aji2vtgoba,f1ktsmh3jxvq0z2hf612,mih3dvgvlqhi3zy8lf2x,5k1qbkvbnru8mye9cest,tj6ern8w6awqf2zsimbr,9isaehvubivd52wo5p9v,1rzfhtq1nhuwbgy9p76g,z0xzidzyywna0y7a69m0,hzoklky92ycjqt42gi0s,y0ai7y0t28mcn8x0py2x,322il7nadinp51mw2r5m,m6dukftfsh6tjcxzp1gq,667wlqbytfwbrirnmma1,jcehj3dl8lkw8gk510cr",
              "X-Miniprofiler-Original-Cache-Control": "max-age=0, private, must-revalidate",
              "X-Permitted-Cross-Domain-Policies": "none",
              "X-Request-Id": "08bff080-bbb5-4183-b845-81de3d47120a",
              "X-Runtime": "0.394766",
              "X-Xss-Protection": "1; mode=block"
          },
          "body": "<!doctype html><html lang=\"zh-CN\" class=\"notranslate translated-ltr\" translate=\"no\"><head><meta charset=\"utf-8\"><meta name=\"”Keywords”\" content=\"”trustie,trustieforge,forge,确实让创建更美好,协同开发平台″\"><meta name=\"”Keywords”\" content=\"”TrustieOpenSourceProject″\"><meta name=\"”Keywords”\" content=\"”issue,bug,tracker,软件工程,课程实践″\"><meta name=\"”Description”\" content=\"”持续构建协同、共享、可信的软件创建生态开源创作与软件生产相结合,支持大规模群体开展软件协同创新活动”\"><meta name=\"theme-color\" content=\"#000000\"><link rel=\"manifest\" href=\"/react/build//manifest.json\"><link rel=\"stylesheet\" href=\"/react/build/css/iconfont.css\"><link rel=\"stylesheet\" href=\"/react/build/css/edu-purge.css\"><link rel=\"stylesheet\" href=\"/react/build/css/editormd.min.css\"><link rel=\"stylesheet\" href=\"/react/build/css/merge.css\"><link href=\"/react/build/static/css/main.07f7e90c.chunk.css\" rel=\"stylesheet\"></head><body><div id=\"md_div\" style=\"display:none\"></div><div id=\"root\" class=\"page -layout-v -fit widthunit\"></div><div id=\"picture_display\" style=\"display:none\"></div><script src=\"/react/build/js/jquery-1.8.3.min.js\"></script><script src=\"/react/build/js/js_min_all.js\"></script><script src=\"/react/build/js/codemirror/codemirror.js\"></script><script src=\"/react/build/js/editormd/editormd.min.js\"></script><script src=\"/react/build/js/codemirror/merge/merge.js\"></script><script src=\"/react/build/./static/js/runtime~main.3d644966.js\"></script><script src=\"/react/build/./static/js/main.e46872e3.chunk.js\"></script><script async type=\"text/javascript\" id=\"mini-profiler\" src=\"/mini-profiler-resources/includes.js?v=67dd1c2571ced7fc74ae7f1813e47bdf\" data-version=\"67dd1c2571ced7fc74ae7f1813e47bdf\" data-path=\"/mini-profiler-resources/\" data-current-id=\"9ynvpncz5xm0rpgorb5y\" data-ids=\"9ynvpncz5xm0rpgorb5y,hgggd9mv6lr4a9drcrlr,j7zqlx2vy5aji2vtgoba,f1ktsmh3jxvq0z2hf612,mih3dvgvlqhi3zy8lf2x,5k1qbkvbnru8mye9cest,tj6ern8w6awqf2zsimbr,9isaehvubivd52wo5p9v,1rzfhtq1nhuwbgy9p76g,z0xzidzyywna0y7a69m0,hzoklky92ycjqt42gi0s,y0ai7y0t28mcn8x0py2x,322il7nadinp51mw2r5m,m6dukftfsh6tjcxzp1gq,667wlqbytfwbrirnmma1,jcehj3dl8lkw8gk510cr\" data-horizontal-position=\"left\" data-vertical-position=\"top\" data-trivial=\"false\" data-children=\"false\" data-max-traces=\"20\" data-controls=\"false\" data-total-sql-count=\"false\" data-authorized=\"true\" data-toggle-shortcut=\"alt+p\" data-start-hidden=\"false\" data-collapse-results=\"true\" data-html-container=\"body\"></script>\n</body></html>"
      },
      "delivered_time": "2021-07-28 11:47:29"
    }
  ]
}

仓库webhook测试推送

仓库webhook测试推送

示例:

curl -X POST \
http://localhost:3000/api/yystopf/ceshi/webhooks/3/test.json
await octokit.request('POST /api/yystopf/ceshi/webhooks/3/test.json')

HTTP 请求

POST /api/:owner/:repo/webhooks/:id/test.json

请求参数:

参数 必选 默认 类型 字段说明
owner string 用户登录名
repo string 项目标识identifier
id integer webhook ID

返回字段说明:

返回的JSON示例:

{
    "status": 0,
    "message": "success"
}

Pulls

Issues

Organizations

Teams

Errors

The Kittn API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The kitten requested is hidden for administrators only.
404 Not Found -- The specified kitten could not be found.
405 Method Not Allowed -- You tried to access a kitten with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The kitten requested has been removed from our servers.
418 I'm a teapot.
429 Too Many Requests -- You're requesting too many kittens! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.