文档

GitHub

将 GitHub 与 App 或个人访问令牌关联,了解它们各自的授权范围。

GitHub可通过Coroid进行连接GitHub应用或个人访问令牌。可在此处进行配置设置 → 连接 → 源代码管理。

应用或令牌

优先选择应用。它能按代码库而非用户授予访问权限,即便设置该应用的用户离职,它仍能正常运行,且无需轮询即可接收Webhook事件。

如果应用安装需要无法获取的组织管理员审批,则可使用令牌。

GitHub应用个人访问令牌
访问范围按代码库划分用户可查看的所有内容
即使安装者离职仍可持续运行是否
Webhook事件是轮询
归属关系该应用令牌所有者

安装应用

在GitHub中选择GitHub,然后按照安装流程操作。设置 → 连接 → 源代码管理系统会询问您要授予哪些代码库的访问权限;后续也可从GitHub自身设置中修改该配置。

如果在创建项目时未显示某个代码库,几乎可以肯定是该应用未被授予对该代码库的访问权限——这是最常见的原因。

使用令牌

创建一个具备相应范围的经典令牌,或创建一个具备内容及拉取请求读写权限的细粒度令牌,然后将其粘贴到源代码控制设置中。repo范围,或具有内容和拉取请求读取 与写入权限的细粒度令牌,然后将其粘贴到源代码管理设置中。

令牌在静态存储时会加密,API绝不会返回令牌内容,也不会将其包含在设置导出文件中。

GitHub议题

同一连接也支持将议题导入为工作任务。详见导入工作任务。

转化为工作任务的事件

使用应用时,事件自动化功能可发送一个pull request、新议题或提及Coroid的评论至Qualification模块。详见触发器与目标。

只有当事件的创建者对代码库拥有写入、维护或管理员权限时,这些事件生成的合格工作任务才会自动启动。Coroid会针对每个事件向GitHub发起请求。对于pull request而言,创建者为发起该议题的人员,而非标注或合并该议题的人。其他人的工作任务会被创建出来并等待有人启动。只有当提及Coroid的评论的创建者拥有写入权限时,该评论才会被纳入考量。

审核拉取请求

使用应用时,Coroid会检查并审核人员及其他工具创建的拉取请求,而不仅仅是Coroid自身创建的请求。Coroid Quality Control会执行项目的检查并将结果标记为Coroid Quality Control检查项。Coroid Review会针对有疑问的代码行添加评论并形成审核意见,同时会生成一个名为Coroid Review的检查项。这两项设置均在Quality Control下的拉取请求模块中完成。详见拉取请求。

Coroid在您的代码库中的操作

  • 读取代码以理解并进行修改
  • 为每个任务创建独立分支
  • 推送该分支并针对您的基准分支创建pull request

它绝不会直接提交到您的默认分支或自行合并。只有当人员在GitHub中合并pull request,或点击批准并合并在Coroid中。

设置为仅本地模式的项目仅执行上述第一步操作,其余步骤均不执行:Coroid会读取并拉取代码,分支、审核及检查结果均保存在Coroid内部。即便应用或令牌允许,它也不会推送代码、创建或评论拉取请求,也不会发布检查运行结果。详见同步模式或仅本地模式。

您的分支保护规则、必填检查项及审核规则将保持不变。批准并合并也会通过pull request执行合并操作,因此同样的规则会决定合并是否成功。详见合并。