跳转到主要内容

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昵称作为键,作为用户名和令牌)或 usernamepassword,机器人将根据定义和可用的内容从一种切换到另一种以建立连接。

子命令

有一些命令是被允许的,您可以在任何时间通过以下方式触发它们的示例用法

!ci help {command}

这是一个所有可用命令的列表,以及它们所执行操作的简要描述(大多数命令至少需要一个作业名称参数)

  • enable:启用已禁用的作业。

  • disable:禁用已启用的作业。

  • build:触发作业构建,可能需要认证。

  • health:报告作业的当前健康状态。

  • builds:报告作业的最后构建。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

helga-jenkins-0.0.5.tar.gz (4.0 kB 查看哈希值)

上传时间

由以下提供支持