如何判断一个Repo是否是Private还是Internal?

    Github的Repository分为三种类型,主要是用于决定谁可以访问、查看和克隆该仓库。GitHub 提供了几种不同的可见性选项,包括 PrivatePublic 和 Internal。

  • Private
    • 只有仓库的拥有者和被明确邀请为协作者(Collaborator)的用户才能访问仓库
  • Internal
    • 这是 GitHub Enterprise Server 的一个特性,而不是标准的 GitHub.com。
    • 仓库的内容仅对组织内的成员可见。
  • Public
    • 任何人都可以查看仓库的内容

   在决定对Gihub的graphql进行扫描时,需要检测是否有Repo在扫描的范围之外,检测出可能遗漏的Repository,同时又需要排除一些私有的Repo。 于是,就通过graphql尝试获取graphql的属性。获取的EnterpriseRepositoryInfo的信息中包含有一个 isPrivate 属性。 这个属性具有一定的欺骗性,如果单看名字就可能认为它是Private的repo,但是,根据它的说明如下:

isPrivate代表这个Repo可能是Private也可能是internal。 也就是说这个属性不能用于决定某个repo是否是私有的。

    于是,再进一步查询手册,发现有一个可以获取整个Repository 信息,有一个关于privacy的说明如下;

在这里可以了解到,一个repo是否是private不能通过privacy来判断,但是可以通过visibility来获取。

再进一步探索visibility的取值范围:

在这里可以看到Repo的三个可见性的属性:INTERNAL,PRIVATE和PUBLIC。通过,这个属性我们可以判断一个repo到底是不是Private。 这次应该是可以了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值