序号 | +类型 | +系统消息模版 | +邮件模版 | +通知地址 | +操作 | +
---|
获取用户消息列表
+ +++示例:
+
curl -X GET http://localhost:3000/api/users/:login/messages.json
+
await octokit.request('GET /api/users/:login/messages.json')
+
GET api/users/yystopf/messages.json
参数 | +类型 | +字段说明 | +
---|---|---|
type | +string | +消息类型,不传为所有消息,notification为系统消息,atme为@我消息 | +
status | +integer | +是否已读,不传为所有消息,1为未读,2为已读 | +
limit | +integer | +每页个数 | +
page | +integer | +页码 | +
参数 | +类型 | +字段说明 | +
---|---|---|
total_count | +integer | +消息总数 | +
type | +string | +消息类型 | +
unread_notification | +integer | +未读系统通知数量 | +
unread_atme | +integer | +未读@我数量 | +
messages.id | +integer | +消息id | +
messages.status | +integer | +消息是否已读,1为未读,2为已读 | +
messages.content | +string | +消息内容 | +
messages.notification_url | +string | +消息跳转地址 | +
messages.source | +string | +消息来源 | +
messages.timeago | +string | +消息时间 | +
messages.type | +string | +消息类型,notification为系统消息,atme为@我消息 | +
sender | +object | +消息发送者 | +
类型 | +说明 | +
---|---|
IssueAssigned | +有新指派给我的易修 | +
IssueAssignerExpire | +我负责的易修截止日期到达最后一天 | +
IssueAtme | +在易修中@我 | +
IssueChanged | +我创建或负责的易修状态变更 | +
IssueCreatorExpire | +我创建的易修截止日期到达最后一天 | +
IssueDeleted | +我创建或负责的易修删除 | +
IssueJournal | +我创建或负责的易修有新的评论 | +
LoginIpTip | +登录异常提示 | +
OrganizationJoined | +账号被拉入组织 | +
OrganizationLeft | +账号被移出组织 | +
OrganizationRole | +账号组织权限变更 | +
ProjectDeleted | +我关注的仓库被删除 | +
ProjectFollowed | +我管理的仓库被关注 | +
ProjectForked | +我管理的仓库被复刻 | +
ProjectIssue | +我管理/关注的仓库有新的易修 | +
ProjectJoined | +账号被拉入项目 | +
ProjectLeft | +账号被移出项目 | +
ProjectMemberJoined | +我管理的仓库有成员加入 | +
ProjectMemberLeft | +我管理的仓库有成员移出 | +
ProjectMilestone | +我管理的仓库有新的里程碑 | +
ProjectPraised | +我管理的仓库被点赞 | +
ProjectPullRequest | +我管理/关注的仓库有新的合并请求 | +
ProjectRole | +账号仓库权限变更 | +
ProjectSettingChanged | +我管理的仓库项目设置被更改 | +
ProjectTransfer | +我关注的仓库被转移 | +
ProjectVersion | +我关注的仓库有新的发行版 | +
PullRequestAssigned | +有新指派给我的合并请求 | +
PullReuqestAtme | +在合并请求中@我 | +
PullRequestChanged | +我创建或负责的合并请求状态变更 | +
PullRequestClosed | +我创建或负责的合并请求被关闭 | +
PullRequestJournal | +我创建或负责的合并请求有新的评论 | +
PullRequestMerged | +我创建或负责的合并请求被合并 | +
++返回的JSON示例:
+
{
+ "total_count": 5,
+ "type": "",
+ "unread_notification": 3,
+ "unread_atme": 2,
+ "messages": [
+ {
+ "id": 1,
+ "status": 1,
+ "content": "Atme Message Content 1",
+ "notification_url": "http://www.baidu.com",
+ "source": "PullRequestAtme",
+ "time_ago": "1天前",
+ "type": "atme",
+ "sender": {
+ "id": 5,
+ "type": "User",
+ "name": "testforge2",
+ "login": "testforge2",
+ "image_url": "system/lets/letter_avatars/2/T/236_177_85/120.png"
+ }
+ },
+ {
+ "id": 2,
+ "status": 0,
+ "content": "Atme Message Content 2",
+ "notification_url": "http://www.baidu.com",
+ "source": "IssueAtme",
+ "time_ago": "1天前",
+ "type": "atme",
+ "sender": {
+ "id": 4,
+ "type": "User",
+ "name": "testforge1",
+ "login": "testforge1",
+ "image_url": "system/lets/letter_avatars/2/T/19_237_174/120.png"
+ }
+ },
+ {
+ "id": 3,
+ "status": 1,
+ "content": "Notification Message Content 1",
+ "notification_url": "http://www.baidu.com",
+ "source": "IssueDelete",
+ "time_ago": "1天前",
+ "type": "notification"
+ },
+ {
+ "id": 4,
+ "status": 0,
+ "content": "Notification Message Content 2",
+ "notification_url": "http://www.baidu.com",
+ "source": "IssueChanged",
+ "time_ago": "1天前",
+ "type": "notification"
+ },
+ {
+ "id": 5,
+ "status": 0,
+ "content": "Notification Message Content 3",
+ "notification_url": "http://www.baidu.com",
+ "source": "ProjectJoined",
+ "time_ago": "1天前",
+ "type": "notification"
+ }
+ ]
+}
+
发送消息, 目前只支持atme
+ +++示例:
+
curl -X POST http://localhost:3000/api/users/:login/messages.json
+
await octokit.request('POST /api/users/:login/messages.json')
+
POST api/users/yystopf/messages.json
参数 | +类型 | +字段说明 | +
---|---|---|
type | +string | +消息类型 | +
receivers_login | +array | +需要发送消息的用户名数组 | +
atmeable_type | +string | +atme消息对象,是从哪里@我的,比如评论:Journal、易修:Issue、合并请求:PullRequest | +
atmeable_id | +integer | +atme消息对象id | +
++请求的JSON示例:
+
{
+ "type": "atme",
+ "receivers_login": ["yystopf", "testforge1"],
+ "atmeable_type": "Journal",
+ "atmeable_id": 67
+}
+
++返回的JSON示例:
+
{
+ "status": 0,
+ "message": "success"
+}
+
阅读消息
+ +++示例:
+
curl -X POST http://localhost:3000/api/users/:login/messages/read.json
+
await octokit.request('POST /api/users/:login/messages/read.json')
+
POST api/users/yystopf/messages/read.json
参数 | +类型 | +字段说明 | +
---|---|---|
type | +string | +消息类型,不传为所有消息,notification为系统消息,atme为@我消息 | +
ids | +array | +消息id数组,包含-1则把所有未读消息标记为已读 | +
++返回的JSON示例:
+
{
+ "status": 0,
+ "message": "success"
+}
+
删除消息
+ +++示例:
+
curl -X DELETE http://localhost:3000/api/users/:login/messages.json
+
await octokit.request('DELETE /api/users/:login/messages.json')
+
DELETE api/users/yystopf/messages.json
参数 | +类型 | +字段说明 | +
---|---|---|
type | +string | +消息类型,atme为@我消息 | +
ids | +array | +消息id数组,包含-1则把所有消息删除 | +
++返回的JSON示例:
+
{
+ "status": 0,
+ "message": "success"
+}
+
更改用户信息
@@ -979,9 +1479,9 @@ Success — a happy kitten is an authenticated kitten!curl -X PATCH/PUT http://localhost:3000/api/users/yystopf.json
await octokit.request('PATCH/PUT /api/users/:login.json')
-
PATCH/PUT /api/users/:login.json
参数 | @@ -1077,9 +1577,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -1264,9 +1764,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -1310,9 +1810,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -1351,9 +1851,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -1440,9 +1940,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -1456,7 +1956,7 @@ Success — a happy kitten is an authenticated kitten!年份 |
---|
参数 | @@ -1585,9 +2085,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -1601,7 +2101,7 @@ Success — a happy kitten is an authenticated kitten!日期,格式: 2021-05-28 |
---|
参数 | @@ -1902,9 +2402,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -1923,7 +2423,7 @@ Success — a happy kitten is an authenticated kitten!时间戳,结束时间,格式:1622131200 |
---|
参数 | @@ -2045,9 +2545,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -2066,7 +2566,7 @@ Success — a happy kitten is an authenticated kitten!时间戳,结束时间,格式:1622131200 |
---|
参数 | @@ -2127,9 +2627,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -2148,7 +2648,7 @@ Success — a happy kitten is an authenticated kitten!时间戳,结束时间,格式:1622131200 |
---|
参数 | @@ -2188,9 +2688,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -2204,7 +2704,7 @@ Success — a happy kitten is an authenticated kitten!用户标识 |
---|
参数 | @@ -2467,9 +2967,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -2483,7 +2983,7 @@ Success — a happy kitten is an authenticated kitten!用户标识 |
---|
参数 | @@ -2659,200 +3159,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | -类型 | -字段说明 | -
---|---|---|
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')
-
GET /api/users/:login/applied_transfer_projects/:id/refuse.json
参数 | @@ -2996,6 +3305,197 @@ Success — a happy kitten is an authenticated kitten!
---|
++返回的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')
+
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 | +迁移接受者头像 | +
@@ -3041,9 +3541,9 @@ Success — a happy kitten is an authenticated kitten!返回的JSON示例:
curl -X GET http://localhost:3000/api/users/yystopf/applied_projects.json
await octokit.request('GET /api/users/:login/applied_projects.json')
-
GET /api/users/:login/applied_projects.json
参数 | @@ -3057,7 +3557,7 @@ Success — a happy kitten is an authenticated kitten!用户标识 |
---|
参数 | @@ -3201,9 +3701,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -3222,7 +3722,7 @@ Success — a happy kitten is an authenticated kitten!申请id |
---|
参数 | @@ -3360,9 +3860,9 @@ Success — a happy kitten is an authenticated kitten!
---|
参数 | @@ -3381,7 +3881,7 @@ Success — a happy kitten is an authenticated kitten!申请id |
---|
参数 | @@ -5705,16 +6205,16 @@ http://localhost:3000/api/ceshi1/ceshi_repo1/applied_transfer_projects/organizat "Shell": "0.1%" } } -
---|
string | 项目标识identifier | |||
page | +否 | +1 | +integer | +页码 | +
limit | +否 | +20 | +integer | +每页个数 | +
id | +int | +标签id | +
name | +string | +标签名称 | +
zipball_url | +string | +标签zip包下载地址 | +
tarball_url | +string | +标签tar包下载地址 | +
tagger | +object | +打标签的人 | +
time_ago | +string | +打标签的时间 | +
created_at_unix | +string | +打标签的时间戳 | +
message | +string | +标签信息 | +
commit | +object | +标签最后一个commit | +
commit.sha | +string | +commit的id | +
commit.message | +string | +commit的提交信息 | +
commit.time_ago | +string | +commit的提交时间 | +
commit.created_at_unix | +string | +commit的提交时间戳 | +
commit.committer | +object | +commit的提交者 | +
commit.author | +object | +commit的作者 | +
++返回的JSON示例:
+
[
+ {
+ "name": "v2.0.0",
+ "id": "c7d0873ee41796d1a0e193063095ccf539a9bf31",
+ "zipball_url": "http://localhost:3000/api/yystopf/csfjkkj/archive/v2.0.0.zip",
+ "tarball_url": "http://localhost:3000/api/yystopf/csfjkkj/archive/v2.0.0.tar.gz",
+ "tagger": {
+ "id": 4,
+ "login": "testforge1",
+ "name": "testforge1",
+ "image_url": "system/lets/letter_avatars/2/T/19_237_174/120.png"
+ },
+ "time_ago": "1天前",
+ "created_at_unix": 1632376903,
+ "message": "jdfkls",
+ "commit": {
+ "sha": "08fe383f1e5ebe2e2a384a8ea3ee890a758c7cd7",
+ "message": "add\n",
+ "time_ago": "1天前",
+ "created_at_unix": 1632376186,
+ "committer": {
+ "id": 4,
+ "login": "testforge1",
+ "name": "testforge1",
+ "image_url": "system/lets/letter_avatars/2/T/19_237_174/120.png"
+ },
+ "author": {
+ "id": 4,
+ "login": "testforge1",
+ "name": "testforge1",
+ "image_url": "system/lets/letter_avatars/2/T/19_237_174/120.png"
+ }
+ }
+ },
+ {
+ "name": "v1.0.0",
+ "id": "12168ad39c3ef201a445a2db181a3e43d50e40dd",
+ "zipball_url": "http://localhost:3000/api/yystopf/csfjkkj/archive/v1.0.0.zip",
+ "tarball_url": "http://localhost:3000/api/yystopf/csfjkkj/archive/v1.0.0.tar.gz",
+ "tagger": {
+ "id": null,
+ "login": "viletyy",
+ "name": "viletyy",
+ "image_url": "system/lets/letter_avatars/2/V/39_141_222/120.png"
+ },
+ "time_ago": "10天前",
+ "created_at_unix": 1631588042,
+ "message": "dfks",
+ "commit": {
+ "sha": "5291b5e45a377c1f7710cc6647259887ed7aaccf",
+ "message": "ADD file via upload\n",
+ "time_ago": "21天前",
+ "created_at_unix": 1630648417,
+ "committer": {
+ "id": null,
+ "login": "yystopf",
+ "name": "yystopf",
+ "image_url": "system/lets/letter_avatars/2/Y/241_125_89/120.png"
+ },
+ "author": {
+ "id": null,
+ "login": "yystopf",
+ "name": "yystopf",
+ "image_url": "system/lets/letter_avatars/2/Y/241_125_89/120.png"
+ }
+ }
+ }
+]
+
编辑仓库信息
+ +++示例:
+
curl -X GET http://localhost:3000/api/jasder/jasder_test/edit.json
+
await octokit.request('GET /api/jasder/jasder_test/edit.json')
+
GET /api/:owner/:repo/edit.json
参数 | +必选 | +默认 | +类型 | +字段说明 | +
---|---|---|---|---|
owner | +是 | ++ | string | +用户登录名 | +
repo | +是 | ++ | string | +项目标识identifier | +
参数 | +类型 | +字段说明 | +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
identifier | string | 仓库标识 | @@ -5817,9 +6522,9 @@ http://localhost:3000/api/ceshi1/ceshi_repo1/applied_transfer_projects/organizat -d "private=true" \ http://localhost:3000/api/jasder/jasder_test.json
参数 | @@ -5879,7 +6584,7 @@ http://localhost:3000/api/jasder/jasder_test.json项目是否私有, true:为私有,false: 公开,默认为公开 |
---|
参数 | @@ -5944,9 +6649,9 @@ http://localhost:3000/api/jasder/jasder_test.json
---|
参数 | @@ -5971,7 +6676,7 @@ http://localhost:3000/api/jasder/jasder_test.json项目标识identifier |
---|
参数 | @@ -6012,83 +6717,8 @@ http://localhost:3000/api/jasder/jasder_test.json -d "user_id=12" \ http://localhost:3000/api/jasder/jasder_test/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')
DELETE /api/:owner/:repo/collaborators.json
POST /api/:owner/:repo/collaborators.json
++返回的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')
+
DELETE /api/:owner/:repo/collaborators.json
参数 | +必选 | +默认 | +类型 | +字段说明 | +
---|---|---|---|---|
owner | +是 | ++ | string | +用户登录名 | +
repo | +是 | ++ | string | +项目标识identifier | +
user_id | +是 | +int | ++ | 用户id | +
参数 | +类型 | +字段说明 | +
---|---|---|
status | +int | +返回状态, 0: 表示操作成功 | +
message | +string | +返回信息说明 | +
@@ -6163,9 +6868,9 @@ http://localhost:3000/api/jasder/jasder_test/collaborators.json -d "role=Developer" \ http://localhost:3000/api/jasder/jasder_test/change_role.json返回的JSON示例:
await octokit.request('PUT /api/jasder/jasder_test/change_role.json')
-
PUT /api/:owner/:repo/change_role.json
参数 | @@ -6204,7 +6909,7 @@ http://localhost:3000/api/jasder/jasder_test/change_role.json取值范围:"Manager", "Developer", "Reporter";分别为项目管理人员(拥有所有操作权限)、项目开发人员(只拥有读写权限)、项目报告人员(只拥有读权限) |
---|
参数 | @@ -6246,9 +6951,9 @@ http://localhost:3000/api/jasder/jasder_test/change_role.json -d "limit=5" \ http://localhost:3000/api/jasder/jasder_test/collaborators.json
---|
参数 | @@ -6287,7 +6992,7 @@ http://localhost:3000/api/jasder/jasder_test/collaborators.json每页多少条数据,默认15条 |
---|
参数 | @@ -6375,9 +7080,9 @@ http://localhost:3000/api/jasder/jasder_test/collaborators.json -d "ref=develop" \ http://localhost:3000/api/yystopf/ceshi/files.json
---|
参数 | @@ -6416,7 +7121,7 @@ http://localhost:3000/api/yystopf/ceshi/files.json分支名,默认为仓库默认分支 |
---|
参数 | @@ -6498,9 +7203,9 @@ http://localhost:3000/api/yystopf/ceshi/files.json -d "ref=develop" \ http://localhost:3000//api/jasder/jasder_test/entries.json
---|
参数 | @@ -6532,7 +7237,7 @@ http://localhost:3000//api/jasder/jasder_test/entries.json分支名称、tag名称或是提交记录id,默认为master分支 |
---|
参数 | @@ -6646,9 +7351,9 @@ http://localhost:3000//api/jasder/jasder_test/entries.json -d "filepath=file" \ http://localhost:3000//api/jasder/jasder_test/sub_entries.json
---|
参数 | @@ -6687,7 +7392,7 @@ http://localhost:3000//api/jasder/jasder_test/sub_entries.json分支名称、tag名称或是提交记录id,默认为master分支 |
---|
参数 | @@ -6773,6 +7478,237 @@ http://localhost:3000//api/jasder/jasder_test/sub_entries.json +
---|
参数 | +必选 | +默认 | +类型 | +字段说明 | +
---|---|---|---|---|
owner | +是 | ++ | string | +用户登录名 | +
repo | +是 | ++ | string | +项目标识identifier | +
ref | +否 | ++ | string | +分支名称、tag名称或是提交记录id,默认为默认分支 | +
filepath | +否 | ++ | string | +子目录名称,默认为空 | +
参数 | +类型 | +字段说明 | +
---|---|---|
type | +string | +文件类型, file:文件,dir:文件目录 | +
encoding | +string | +编码 | +
size | +int | +文件夹或文件大小 单位B | +
name | +string | +文件夹或文件名称 | +
path | +string | +文件夹或文件相对路径 | +
content | +string | +文件内容 | +
sha | +string | +文件commitid | +
++返回的JSON示例:
+
{
+ "type": "file",
+ "encoding": "base64",
+ "size": 24,
+ "name": "README.md",
+ "path": "lib/README.md",
+ "content": "ZGZhc2RhZGpmIGRrZnNsCgpzZGZkZnMK",
+ "sha": "860962cd21c60b1a9e07d723080c87c32c18d44a"
+}
+
获取仓库贡献者
+ +++示例:
+
curl -X GET \
+-d "ref=master" \
+-d "filepath=lib" \
+http://localhost:3000/api/yystopf/csfjkkj/contributors.json
+
await octokit.request('GET /api/yystopf/csfjkkj/contributors.json')
+
GET /api/:owner/:repo/contributors.json
参数 | +必选 | +默认 | +类型 | +字段说明 | +
---|---|---|---|---|
owner | +是 | ++ | string | +用户登录名 | +
repo | +是 | ++ | string | +项目标识identifier | +
ref | +否 | ++ | string | +分支名称、tag名称或是提交记录id,默认为整个仓库 | +
filepath | +否 | ++ | string | +子目录名称,默认为空 | +
参数 | +类型 | +字段说明 | +
---|---|---|
total_count | +integer | +贡献者数量 | +
contributions | +integer | +贡献数量 | +
login | +string | +用户登录名 | +
type | +string | +用户类型 | +
name | +string | +用户昵称 | +
image_url | +string | +用户头像 | +
++返回的JSON示例:
+
{
+ "contributors": [
+ {
+ "contributions": 5,
+ "login": "testforge2",
+ "type": "User",
+ "name": "testforge2",
+ "image_url": "system/lets/letter_avatars/2/T/236_177_85/120.png"
+ },
+ {
+ "contributions": 79,
+ "login": "yystopf",
+ "type": "User",
+ "name": "yystopf",
+ "image_url": "system/lets/letter_avatars/2/Y/241_125_89/120.png"
+ }
+ ],
+ "total_count": 2
+}
+
获取仓库webhooks列表
@@ -6782,9 +7718,9 @@ http://localhost:3000//api/jasder/jasder_test/sub_entries.jsoncurl -X GET \
http://localhost:3000/api/yystopf/ceshi/webhooks.json
await octokit.request('GET /api/yystopf/ceshi/webhooks.json')
-
GET /api/:owner/:repo/webhooks.json
参数 | @@ -6809,7 +7745,7 @@ http://localhost:3000/api/yystopf/ceshi/webhooks.json项目标识identifier |
---|
参数 | @@ -6911,9 +7847,9 @@ http://localhost:3000/api/yystopf/ceshi/webhooks.json
---|
参数 | @@ -6945,7 +7881,7 @@ http://localhost:3000/api/yystopf/ceshi/webhooks/3/edit.jsonwebhook ID |
---|
参数 | @@ -7146,9 +8082,9 @@ http://localhost:3000/api/yystopf/ceshi/webhooks/3/edit.json
---|
参数 | @@ -7332,7 +8268,7 @@ http://localhost:3000/api/yystopf/ceshi/webhooks.json "branch_filter": "*", "events": ["push"] } -
---|
参数 | @@ -7404,9 +8340,9 @@ http://localhost:3000/api/yystopf/ceshi/webhooks.json
---|
参数 | @@ -7597,7 +8533,7 @@ http://localhost:3000/api/yystopf/ceshi/webhooks/7.json "branch_filter": "*", "events": ["push"] } -
---|
参数 | @@ -7652,7 +8588,7 @@ http://localhost:3000/api/yystopf/ceshi/webhooks/7.jsonwebhook id |
---|
@@ -7673,9 +8609,9 @@ http://localhost:3000/api/yystopf/ceshi/webhooks/7.json返回的JSON示例:
curl -X GET \
http://localhost:3000/api/yystopf/ceshi/webhooks/3/tasks.json
await octokit.request('GET /api/yystopf/ceshi/webhooks/3/tasks.json')
-
GET /api/:owner/:repo/webhooks/:id/tasks.json
参数 | @@ -7707,7 +8643,7 @@ http://localhost:3000/api/yystopf/ceshi/webhooks/3/tasks.jsonwebhook ID |
---|
参数 | @@ -7944,9 +8880,9 @@ http://localhost:3000/api/yystopf/ceshi/webhooks/3/tasks.json
---|
参数 | @@ -7978,7 +8914,7 @@ http://localhost:3000/api/yystopf/ceshi/webhooks/3/test.jsonwebhook ID |
---|
@@ -7990,7 +8926,949 @@ http://localhost:3000/api/yystopf/ceshi/webhooks/3/test.json -返回的JSON示例:
获取合并请求详情接口
+ +++示例:
+
curl -X GET http://localhost:3000/api/Jasder/gitlink/pulls/88.json
+
await octokit.request('GET /api/Jasder/gitlink/pulls/88.json')
+
GET /api/:owner/:repo/pulls/:id.json
参数 | +必选 | +默认 | +类型 | +字段说明 | +
---|---|---|---|---|
owner | +是 | ++ | string | +用户登录名 | +
repo | +是 | ++ | string | +项目标识identifier | +
id | +是 | ++ | integer | +pull id值 | +
++返回的JSON示例:
+
{
+ "status": 0,
+ "message": "响应成功",
+ "project_name": "Gitlink",
+ "identifier": "forgeplus",
+ "project_identifier": "forgeplus",
+ "pr_time": "52分钟前",
+ "commits_count": 229,
+ "files_count": 328,
+ "comments_count": 0,
+ "comments_total_count": 0,
+ "pull_request": {
+ "id": 1189,
+ "base": "master",
+ "head": "develop",
+ "status": 0,
+ "fork_project_id": null,
+ "is_original": false,
+ "pull_request_staus": "open",
+ "fork_project_user": null,
+ "create_user": "jasder",
+ "mergeable": true,
+ "state": "open"
+ },
+ "issue": {
+ "id": 51888,
+ "subject": "FIx release v3.2.0",
+ "description": null,
+ "is_private": false,
+ "branch_name": null,
+ "project_author_name": "Gitlink",
+ "closed_on": "",
+ "created_at": "2021-10-12 15:51",
+ "assign_user_name": "victor",
+ "assign_user_login": "moshenglv",
+ "author_name": "段甲生",
+ "author_login": "jasder",
+ "author_picture": "images/avatars/User/36480?t=1615520120",
+ "issue_status": "新增",
+ "priority": "正常",
+ "version": null,
+ "issue_tags": null
+ },
+ "conflict_files": []
+}
+
获取pull request文件列表
+ +++示例:
+
curl -X GET \
+http://localhost:3000/api/Jason/gitlink/pulls/1/files.json
+
await octokit.request('GET /api/jasder/gitlink/pulls/1/files.json')
+
GET /api/:owner/:repo/pulls/:id/files.json
参数名 | +必选 | +类型 | +说明 | +
---|---|---|---|
owner | +是 | +string | +用户登录名 | +
repo | +是 | +string | +project's identifier | +
id | +是 | +int | +pull request's id | +
参数 | +类型 | +字段说明 | +
---|---|---|
- | +- | +- | +
files_count | +int | +文件更改的总数量 | +
total_addition | +int | +添加代码总行数 | +
total_deletion | +int | +删除代码总行数 | +
files | +array | ++ |
-- sha | +string | +commit's sha value | +
-- name | +string | +当前文件名 | +
-- old_name | +string | +修改之前的文件名称,与name相同的话,说明文件名未更改 | +
-- addition | +int | +文件添加的行数 | +
-- deletion | +int | +文件删除的行数 | +
-- type | +int | +文件类型, 1: 表示该文件只添加了内容,2: 表示该文件内容有修改, 3: 表示文件被删除或者改文件只删除了内容 | +
-- isCreated | +boolean | +当前文件是否为新增文件, true: 是, false: 否 | +
-- isDeleted | +boolean | +当前文件是否被删除, true: 是,false: 否 | +
-- isBin | +boolean | +当前文件是否为二进制文件,true: 是,false: 否 | +
-- isLFSFile | +boolean | +当前文件是否为LFS文件,true: 是,false: 否 | +
-- isRenamed | +boolean | +当前文件是否被重命名,true: 是,false: 否 | +
-- sections | +array | ++ |
---- fileName | +string | +文件名称 | +
---- lines | +array | ++ |
------ leftIdx | +string | +文件变动之前所在行数 | +
------ rightIdx | +string | +文件更改后所在行数 | +
------ type | +string | +文件变更类型,1: 新增,2: 修改, 3: 删除, 4: diff统计信息 | +
------ content | +string | +文件变更的内容 | +
------ sectionInfo | +object | ++ |
-------- path | +string | +文件相对仓库的路径 | +
-------- lastLeftIdx | +int | ++ |
-------- lastRightIdx | +int | ++ |
-------- leftHunkSize | +int | +文件变更之前的行数 | +
-------- rightHunkSize | +int | +文件变更之后的行数(及当前页面编辑器显示的总行数) | +
-------- leftIdx | +int | +文件变更之前所在行数 | +
-------- rightIdx | +int | +文件变更之后所在行数(即:页面编辑器开始显示的行数) | +
++返回的JSON示例:
+
{
+ "files_count": 6,
+ "total_addition": 447,
+ "total_deletion": 0,
+ "files": [
+ {
+ "sha": "xefenisnii",
+ "name": "文件.txt",
+ "old_name": "文件.txt",
+ "index": 6,
+ "addition": 2,
+ "deletion": 0,
+ "type": 1,
+ "isCreated": true,
+ "isDeleted": false,
+ "isBin": false,
+ "isLFSFile": false,
+ "isRenamed": false,
+ "isSubmodule": false,
+ "sections": [
+ {
+ "fileName": "文件.txt",
+ "name": "",
+ "lines": [
+ {
+ "leftIdx": 0,
+ "rightIdx": 0,
+ "type": 4,
+ "content": "@@ -0,0 +1,2 @@",
+ "sectionInfo": {
+ "path": null,
+ "lastLeftIdx": null,
+ "lastRightIdx": null,
+ "leftIdx": 0,
+ "rightIdx": 0,
+ "leftHunkSize": null,
+ "rightHunkSize": null
+ }
+ },
+ {
+ "leftIdx": 0,
+ "rightIdx": 1,
+ "type": 2,
+ "content": "+用例图一致性更新",
+ "sectionInfo": null
+ },
+ {
+ "leftIdx": 0,
+ "rightIdx": 2,
+ "type": 2,
+ "content": "+工程文件直接上传会有文件缺失,现在压缩后上传",
+ "sectionInfo": null
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
获取pull request的commits列表
+ +++示例:
+
curl -X GET http://localhost:3000/api/jasder/jasder_test/pulls/1/commits.json
+
await octokit.request('GET /api/jasder/jasder_test/pulls/1/commits.json')
+
GET /api/:owner/:repo/pulls/:id/commits.json
参数名 | +必选 | +类型 | +说明 | +
---|---|---|---|
owner | +是 | +string | +用户登录名 | +
repo | +是 | +string | +project's identifier | +
id | +是 | +int | +pull request's id | +
参数 | +类型 | +字段说明 | +
---|---|---|
commits_count | +int | +commits总数量 | +
commits | +array | ++ |
-- author | +object | +项目作者 | +
---- login | +string | +用户login | +
---- name | +string | +用户姓名 | +
---- image_url | +string | +用户头像 | +
-- committer | +object | +commit提交用户 | +
---- login | +string | +用户login | +
---- name | +string | +用户姓名 | +
---- image_url | +string | +用户头像 | +
-- timestamp | +int | +commit的unix时间戳 | +
-- time_from_now | +string | +commit’s 提交时间距当前时间的时间值 | +
-- message | +string | +commit说明信息 | +
-- sha | +string | +commit’s sha值 | +
++返回的JSON示例:
+
{
+ "commits_count": 1,
+ "commits": [
+ {
+ "author": {
+ "id": 36480,
+ "login": "jasder",
+ "name": "段甲生",
+ "image_url": "avatars/User/b"
+ },
+ "committer": {
+ "id": 36480,
+ "login": "jasder",
+ "name": "段甲生",
+ "image_url": "avatars/User/b"
+ },
+ "timestamp": 1604382982,
+ "time_from_now": "3小时前",
+ "message": "add some file\n* Add the tag list page to the release page\n* Apply suggestions from code review\n* Add the tags list view\n* Add the delete tag way on ui\n* Not delete tag and clear message when delete a release\n",
+ "sha": "8f5faee0d3b3be1b8063e84da0c79dd75327b968"
+ }
+ ]
+}
+
Compare two commits
+ +++示例:
+
curl -X GET \
+http://localhost:3000/api/Jason/test-txt/compare/master...develop
+
+curl -X GET \
+http://localhost:3000/api/Jason/test-txt/compare/master...Jason/test-txt:develop
+
await octokit.request('GET /api/Jason/test-txt/compare/master...Jason/test-txt:develop')
+
GET /api/:owner/:repo/compare/{base}...{head}.json
参数名 | +必选 | +类型 | +说明 | +
---|---|---|---|
owner | +是 | +string | +用户登录名 | +
repo | +是 | +string | +project's identifier | +
base | +是 | +string | +pull request's id | +
head | +是 | +string | +pull request's id | +
参数 | +类型 | +字段说明 | +
---|---|---|
- | +- | +- | +
commits_count | +int | +commits总数量 | +
commits | +array | ++ |
-- author | +object | +项目作者 | +
---- login | +string | +用户login | +
---- name | +string | +用户姓名 | +
---- image_url | +string | +用户头像 | +
-- committer | +object | +commit提交用户 | +
---- login | +string | +用户login | +
---- name | +string | +用户姓名 | +
---- image_url | +string | +用户头像 | +
-- timestamp | +int | +commit的unix时间戳 | +
-- time_from_now | +string | +commit’s 提交时间距当前时间的时间值 | +
-- message | +string | +commit说明信息 | +
-- sha | +string | +commit’s sha值 | +
diff | +object | ++ |
-- files_count | +int | +文件更改的总数量 | +
-- total_addition | +int | +添加代码总行数 | +
-- total_deletion | +int | +删除代码总行数 | +
-- files | +Array | ++ |
-- sha | +string | +commit's sha | +
-- name | +string | +当前文件名 | +
-- old_name | +string | +修改之前的文件名称,与name相同的话,说明文件名未更改 | +
-- addition | +int | +文件添加的行数 | +
-- deletion | +int | +文件删除的行数 | +
-- type | +int | +文件类型, 1: 表示该文件只添加了内容,2: 表示该文件内容有修改, 3: 表示文件被删除或者改文件只删除了内容 | +
-- isCreated | +boolean | +当前文件是否为新增文件, true: 是, false: 否 | +
-- isDeleted | +boolean | +当前文件是否被删除, true: 是,false: 否 | +
-- isBin | +boolean | +当前文件是否为二进制文件,true: 是,false: 否 | +
-- isLFSFile | +boolean | +当前文件是否为LFS文件,true: 是,false: 否 | +
-- isRenamed | +boolean | +当前文件是否被重命名,true: 是,false: 否 | +
-- sections | +array | ++ |
---- fileName | +string | +文件名称 | +
---- lines | +array | ++ |
------ leftIdx | +string | +文件变动之前所在行数 | +
------ rightIdx | +string | +文件更改后所在行数 | +
------ type | +string | +文件变更类型,1: 内容未改动,2: 添加, 3: 删除, 4: diff统计信息 | +
------ content | +string | +文件变更的内容 | +
------ sectionInfo | +object | ++ |
-------- path | +string | +文件相对仓库的路径 | +
-------- lastLeftIdx | +int | ++ |
-------- lastRightIdx | +int | ++ |
-------- leftHunkSize | +int | +文件变更之前的行数 | +
-------- rightHunkSize | +int | +文件变更之后的行数(及当前页面编辑器显示的总行数) | +
-------- leftIdx | +int | +文件变更之前所在行数 | +
-------- rightIdx | +int | +文件变更之后所在行数 | +
++返回的JSON示例:
+
{
+ "commits_count": 1,
+ "commits": [
+ {
+ "author": {
+ "id": 36480,
+ "login": "jasder",
+ "name": "段甲生",
+ "image_url": "avatars/User/b"
+ },
+ "committer": {
+ "id": 36480,
+ "login": "jasder",
+ "name": "段甲生",
+ "image_url": "avatars/User/b"
+ },
+ "timestamp": 1604382982,
+ "time_from_now": "4小时前",
+ "message": "add some file\n* Add the tag list page to the release page\n* Apply suggestions from code review\n* Add the tags list view\n* Add the delete tag way on ui\n* Not delete tag and clear message when delete a release\n",
+ "sha": "8f5faee0d3b3be1b8063e84da0c79dd75327b968"
+ }
+ ],
+ "diff": {
+ "files_count": 6,
+ "total_addition": 447,
+ "total_deletion": 0,
+ "files": [
+ {
+ "name": "build.go",
+ "old_name": "build.go",
+ "index": 1,
+ "addition": 33,
+ "deletion": 0,
+ "type": 1,
+ "isCreated": true,
+ "isDeleted": false,
+ "isBin": false,
+ "isLFSFile": false,
+ "isRenamed": false,
+ "isSubmodule": false,
+ "sections": [
+ {
+ "fileName": "build.go",
+ "name": "",
+ "lines": [
+ {
+ "leftIdx": 0,
+ "rightIdx": 0,
+ "type": 4,
+ "content": "@@ -0,0 +1,33 @@",
+ "sectionInfo": {
+ "path": "build.go",
+ "lastLeftIdx": 0,
+ "lastRightIdx": 0,
+ "leftIdx": 0,
+ "rightIdx": 1,
+ "leftHunkSize": 0,
+ "rightHunkSize": 33
+ }
+ },
+ {
+ "leftIdx": 0,
+ "rightIdx": 1,
+ "type": 2,
+ "content": "+// Copyright 2020 The Gitea Authors. All rights reserved.",
+ "sectionInfo": null
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+
获取合并请求列表
+ +++示例:
+
curl -X GET http://localhost:3000/api/Jasder/gitlink/pulls.json
+
await octokit.request('GET /api/Jasder/gitlink/pulls.json')
+
GET /api/:owner/:repo/pulls.json
参数 | +必选 | +默认 | +类型 | +字段说明 | +
---|---|---|---|---|
owner | +是 | ++ | string | +用户登录名 | +
repo | +是 | ++ | string | +项目标识identifier | +
++返回的JSON示例:
+
{
+ "status": 0,
+ "message": "响应成功",
+ "open_count": 4,
+ "close_count": 51,
+ "merged_issues_size": 123,
+ "search_count": 4,
+ "limit": null,
+ "user_admin_or_member": true,
+ "user_admin_or_developer": true,
+ "project_name": "Gitlink",
+ "project_author_name": "Gitlink",
+ "issues": [
+ {
+ "pull_request_id": 1189,
+ "pull_request_status": 0,
+ "pull_request_head": "develop",
+ "pull_request_base": "master",
+ "pull_request_staus": "open",
+ "is_original": false,
+ "fork_project_id": null,
+ "fork_project_identifier": null,
+ "fork_project_user": null,
+ "id": 51888,
+ "name": "FIx release v3.2.0",
+ "pr_time": "59分钟前",
+ "assign_user_name": "victor",
+ "assign_user_login": "moshenglv",
+ "author_name": "段甲生",
+ "author_login": "jasder",
+ "avatar_url": "images/avatars/User/36480?t=1615520120",
+ "priority": "正常",
+ "version": null,
+ "journals_count": 0,
+ "issue_tags": null
+ }
+ ]
+}
+
+ {receiver},您好!
+ {nickname1}在 {nickname2}/{repository} 指派给你一个易修:{title}
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ 你已加入 {organization} 组织
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ 你已被移出 {organization} 组织
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ {nickname1}在 {nickname2}/{repository} 新建了一个易修:{title}
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ 你已加入 {nickname}/{repository} 项目
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ 你已被移出 {nickname}/{repository} 项目
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ {nickname1} 已加入项目 {nickname2}/{repository}
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ {nickname1} 已被移出项目 {nickname2}/{repository}
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ {nickname1}在 {nickname2}/{repository} 提交了一个合并请求:{title}
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ {nickname1} 更改 {nickname2}/{repository} 的仓库设置:
+ {ifname}更改项目名称为"{name}"{endname}
+ {ifdescription}更改项目简介为"{description}"{enddescription}
+ {ifcategory}更改项目类别为"{category}"{endcategory}
+ {iflanguage}更改项目语言为"{language}"{endlanguage}
+ {ifpermission}将仓库设为"{permission}"{endpermission}
+ {ifnavbar}将项目导航更改为"{navbar}"{endnavbar}
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +
+ {receiver},您好!
+ {nickname1}在 {nickname2}/{repository} 指派给你一个合并请求:{title}
+
+ 扫一扫,关注trustie微信公众号,更方便获取平台动态,消息推送等提醒
+ 想了解更多信息,请访问 www.trustie.net
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
Trustie团队
+ +