Githawk: 讨论:支持其他托管站点(Gitlab、Bitbucket)

创建于 2017-09-24  ·  20评论  ·  资料来源: GitHawkApp/GitHawk

首先,非常感谢您使用这个应用程序!

其次,人们可以使用其他托管站点来管理他们的代码或我在工作场所环境中的使用。 您对这个项目的愿景是否支持其中任何一项? 我知道这将是大量的工作,并且结果可能会因提供的不同 API 的不同而有所不同。

如果您的愿景/计划不支持,您是否会为此目的支持此 repo 的 PR/Fork。

再次感谢!

最有用的评论

我想我之前已经说过了,但下周将在工作中的黑客周期间再次尝试这一点。 对此超级兴奋:)

所有20条评论

我绝对愿意支持这一点,但老实说,这对我来说并不是一个高优先级,因为我不使用任何其他平台。 很高兴审查要整合的提案和 PR,而且由于它是开源的,我完全可以与其他平台合作!

使用GitHawk发送

我认为主要问题是一切都与 GithubClient 类紧密耦合,并且它的所有操作都有相当多的扩展 - 我们真正需要的是一个使用的协议,GithubClient 恰好符合允许它可以轻松更换为不同的服务(GitLab 等)

我们实际上可以非常轻松地做的一件事是添加 GitHub Enterprise 支持。 除了登录流程外,它们的 API 基本相同,但 App Store 上的很多人实际上为功能收取了额外费用!

不过,我不确定支持 Enterprise 是否那么容易。 在工作中,我们拥有 Enterprise 自托管,如果不使用 VPN,我将无法连接。

@BasThomas这是一个很常见的问题,但这归结为正确的错误处理。 无法连接到主机? 然后告诉用户!

用户是否可以访问企业实例完全不受我们控制,我们不能通过网线来破解我们的方法😂

不明显。 当然告诉用户会“正常工作”。 😅

@Sherlouk您有没有想过我们如何轻松添加企业支持? 可能是我想研究的东西。 :)

我一直在考虑它,但不会说我一直在采取行动 - 非常欢迎你拿起它! 无论如何,我都没有要测试的企业实例(该死的 GitLab 用户在工作)

我真的很想为此工作(添加 GH Enterprise 支持),并且下周有时间这样做。 不知道从哪里开始,如果您有任何想法,请告诉我!

所以我想说绝对的第一件事是我们需要摆脱所有 GitHub.com 引用,主要是为了诸如开设帐户之类的事情

最终,我们想让它回到我们有一个用于所有调用的“基本 url”的地方

GitHub API 在企业/普通企业中非常一致,因此只需更改基本 URL 就可以让我们顺利完成 90% 的工作。 IIRC 登录流程也有点不同,但我想不起来了。

我没有继续这样做的唯一原因是获得一个企业实例进行测试! 应该不会太差,只是稍微重构一下

呃,那周完全忘记了/没有做到这一点。 😐

使用GitHawk发送

我收到越来越多的企业支持请求。 同意@Sherlouk 的观点,只要我们有优雅的错误处理,应该不会太难,因为 API 是相同的(对吧?)。

任何想法具体需要改变什么? 例如对于登录流程,身份验证是否不同? 其余的,它只是一个不同的基本网址吗?

使用GitHawk发送

是的,我认为大多数(好的)企业解决方案都是付费的 😬

我确实相信这里的一项独立工作就是让我们有一个基本网址——我们在很多地方直接引用了 github.com! 这显然不适用于企业!

登录流程有点不同,因为它可以处理公司自己的登录结构,但我并不完全熟悉 github 确切解决方案(仅 gitlabs)

但我认为第一步是让我们获取一个基本 url,并从 GQL 端点加载诸如用户配置文件之类的 url,而不是像我们现在所做的那样假设它是 /user(修复了我们的一些错误)没有对 github.com 的引用! 那么我们就可以进行下一步的工作了!

使用GitHawk发送

添加企业支持的另一个有趣之处在于,两者当前支持的功能可能存在差异。 这也是我们在添加此内容时要牢记的。

使用GitHawk发送

100% 同意! 我认为在大多数情况下(尤其是在我们目前支持的情况下)有相当稳固的平等,但肯定会有不同的部分

如果我们在客户管理器中采用各种枚举的方法(如 1119 中所述),我们可以很容易地开始向支持的客户端添加功能标志,这是一个过于简化的示例:

```迅速
枚举客户{

case github
case githubEnterprise

var doesSupportProjects: Bool {
    switch self {
    case .github: return true
    case .githubEnterprise: return false
    }
}

}

是的,我认为这是正确的方法。 另外,喜欢突出显示@rnystrom 的代码!

使用GitHawk发送

我想我之前已经说过了,但下周将在工作中的黑客周期间再次尝试这一点。 对此超级兴奋:)

随着 GitHub 转变为 Microsoft GitHub,如果支持 GitLab,它将帮助如此多的用户。 :)

@vassudanagunta非常乐意审查有关如何使其发挥作用的一些提案和 PR!

使用GitHawk发送

明白了! 我正忙着煽动叛乱😉。 作为使 GitHub 替代方案更可行的努力的一部分,我们可能能够引导一些开发人员按照您的方式进行。

我将暂时关闭它,因为我们已经尝试支持 GitHub Enterprise,但由于版本不同,这几乎是不可能的。 我也没有看到 GitHawk 在短期内支持其他网站,也没有看到有人提出请求。

如果您觉得我们将来应该尝试解决这个问题,请随意打开一个新问题。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

rnystrom picture rnystrom  ·  3评论

jessesquires picture jessesquires  ·  3评论

BasThomas picture BasThomas  ·  3评论

BasThomas picture BasThomas  ·  3评论

rnystrom picture rnystrom  ·  3评论