GitHub——通过接口获取仓库下的最新版本

简介: GitHub——通过接口获取仓库下的最新版本

前言

主要通过调用GitHub官方提供的API来实现,因为我们主要是为了获取某一仓库下的最新版本,所以主要的操作接口又都在存储库下,直接到存储库下找对应的接口即可;

REST API: https://docs.github.com/cn/rest

repos: https://docs.github.com/cn/rest/repos/repos

内容

# 接口
https://api.github.com/repos/<user-name>/<repos-name>/releases/latest
# 示例
https://api.github.com/repos/wangyang0210/cnblogs-theme/releases/latest

内容

async function request(url = '', method = 'GET', data = {}) {
    let options = {
        method: method,
        mode: 'cors',
        redirect: 'follow',
        referrerPolicy: 'no-referrer',
    }
    if(Object.keys(data).length) {
        options.body=JSON.stringify(data)
    }
    const response = await fetch(url, options)
    return response.json()
}
request('https://api.github.com/repos/wangyang0210/cnblogs-theme/releases/latest').then(r => console.log(r))
{
    "url": "https://api.github.com/repos/wangyang0210/cnblogs-theme/releases/83672101",
    "assets_url": "https://api.github.com/repos/wangyang0210/cnblogs-theme/releases/83672101/assets",
    "upload_url": "https://uploads.github.com/repos/wangyang0210/cnblogs-theme/releases/83672101/assets{?name,label}",
    "html_url": "https://github.com/wangyang0210/cnblogs-theme/releases/tag/v2.2.4",
    "id": 83672101,
    "author": {
        "login": "wangyang0210",
        "id": 36377605,
        "node_id": "MDQ6VXNlcjM2Mzc3NjA1",
        "avatar_url": "https://avatars.githubusercontent.com/u/36377605?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/wangyang0210",
        "html_url": "https://github.com/wangyang0210",
        "followers_url": "https://api.github.com/users/wangyang0210/followers",
        "following_url": "https://api.github.com/users/wangyang0210/following{/other_user}",
        "gists_url": "https://api.github.com/users/wangyang0210/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/wangyang0210/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/wangyang0210/subscriptions",
        "organizations_url": "https://api.github.com/users/wangyang0210/orgs",
        "repos_url": "https://api.github.com/users/wangyang0210/repos",
        "events_url": "https://api.github.com/users/wangyang0210/events{/privacy}",
        "received_events_url": "https://api.github.com/users/wangyang0210/received_events",
        "type": "User",
        "site_admin": false
    },
    "node_id": "RE_kwDOCc6VqM4E_Lwl",
    "tag_name": "v2.2.4",
    "target_commitish": "v2",
    "name": "",
    "draft": false,
    "prerelease": false,
    "created_at": "2022-11-20T08:32:47Z",
    "published_at": "2022-11-20T08:36:10Z",
    "assets": [],
    "tarball_url": "https://api.github.com/repos/wangyang0210/cnblogs-theme/tarball/v2.2.4",
    "zipball_url": "https://api.github.com/repos/wangyang0210/cnblogs-theme/zipball/v2.2.4",
    "body": "# 升级部署\r\n\r\n本次升级只需要替换JS文件,如果从较老版本升级需替换JS和CSS文件;\r\n\r\n```\r\n<script src=\"https://cdn.jsdelivr.net/gh/wangyang0210/cnblogs-theme@v2.2.4/dist/simple-memory.js\" defer></script>\r\n<script src=\"https://unpkg.com/cnblogs-theme@2.2.4/dist/simple-memory.js\" defer></script>\r\n<script src=\"https://cdn.jsdelivr.net/npm/cnblogs-theme@2.2.4/dist/simple-memory.js\" defer></script>\r\n```\r\n\r\n# 更新日志\r\n```\r\n- 优化博客状态栏显示\r\n- 只保留v2版本文档\r\n- iconfont使用CDN资源\r\n- 更新文档备用地址\r\n- 谷歌字体适用CDN资源\r\n- 使用fetch代替request\r\n- 编译统一使用webpack\r\n```"
}

学无止境,谦卑而行.

目录
相关文章
|
开发工具 git C++
【够用就好002】外行第一次发布github项目仓库
#deepseek#自学 记录外行学习代码的历程 今天是上传自己的工具代码到github仓库,一直以来是伸手党克隆别人的项目,今天在deepseek的辅导下上传自己的内容。
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
1620 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
16037 11
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
621 0
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
831 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
开发工具 git
vscode推送项目到github仓库故障解决1
本文介绍了如何优雅解决本地仓库与远程仓库历史记录不一致的问题,并提供避免未来问题的最佳实践。核心在于理解问题根源(如历史记录差异和常见原因),采用推荐的解决方案(先本地初始化再关联远程仓库),并遵循一致的工作流程、团队协作规范及熟悉 Git 命令。通过强制推送或合并无关历史记录等方式处理现有冲突,同时养成良好习惯以预防类似问题。
|
机器学习/深度学习 人工智能 自然语言处理
PeterCat:一键创建开源项目 AI 问答机器人,自动抓取 GitHub 仓库信息、文档和 issue 等构建知识库
PeterCat 是一款开源的智能答疑机器人,能够自动抓取 GitHub 上的文档和 issue 构建知识库,提供对话式答疑服务,帮助开发者和社区维护者高效解决技术问题。
1165 7
PeterCat:一键创建开源项目 AI 问答机器人,自动抓取 GitHub 仓库信息、文档和 issue 等构建知识库
|
对象存储
一个通过 GitHub Action 将 GitHub 仓库与阿里云 OSS 完全同步的脚本
一种将 GitHub 仓库完全同步到阿里云 OSS 的方法。
|
人工智能 前端开发 Linux
github是怎么用的,如何下载仓库
github是怎么用的,如何下载仓库
|
人工智能 算法 机器人
Github上5个实用的ChatGPT仓库
Github上5个实用的ChatGPT仓库
776 0