新增: 批量更改文件

This commit is contained in:
2022-07-19 16:47:01 +08:00
parent 1882120df3
commit 25afedcdfd
10 changed files with 816 additions and 261 deletions

View File

@@ -1093,6 +1093,138 @@ await octokit.request('GET /api/yystopf/ceshi/files.json')
]
```
## 提交文件到仓库
提交文件到仓库,支持批量
> 示例:
```shell
curl -X POST \
-d "files[][action_type]=create" \
-d "files[][content]=jfksj" \
-d "files[][encoding]=text" \
-d "files[][file_path]=heihei8" \
-d "author_email=yystopf@163.com" \
-d "author_name=yystopf" \
-d "author_timeunix=1658214400" \
-d "committer_email=yystopf@163.com" \
-d "committer_name=yystopf" \
-d "committer_timeunix=1658214400" \
-d "branch=develop" \
-d "new_branch=develop_ceshi" \
-d "message=测试提交" \
http://localhost:3000/api/v1/yystopf/ceshi/contents/batch.json
```
```javascript
await octokit.request('POST /api/v1/yystopf/ceshi/contents/batch.json')
```
### HTTP 请求
`POST /api/v1/:owner/:repo/contents/batch`
### 请求参数:
参数 | 必选 | 默认 | 类型 | 字段说明
--------- | ------- | ------- | -------- | ----------
|owner |是| |string |用户登录名 |
|repo |是| |string |项目标识identifier |
|files.action_type |是| |string|操作类型 create: 创建 update: 更新 delete: 删除|
|files.content |是| |string|文件内容|
|files.encoding |是| |string|文件编码方式 text 文本 base64 加密|
|files.file_path |是| |string|文件路径|
|author_email |是| |string|作者邮箱|
|author_name |是| |string|作者名称|
|author_timeunix |是| |int|编码时间,精确到秒|
|committer_email |是| |string|提交者邮箱|
|committer_name |是| |string|提交者名称|
|committer_timeunix|是| |int|提交时间戳,精确到秒|
|branch |是| |string|提交分支|
|new_branch |否| |string|如果需要创建新分支,这个需要填|
|message |是| |string|提交信息|
> 请求的JSON示例:
```json
{
"files": [
{
"action_type": "create",
"content": "jfksj",
"encoding": "text",
"file_path": "heihei7"
}
],
"author_email": "yystopf@163.com",
"author_name": "yystopf",
"author_timeunix": 1658214400,
"committer_email": "yystopf@163.com",
"committer_name": "yystopf",
"committer_timeunix": 1658214400,
"branch": "hh_ceshi",
"message": "测试提交"
}
```
### 返回字段说明:
参数 | 类型 | 字段说明
--------- | ----------- | -----------
|commit.sha |string |提交ID|
|commit.author |object |作者|
|commit.committer |object |提交者|
|commit.commit_message|string |提交信息|
|commit.parent_shas |array |父节点commit ID|
|commit.authored_time|int |编码时间|
|commit.commited_time|int |提交时间|
|contents.name |string |文件名称|
|contents.path |string |文件路径|
|contents.sha |string |文件标识|
|contents.type |string |文件类型|
|contents.size |int |文件大小|
|contents.url |string |文件地址|
|contents.encoding |string |编码类型 text 文本 base64 加密 |
|contents.content |string |文件内容|
> 返回的JSON示例:
```json
{
"commit": {
"sha": "7c1e25f9b974e4b7a3816bd7f5e49b441078e999",
"author": {
"id": "2",
"login": "yystopf",
"name": "heh",
"type": "User",
"image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
},
"committer": {
"id": "2",
"login": "yystopf",
"name": "heh",
"type": "User",
"image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
},
"commit_message": "测试提交\n",
"parent_shas": [
"9aec816d0f3600082ca77893290a14bd29d805fe"
],
"authored_time": 1658214400,
"commited_time": 1658214400
},
"contents": [
{
"name": "heihei7",
"path": "heihei7",
"sha": "f0acac8efb3021b0f6a7b13b42d033d86e076a4b",
"type": "file",
"size": 5,
"encoding": "base64",
"content": "amZrc2o="
}
]
}
```
## 获取仓库代码目录
获取仓库代码目录