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```"
}

学无止境,谦卑而行.

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
2月前
|
开发工具 git 开发者
2024最简七步完成 将本地项目提交到github仓库方法
该文章提供了一个简洁的七步教程,指导用户如何将本地项目提交到GitHub仓库。
2024最简七步完成 将本地项目提交到github仓库方法
|
2月前
|
存储 安全 API
GitHub主要仓库泄露访问令牌,代码与云环境面临风险
GitHub主要仓库泄露访问令牌,代码与云环境面临风险
GitHub主要仓库泄露访问令牌,代码与云环境面临风险
|
2月前
|
安全 网络协议 Shell
Github代码仓库SSH配置流程
这篇文章是关于如何配置SSH以安全地连接到GitHub代码仓库的详细指南,包括使用一键脚本简化配置过程、生成SSH密钥对、添加密钥到SSH代理、将公钥添加到GitHub账户以及测试SSH连接的步骤。
57 0
Github代码仓库SSH配置流程
|
2月前
|
网络协议 Shell 网络安全
开发工具使用之 github 私人仓库Clone 失败的问题
这篇文章介绍了解决GitHub上私人仓库克隆失败的问题,通过检查本地SSH key的存在与否、生成新的SSH key、添加SSH key到GitHub以及使用SSH方式克隆私有仓库的步骤来解决这个问题。
开发工具使用之 github 私人仓库Clone 失败的问题
|
2月前
|
存储 前端开发 数据可视化
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
这篇文章详细介绍了如何在GitHub上创建新仓库,以及如何将多个项目整合到一个仓库中进行管理。文章还提供了克隆仓库到本地、使用不同文件夹存放不同项目代码、以及将这些项目提交到远程服务器的步骤和方法。
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
这篇文章是一份详细的GitHub使用教程,介绍了如何在GitHub上创建仓库、创建分支、编辑和发布更改内容、发起拉取请求以及合并分支的操作步骤。
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
|
2月前
|
人工智能 算法 机器人
Github上5个实用的ChatGPT仓库
Github上5个实用的ChatGPT仓库
|
3月前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
78 0
|
API 索引
开发一个简单的工具,导出github仓库所有issue列表
开发一个简单的工具,导出github仓库所有issue列表
360 0
开发一个简单的工具,导出github仓库所有issue列表
开发一个简单的工具,导出github仓库所有issue列表
Jerry有一个github仓库,专门用来存放自己的知识管理,通过一条条的issue来记录具体的知识点:https://github.com/i042416/KnowlegeRepository/issues目前已经积累了超过2000条记录了。