GitHub Checks API帮助应用实现进一步的持续集成

GitHubChecksAPI旨在简化持续集成流程,允许应用程序向代码提交添加详细的检查结果,如Lint静态分析,并直接在PULL请求视图中展示。它提供了比传统状态API更精细的控制,支持多种检查状态,包括成功、失败、中立等,并且可以处理文本信息、图像等多种类型的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

\

看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!

\
\\

GitHub Checks API意在实现向持续集成工作流中添加代码检查,诸如对源代码文件做Lint静态分析后,将结果直接展示在PULL请求视图中。反馈信息可达用户预期的详细程度,包括给出导致问题的代码行,使得代码提交者可以修复问题,并在代码上运行新的检查。

\\

GitHub Check API可以看成是对传统GitHub状态API的一次革命性改进。它支持使用外部服务对提交情况标记一些检查状态,例如failpass等,并将检查状态反映在提交所涉及的所有PULL请求中。使用Check API,集成者现在可对提交和PR状态具有更细力度的控制,包括successfailureneutralcancelledtimed_outaction_requiredqueued_progresscompleted。此外,检查可针对文本信息、图像等多种数据。这使得用户可以构建复杂工作流,对一次提交或PR做多次检查。GitHub将展示所有通过的、失败的以及需要用户注意的检查。

\\

c43c5d5943ab9a7c485cec6b27b75775.png

\\

GitHub支持多种检查工作流控制等级:

\\
  • 自动(Automatic):对所有具有checks:write权限的已安装应用发送事件,以启动对此类应用的更改分析。GitHub UI将列出所有运行检查中的应用,由集成者和开发人员监控检查过程,并在必要时采取行动。\\t
  • 用户(User):: 用户可以通过POST /repos/:owner/:repo/check-suite-requests这样的请求,或是通过在提交消息中添加skip-checks: truerequest-checks: true指令,请求运行指定的检查。\\t
  • Web UI:用户可以使用GitHUb Web UI,独立或一并运行各种检查。\

需运行检查的GitHub应用必须支持对check_suite WebHook的处理。基于此,应用可创建一个新的check run,并由GitHub添加到Check Suite中。Check Suite概要描述了应用所有的检查和输出情况。应用初始创建的检查,将运行在queuedin progress状态。在检查开展过程中,状态将会得以更新。如果想要了解应用和GitHub间所有需交换消息的细节,请参考上述官方文档。

\\

当前,GitHub Checks API仅支持GitHub REST API。对GraphQL API的支持正在实现中。

\\

查看英文原文: GitHub Checks API Enables Apps for Advanced Continuous Integration

Ant Apache HttpComponents Client 4.x API Plugin Bootstrap 4 API Plugin Bootstrap 5 API bouncycastle API Branch API Build Timeout Caffeine API Plugin Checks API plugin Command Agent Launcher Plugin Conditional BuildStep Credentials Credentials Binding Plugin Display URL API Durable Task Plugin ECharts API Email Extension Plugin Folders Plugin Font Awesome API Plugin Git Git client GIT server Plugin Gitee Plugin GitHub API GitHub Branch Source GitHub plugin GitLab Plugin Gradle Plugin Infrastructure plugin for Publish Over X Jackson 2 API Java JSON Web Token (JJWT) Plugin Javadoc Plugin JavaScript GUI Lib: ACE Editor bundle plugin JavaScript GUI Lib: Handlebars bundle plugin JavaScript GUI Lib: Moment.js bundle plugin JQuery3 API Plugin JSch dependency plugin JUnit LDAP Plugin Localization Support Plugin Localization: Chinese (Simplified) Lockable Resources plugin Mailer Plugin Matrix Authorization Strategy Plugin Matrix Project Plugin Maven Integration OkHttp Plugin Oracle Java SE Development Kit Installer Plugin OWASP Markup Formatter Plugin PAM Authentication plugin Parameterized Trigger plugin Pipeline Pipeline Graph Analysis Plugin Pipeline: API Pipeline: Basic Steps Pipeline: Build Step Pipeline: Declarative Pipeline: Declarative Extension Points API Pipeline: GitHub Groovy Libraries Pipeline: Groovy Pipeline: Input Step Pipeline: Job Pipeline: Milestone Step Pipeline: Model API Pipeline: Multibranch Pipeline: Nodes and Processes Pipeline: REST API Plugin Pipeline: SCM Step Pipeline: Shared Groovy Libraries Pipeline: Stage Step Pipeline: Stage Tags Metadata Pipeline: Stage View Plugin Pipeline: Step API Pipeline: Supporting APIs Plain Credentials Plugin Plugin Utilities API Popper.js 2 API Popper.js API Plugin Publish Over SSH Resource Disposer Plugin Run Condition Plugin SCM API Plugin Script Security Plugin Snakeyaml API Plugin SSH Build Agents plugin SSH Credentials Plugin SSH plugin SSH server Structs Plugin Timestamper Token Macro Plugin Trilead API Plugin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值