Api 检查Github回购是否使用Probot中的模板创建
我有一个Github机器人(Probot),我用它来处理命名约定等方面的自动化 我也有很多团队,我们使用它们来控制可见性,我想知道当从特定模板创建回购协议时,是否可以使用Probot来分配特定团队的访问权限 然而,我分析了上下文对象,并在其中搜索模板repo名称,但似乎找不到确定repo从何处创建的可靠方法。也许我错过了什么,或者这根本不可能?见所附代码Api 检查Github回购是否使用Probot中的模板创建,api,github,octokit,probot,Api,Github,Octokit,Probot,我有一个Github机器人(Probot),我用它来处理命名约定等方面的自动化 我也有很多团队,我们使用它们来控制可见性,我想知道当从特定模板创建回购协议时,是否可以使用Probot来分配特定团队的访问权限 然而,我分析了上下文对象,并在其中搜索模板repo名称,但似乎找不到确定repo从何处创建的可靠方法。也许我错过了什么,或者这根本不可能?见所附代码 const templateTeamAssignment = async (context) => { const { github
const templateTeamAssignment = async (context) => {
const { github, payload } = context;
const repo = payload.repository.name;
console.log("context", context);
};
module.exports = templateTeamAssignment;
有什么想法吗?事件负载不包括您要查找的
模板存储库
属性。但是您可以通过使用RESTAPI调用或GraphQL查询检索存储库的信息来检索信息。例如,试试这个
const{template\u repository}=wait context.github.repos.get(context.repo())
如果
template\u repository
未设置,则表示该存储库不是使用模板存储库创建的。事件负载不包括您要查找的template\u repository
属性。但是您可以通过使用RESTAPI调用或GraphQL查询检索存储库的信息来检索信息。例如,试试这个
const{template\u repository}=wait context.github.repos.get(context.repo())
如果
template\u repository
未设置,则表示该存储库不是使用模板存储库创建的。不幸的是,我认为目前不可能这样做。我确实设法弄明白了baptiste预览
需要作为标题提供,以便在结果中显示is\u模板
和template\u存储库
属性。它们也只能在listForOrg()
函数中看到,因此我必须循环搜索结果以找到单个回购信息
const templateTeamAssignment = async (context) => {
const { github, payload } = context;
const repo = payload.repository.name;
console.log("context", context);
console.log("stackOverflow", await context.github.repos.get(context.repo()));
console.log(
"stackOverflow",
await context.github.repos.listForOrg({
org: payload.organization.login,
headers: {
accept: "application/vnd.github.baptiste-preview+json",
},
})
);
};
当我实现这一点时,我能够看到
is_template
属性,但看不到template_repository
,这让我认为它还不够稳定,无法用于生产,API文档上的警告证实了这一点。想知道目前是否有人成功获得了模板库属性?不幸的是,我认为目前不可能做到这一点。我确实设法弄明白了baptiste预览
需要作为标题提供,以便在结果中显示is\u模板
和template\u存储库
属性。它们也只能在listForOrg()
函数中看到,因此我必须循环搜索结果以找到单个回购信息
const templateTeamAssignment = async (context) => {
const { github, payload } = context;
const repo = payload.repository.name;
console.log("context", context);
console.log("stackOverflow", await context.github.repos.get(context.repo()));
console.log(
"stackOverflow",
await context.github.repos.listForOrg({
org: payload.organization.login,
headers: {
accept: "application/vnd.github.baptiste-preview+json",
},
})
);
};
当我实现这一点时,我能够看到is_template
属性,但看不到template_repository
,这让我认为它还不够稳定,无法用于生产,API文档上的警告证实了这一点。想知道目前是否有人成功获得了模板库
属性?不幸的是@Gregor没有做到这一点。它确实对baptiste预览版
有所启发,我需要将其作为标题提供,以显示is\u模板
和template\u存储库
属性,如您所述。它们也仅在listForOrg
功能中可见。当我实现这一点时,我能够看到is_template
属性,但看不到template_repository
,这让我认为它还不够稳定,无法用于生产,API文档上的警告证实了这一点。现在,除非你有其他想法,否则我将不得不放弃。预演将一个接一个地进行,它们应该相当稳定。我建议联系GitHub的支持,他们将能够提供最好的帮助。感谢@Gregor,如果我能成功地解决iTunes问题,我会尝试一下,并在这里报告@Gregor没有解决问题。它确实对baptiste预览版
有所启发,我需要将其作为标题提供,以显示is\u模板
和template\u存储库
属性,如您所述。它们也仅在listForOrg
功能中可见。当我实现这一点时,我能够看到is_template
属性,但看不到template_repository
,这让我认为它还不够稳定,无法用于生产,API文档上的警告证实了这一点。现在,除非你有其他想法,否则我将不得不放弃。预演将一个接一个地进行,它们应该相当稳定。我建议联系GitHub的支持,他们将能够提供最好的帮助。谢谢@Gregor,如果我能解决这个问题,我会尝试一下,并在这里报告