跳转到主要内容

一个用于访问Jenkins持续集成服务器资源的Python API。

项目描述

https://badge.fury.io/py/jenkinsapi.png https://travis-ci.cn/pycontribs/jenkinsapi.png?branch=master https://codecov.io/gh/pycontribs/jenkinsapi/branch/master/graph/badge.svg Requirements Status

关于这个库

Jenkins是市场上领先的持续集成系统,最初由Kohsuke Kawaguchi创建。

Jenkins(及其前身Hudson)是自动化常见开发任务(例如单元测试、生产批次)的有用项目 - 但它们在一定程度上以Java为中心。幸运的是,设计者提供了一个优秀且完整的REST接口。这个库将这个接口包装成更传统的Python对象,以便使许多以Jenkins为中心的任务更容易自动化。

这个库允许您使用Python自动化大多数常见的Jenkins操作,例如

  • 添加/删除/查询Jenkins作业的能力

  • 执行作业的能力
    • 查询已完成的构建的结果

    • 阻塞直到作业完成或异步运行作业

    • 获取表示作业最新构建的对象

  • 处理构建工件
    • 通过简单标准搜索工件

    • 将工件安装到自定义指定的目录结构

  • 能够通过源代码修订搜索构建

  • 能够添加/删除/查询
    • 从属机(Webstart和SSH从属机)

    • 视图(包括使用NestedViews Jenkins插件的嵌套视图)

    • 凭据(用户名/密码和ssh密钥)

  • 支持已开启身份验证的jenkins实例的用户名/密码身份验证

  • 能够脚本化jenkins安装包括插件

有关此库支持的全文档规范,请参阅: http://jenkinsapi.readthedocs.io/en/latest/index.html

Python版本

项目已针对以下Python版本进行测试

  • 2.7

  • 3.4

  • 3.5

  • 3.6

  • 3.7

Jenkins版本

项目已在稳定(LTS)和最新Jenkins版本上进行了测试。

已知问题

  • 删除作业操作失败,除非禁用跨站脚本保护。

有关其他问题,请参阅以下支持URL。

安装

此项目的Egg文件托管在PyPi上。大多数Python用户应该能够使用pip或setuptools自动安装此项目。

使用Pip或Setuptools

大多数用户可以执行以下操作

pip install jenkinsapi

或者

easy_install jenkinsapi

这两种技术都可以与virtualenv结合使用,以创建特定于应用程序的安装。

使用操作系统的包管理器

Ubuntu用户现在可以使用apt安装此包

apt-get install python-jenkinsapi

请注意,此技术将获得Jenkinsapi的一个较旧版本。

示例

JenkinsAPI旨在将Jenkins中的对象(例如构建、视图、作业)映射到易于管理的Python对象

>>> import jenkinsapi
>>> from jenkinsapi.jenkins import Jenkins
>>> J = Jenkins('http://localhost:8080')
>>> J.version
1.542
>>> J.keys() # Jenkins objects appear to be dict-like, mapping keys (job-names) to
['foo', 'test_jenkinsapi']
>>> J['test_jenkinsapi']
<jenkinsapi.job.Job test_jenkinsapi>
>>> J['test_jenkinsapi'].get_last_good_build()
<jenkinsapi.build.Build test_jenkinsapi #77>
...

更多示例可在Github上找到: https://github.com/pycontribs/jenkinsapi/tree/master/examples

测试

如果您已经在系统上安装了测试依赖项,您可以使用以下命令运行测试套件

python setup.py test

否则,建议使用虚拟环境。Setuptools将自动获取缺失的测试依赖项

virtualenv
source .venv/bin/active
(venv) python setup.py test

开发

  • 请确保您已安装Java

  • 为开发创建虚拟环境

  • 以开发模式安装包

(venv) pip install -e .
(venv) pip install -r test-requirements.txt
  • 进行更改,编写测试并检查您的代码

(venv) tox

项目贡献者

请勿直接联系这些贡献者进行支持问题!请使用GitHub跟踪器。

许可证

麻省理工学院许可证(MIT):特此授予任何人无限制地获取此软件及其相关文档文件(统称为“软件”)副本的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供者提供软件的个人或实体进行上述操作,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,源于、产生于或与软件或软件的使用或其他操作有关。

项目详情


下载文件

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

源代码分发

jenkinsapi-0.3.13.tar.gz (127.9 kB 查看散列)

上传时间 源代码

构建分发

jenkinsapi-0.3.13-py2.py3-none-any.whl (69.2 kB 查看散列)

上传时间 Python 2 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面