文档

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执行合并操作,因此是否合并仍由相同规则判定。请参阅合并操作。

安全

安全模块借助应用发布Coroid Security校验结果,若具备可选权限,还可导入GitHub自身的安全警报并检查合并队列。请参阅GitHub权限与Coroid安全校验。