gpt4 book ai didi

git - 有没有办法使用 github API v3 获取给定 repo 的最新标签

转载 作者:IT王子 更新时间:2023-10-29 01:27:35 30 4
gpt4 key购买 nike

我对 github api 比较陌生,我正在努力获取给定 repo 的最新标签。

问: 为什么我需要它?

答: 作为 QA,我负责测试和发布到 LIVE,我们的团队拥有大约 40 个工件(github 中的 repos)。我想构建一个工具,列出在最新标签之后提交的项目。这样我就可以更有效地管理发布。

进入正题。

根据Github api获取一个give repo的所有标签是

GET /repos/:owner/:repo/tags

但这给出了 repo 协议(protocol)的完整标签列表。

有没有一种简单的方法可以找到最新的标签,而无需遍历上述 api 调用中的所有可用标签?

如果我遍历每个标签以找到最新的标签(基于每个标签的时间戳),随着时间的推移,标签的数量将会增加,这显然不是这样做的有效方法,因为我想要对至少 10 个以上的 repo 重复相同的过程。

我们将不胜感激任何帮助。

提前致谢

最佳答案

GitHub 没有用于检索最新标签的 API,因为它有 retrieving the latest release。 .这可能是因为标签可以是任意字符串,不一定是 semver,但这并不是真正的借口,因为标签有时间戳,并且 GitHub 在通过其 Tags API 返回标签时确实按字典顺序对标签进行排序。 .

无论如何,要获取最新的标签,您需要调用该API,然后根据semver对标签进行排序。规则。由于这些规则非常重要(请参阅该链接的第 11 点),最好使用 the semver library (ported for the browser)。

const gitHubPath = 'dandv/local-iso-dt';  // example repo
const url = 'https://api.github.com/repos/' + gitHubPath + '/tags';

$.get(url).done(data => {
const versions = data.sort((v1, v2) => semver.compare(v2.name, v1.name));
$('#result').html(versions[0].name);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/hippich/bower-semver/master/semver.min.js"></script>
<p>Latest tag: <span id="result"></span></p>

关于git - 有没有办法使用 github API v3 获取给定 repo 的最新标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29109673/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com