helga的Jenkins插件
项目描述
为helga聊天机器人设计的Jenkins插件
关于
Helga是一个Python聊天机器人。完整文档可以在http://helga.readthedocs.org找到。
此Jenkins插件允许Helga从IRC运行Jenkins playbooks,并在成功或失败时返回信息。例如
03:14 < alfredodeza> !jenkins ceph version=0.80.8.1 branch=rhcs-v0.80.8 release=stable clean=true 03:14 < helgabot> running: ceph jop at http://jenkins.example.com/job/ceph/323
失败的构建将报告最基本信息,可选地粘贴日志
03:17 < helgabot> alfredodeza: build ceph/323 failed. Details at http://jenkins.example.com/job/ceph/323/console
成功的运行也将向用户报告
03:19 < helgabot> alfredodeza: build ceph/323 suceeded!
安装
此Jenkins插件可在PyPI上获取,因此您可以简单地使用pip进行安装。
pip install helga-jenkins
如果您想对helga-jenkins源代码进行修改,在运行Helga的虚拟env中,从GitHub克隆此存储库的副本,然后运行python setup.py develop。
配置
在您的settings.py文件(或传递给helga --settings的任何内容)中,您可以配置一些通用设置,如凭据和Jenkins位置。
在大多数情况下,插件仅针对单个Jenkins实例进行配置,但如果配置为这样,也支持多个实例。
单个实例
单个实例可以按以下方式配置(列出了默认值)
# simple authentication JENKINS_USERNAME = "alfredodeza" JENKINS_PASSWORD = "ElCapitano2" # Jenkins url JENKINS_URL = "http://jenkins.example.com" # for multiple auth/tokens, define a 'credentials' dictionary JENKINS_CREDENTIALS = { "alfredodeza": { "username": "adeza", "token": "33b3ffadgg3v61g1bfd6fd8543df50e4", } }
对于多个用户,将IRC昵称映射到Jenkins中的用户名是有用的,这样用户就可以有多个用户名(通常是这种情况)。
多个实例
对于多个实例,需要定义一个键来保存连接和用户信息
# Multiple Jenkins MULTI_JENKINS = { "test": { # URL is always required 'url': 'http://test_jenkins.example.com', 'credentials': { "alfredodeza": { "username": "adeza", "token": "33b3ffadgg3v61g1bfd6fd8543df50e4", }, "ktdreyer": { "username": "kdreyer", "token": "44bh4gggg3dkjasdweiuhr780wer234ss", } }, "prod": { # if no credentials per-user is supplied, define a global one that # any user can use 'url': 'http://test_jenkins.example.com', 'username': 'admin', 'password': 'secret', }
请注意,在 MULTI_JENKINS 中的每个键在IRC上调用时都会对应一个支持的命令,例如
<alfredodeza> !ci test build test-job
其中 test 是一个配置好的Jenkins实例。或者
<alfredodeza> !ci prod build other-job
必须存在 credentials(以IRC昵称作为键,作为用户名和令牌)或 username 和 password,机器人将根据定义和可用的内容从一种切换到另一种以建立连接。
子命令
有一些命令是被允许的,您可以在任何时间通过以下方式触发它们的示例用法
!ci help {command}
这是一个所有可用命令的列表,以及它们所执行操作的简要描述(大多数命令至少需要一个作业名称参数)
enable:启用已禁用的作业。
disable:禁用已启用的作业。
build:触发作业构建,可能需要认证。
health:报告作业的当前健康状态。
builds:报告作业的最后构建。
项目详情
helga-jenkins-0.0.5.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | beafdddcb656d90a079d19f731407e63aa2fc987a8eae9fd2fadc78e84eb0624 |
|
MD5 | c6162610f66eca8f600a55467c830fa8 |
|
BLAKE2b-256 | 9ecc111453b83bfb9eecd0f73cae41dc5cdbe50b790f71eba97918ab47b5ae48 |