一个用于访问Jenkins持续集成服务器资源的Python API。
项目描述
关于这个库
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。
重要链接
支持和错误报告: https://github.com/pycontribs/jenkinsapi/issues?direction=desc&sort=comments&state=open
项目源代码:github: https://github.com/pycontribs/jenkinsapi
安装
此项目的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
项目贡献者
Aleksey Maksimov (ctpeko3a@gmail.com)
Salim Fadhley (sal@stodge.org)
Ramon van Alteren (ramon@vanalteren.nl)
Ruslan Lutsenko (ruslan.lutcenko@gmail.com)
Cleber J Santos (cleber@simplesconsultoria.com.br)
William Zhang (jollychang@douban.com)
Victor Garcia (bravejolie@gmail.com)
Bradley Harris (bradley@ninelb.com)
Kyle Rockman (kyle.rockman@mac.com)
Sascha Peilicke (saschpe@gmx.de)
David Johansen (david@makewhat.is)
Misha Behersky (bmwant@gmail.com)
请勿直接联系这些贡献者进行支持问题!请使用GitHub跟踪器。
许可证
麻省理工学院许可证(MIT):特此授予任何人无限制地获取此软件及其相关文档文件(统称为“软件”)副本的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供者提供软件的个人或实体进行上述操作,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,源于、产生于或与软件或软件的使用或其他操作有关。
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
jenkinsapi-0.3.13.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 246a98a63e61f54a15d16105cb15488c5670734df41e86c7af0d5d9c0af240b9 |
|
MD5 | c2d4d9719ae88b67511f5ae19b16508e |
|
BLAKE2b-256 | 1a578ab90a0fdfbebc3adda179154d03abaf5dc67d7bee1584fc9c8523c4d311 |
jenkinsapi-0.3.13-py2.py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | c1633f99d0400903f92e8962adfec7bae09f5ed9d984c6b37831b014de6efa42 |
|
MD5 | 5d7c9c18da547409ef4724c45a7d898e |
|
BLAKE2b-256 | 39bf0bb4f41843c06878dedd1abf72e923c19f696cc729e499380f611331184f |