用于添加单个组件的状态检查结果的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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用Java中的扫描仪读取文本文件中的特定字符?   java如果我们在hibernate中开始事务但不提交它,会发生什么?   Azure CosmosDB Java Springboot中的无服务器帐户不支持spring boot设置提供吞吐量或容器自动导航   附加到新对象的Java注释?   java如何将自定义文本视图添加到。在Kotlin中添加通知操作   java Shibboleth添加_OpenSAMLcookies,导致HTTP头大小>8k   分布式传感器数据(~40Hz)的高效Java观测器设计   java如何在while循环外声明数组,但在while循环中初始化它?   用@XmlElementRef注释的java元素没有显示在JAXB编组字符串中?   java替换二维数组的值   java如何在任务栏上创建Windows7加载栏   java如何在组件注释bean中使用会话或RequestScope bean?   java netbeans freermarker插件错误:在实现版本中请求netbeans桥的插件Lexer   java谷歌地图方向。加载失败,返回服务器错误   java当我试图递归地计算两个值之间的整数之和时,为什么结果返回一个奇怪的值?   java如何通过html文件的用户获取运行时输入,以使用Jsoup进行解析?