Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(github): add github api driver #7717

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

KirCute
Copy link
Contributor

@KirCute KirCute commented Dec 26, 2024

Add GitHub driver powered by GitHub API

每个目录下只能显示1,000 100,000个子项,不支持操作100M以上大小的文件。
会忽略仓库内的.gitkeep文件,驱动全权负责该文件的管理。
没有考虑仓库里有子模块的情况,将来补 已实现操作子模块时直接返回错误,将来不补充实现对子模块的访问支持。

暂时没有实现重命名、和移动,这两个功能要用别的api,暂时还没研究。 已实现
删除目录是手动递归实现的,很耗时,但这就是官方建议的操作方法,没有更好的方法了。 已改用 Tree API 实现
Github.put函数我的本意是希望文件内容每往AList发一点,AList就往GitHub发一点,同时记录进度。但我试了下好像还是变成浏览器给AList发完之后,AList才开始向GitHub发起请求了,我不知道用resty怎么实现这个功能,如果我写的确实有问题麻烦帮我改改,如果这个功能实现不了的话麻烦帮我改成调用CacheFullInTempFile 已实现

Document part AlistGo/docs#396

@KirCute
Copy link
Contributor Author

KirCute commented Dec 28, 2024

配置项:

  • token: 在https://github.com/settings/tokens申请,需要 repo 权限
  • owner: github.com/AlistGo/alist 中的 AlistGo
  • repo: github.com/AlistGo/alist 中的 alist
  • ref: branch、tag 或 commit sha,只有填 branch 时驱动才可写,不填使用默认分支
  • committer name: 自定义提交者,不填使用 token 的账号,和 committer email 必须同时填
  • committer email: 自定义提交者,不填使用 token 的账号,和 committer name 必须同时填
  • author name: 自定义作者,不填使用 token 的账号,和 author email 必须同时填
  • author email: 自定义作者,不填使用 token 的账号,和 author name 必须同时填
  • xxx commit message: 自定义提交信息
    • template 可用变量:
      • UserName: 发起操作的用户
      • ObjName: 被操作文件(夹)的名称
      • ObjPath: 被操作文件(夹)的路径
      • ParentName: 被操作文件(夹)的父文件夹名称
      • ParentPath: 被操作文件(夹)的父文件夹路径
      • TargetName: (rename)新名称(copy、move)目标文件夹名称
      • TargetPath: (rename)新路径(copy、move)目标路径

@j2rong4cn
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants