用于添加单个组件的状态检查结果的CI工具
cistatus的Python项目详细描述
顺式
演示
关于
cistatus是一个工具,它可以显式地将pull请求检查状态设置为github pull请求例如,如果在一个作业中有多个检查,但希望在github中将这些步骤中的每一个作为单独的检查公开,则可以使用此工具公开这些额外的步骤。
cistatus可以从大多数ci系统暴露的环境变量中挖掘相关信息。当前支持:
- 天青DevOps
- 特拉维斯
- 圆圈
- 鉴定人
- 可发货
- 代码生成
这意味着,如果在这些系统的构建节点中执行cistatus,那么将从环境变量中读取repository、pr和sha信息。
为什么
编写这篇文章的用例来自于将多个测试报告从azure devops管道构建公开到github请求本身的挫折。使用cistatus,现在可以在pull请求中公开一个整体状态检查(如果需要),然后添加额外的检查,每个检查都可以链接到特定的结果集,而无需深入挖掘构建工件或构建日志
安装
pip install cistatus
集成
cistatus具有自动检测其运行的ci系统的功能。这是通过检查所述ci系统的“唯一”环境变量实现的,不需要用户进行配置
当检测到CI系统时,从所述CI环境的相应环境变量中读取提交sha、存储库名称和pr值例如,如果要从本地shell运行cistatus,则只需要传入所有必需的命令行参数。
使用这种方法,从任何ci从机中运行脚本时,只需传入status标志即可设置检查的状态。
用法
[-h] [--repo REPO] [--sha SHA] [--pr PR] [--token TOKEN]
--status {pending,success,error,failure} [--url URL]
[--description DESCRIPTION] [--context CONTEXT]
Set Build Status
optional arguments:
-h, --help show this help message and exit
--repo REPO user/repo
--sha SHA
--pr PR
--token TOKEN Github API Token
--status {pending,success,error,failure}
--url URL Job url
--description DESCRIPTION
Job Description
--context CONTEXT Job context
--回购
此标志设置应在其中设置pr状态的github存储库如果cistatus检测到它在任何支持的环境中运行, 此参数是必需的,因为该值是从适当的环境文件中读取的,但仍可以从命令行重写。
--SHA
此标志设置pr请求的提交sha如果cistatus检测到它在任何支持的环境中运行, 此参数是必需的,因为该值是从适当的环境文件中读取的,但仍可以从命令行重写。
--pr
此标志设置设置状态的请求数。如果cistatus检测到它在任何支持的环境中运行, 此参数是必需的,因为该值是从适当的环境文件中读取的,但仍可以从命令行重写。
--代币
此标志设置个人身份验证令牌。值也可以设置为GITHUB_ACCESS_TOKEN
环境变量,如果您不想将令牌泄漏到可能的公共生成日志中,则建议使用该环境变量。
--上下文
此标志设置显示为检查上下文的字符串。默认为default
--说明
此标志设置上下文的长描述。默认为CI Status
--网址
此标志设置检查的上下文/说明中“详细信息”链接的URL。