列出GitHub上所有已发布软件包的API调用是什么?
我正在查看GitHub API v4 GraphQL文档,但是,由于我对GraphQL一无所知,因此我无法理解它。
查找已发布到GitHub的所有私有软件包 软件包以及软件包的版本ID,您可以使用 RegistryPackagesForQuery连接。您将需要一个带有 阅读:包和回购范围。有关更多信息,请参见 GitHub Developer文档中的“ registryPackagesForQuery”。
但是那之后我基本上迷路了。
答案 0 :(得分:0)
使用cURL命令使用registryPackagesForQuery
函数:
curl -X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: bearer TOKEN" \
-d '{"query":"{ user(login: \"OWNER\") { registryPackagesForQuery(first: 10, query:\"is:private\") { totalCount nodes { nameWithOwner versions(first: 10) { nodes { id version } } } } }}"}' \
https://api.github.com/graphql
用您的git登录名替换OWNER
,用您的个人令牌替换TOKEN
。
答案 1 :(得分:0)
使用 JavaScript 和 axios 库
用您自己的详细信息替换 OWNER、REPO 和 TOKEN
const axios = require("axios");
const query = `{
repository(owner: "OWNER", name: "REPO") {
packages(first:10){
nodes {
id
name
packageType
versions(first: 10) {
nodes {
id
version
files(first: 10) {
nodes {
name
updatedAt
}
}
}
}
}
}
}
}`;
(async () => {
try {
const token = "TOKEN";
const config = {
headers: {accept: "application/vnd.github.v3+json", Authorization: `Bearer ${token}`}
};
const response = await axios.post("https://api.github.com/graphql", {query}, config);
console.log("data", response.data);
} catch (err) {
console.log("something went wrong", err)
}
})();