Octokit:无法创建多标签



无法创建多标签

代码示例:

Promise.all(
srcRepoReq.data.map(async (label) => {
const newLabel: ghLabel = {
name: label.name,
color: label.color,
description: label.description,
};
const createLabelReq = await octokit.request('POST /repos/{username}/{trgtRepo}/labels', {
username: cfg.username,
trgtRepo: cfg.trgtRepo,
name: newLabel.name,
color: newLabel.color,
description: newLabel.description,
});
Terminal.writeInfo(createLabelReq.status);
Terminal.writeInfo(newLabel.name);
})
);

我想做的事:

我想使用GitHub的@octokit/coreAPI客户端创建多个标签。

问题:

所有这些承诺似乎都没有兑现。我不会从这两个Terminal.*方法中得到任何文本。回购中也没有显示标签。但是,如果我在Promise.all(srcRepoReq.data.map(...));之外执行代码,它会非常好地工作,并且正在创建标签。但我必须手动执行每个请求,并将它们硬编码到代码中。这不是我想做的。我想基于元素数组创建标签。类型

type ghLabel  = {
name: string;
color: string;
description: string;
};

这包含GitHub API创建标签所需的所有数据。

这可能是GitHub方面受到限制的原因吗?每个<time>只有请求的<number>

澄清

是的。类型正确。我已经证实了。

有什么解决方案吗

正如您所提到的,滥用率限制可能是您遇到问题的根本原因。你试过catch吗?为什么Promise.all无法获得更多信息?我们在谈论多少个重新定位(或多或少(?

如果你发现自己达到了API的限制,我建议你尝试使用Throttling Octokit的插件(@Octokit/plugin-Throttling(。

此外,作为额外的一点,我邀请您来看看Octoherd(来自Octokit的创建者(。它为您提供了一个创建脚本实用程序,可以对存储库执行大量任务,就像您想在这里使用标签一样。

如果你在运行Octoherd或Octokit插件时遇到问题,在这些转发中打开一个问题,创建者和其他贡献者都非常活跃。

相关内容

  • 没有找到相关文章

最新更新