from jenkinsapi.jenkins import Jenkins j = Jenkins('http://XX.XX.xx.xx:9000/jenkins/') jobName = j.keys()[1] j_config = j[jobName].get_config() j_views = j.views.keys() # print(j.views.iteritems()) # print(j.keys()) # print(j.items()[0][1]) v_k = {i[0]: list(i[1].keys()) for i in j.views.iteritems()} # 不等待结果构建 # r = j.build_job('yihao01-ecommunity-web') # job = j['yihao01-session'] #等待发布结果构建 返回编号 # qi = job.invoke() # if qi.queue_id or qi.is_running(): # qi.block_until_complete() # build = qi.get_description # # job = j.get_job('yihao01-ecommunity-web') # print(job.get_last_build()) #根据job, id 获取返回结果success ,fail my_job = j.get_job('yihao01-populationmobility-manager') count_build = my_job.get_build(780) r = count_build.get_status() # 获取console详细输出 std_console = count_build.get_console() print(std_console)
jenkinsapi库封装的类
jenkinsapi库的使用
获得jenkins中job的列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# -*- coding: gb2312 -*- """ 输入:jenkins服务器的地址,用户名和密码 输出:已定义的job的列表 """ import datetime, time
from jenkinsapi.jenkins import *
from jenkinsapi.job import *
from jenkinsapi.build import Build
def Url_Get_Job_List(url = 'http://localhost:8080' , username = 'jenkins' , password = 'jenkins' ):
jenkins = Jenkins(url, username, password)
count = 0
for job_name in jenkins.keys():
my_job = jenkins.get_job(job_name)
count = count + 1
print "Job" + str (count) + " : " + job_name
if __name__ = = "__main__" :
Url_Get_Job_List()
|
根据给定job名获得job的构建情况
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# -*- coding: cp936 -*- """ 输入:jenkins job名称和日期(年、年-月、年-月-日) 输出:job的名称、日期、执行次数、成功次数、失败次数、未执行次数、不稳定次数 """ import datetime, time
from jenkinsapi.jenkins import *
from jenkinsapi.job import *
from jenkinsapi.build import Build
def Get_Date_List(Job_Name):
my_job = jenkins.get_job(Job_Name)
first_build = my_job.get_first_buildnumber() #获得jenkins列表中的第一个构建数目,不一定是从1开始的
last_build = my_job.get_last_buildnumber() #获得最近一次构建的数目
for count in xrange (first_build, last_build + 1 ): #依次获得每一个job号
count_build = my_job.get_build(count)
start_time = count_build.get_timestamp() #获得构建时间,时区好像不大对
adjust_time = start_time + datetime.timedelta(hours = 8 ) #所以在这里加了8小时,变成北京时间了
Build_Time = adjust_time.strftime( "%Y-%m-%d" ) #输出时间的格式
Status = count_build.get_status() #返回这次构建的状态,成功或失败
print my_job, count, Build_Time, Status
if __name__ = = "__main__" :
jenkins = Jenkins( 'http://localhost:8080' , 'jenkins' , 'jenkins' )
Job_Name = 'create' Get_Date_List(Job_Name)
|
相关推荐
压缩包中的`jenkinsApi`文件可能包含一个简单的Java示例,展示了如何初始化Jenkins客户端、设置认证、触发Job构建等基本操作。通过分析这个示例,可以更好地理解上述知识点的实际应用。 在实际项目中,使用Java...
在提供的"JenkinsApi c#"压缩包中,可能包含了一个C#项目或类库,演示了如何调用Jenkins API。以下是一些常见的API调用场景: 1. **验证连接**:通常,我们首先需要验证Jenkins服务器的访问权限。这可以通过发送一...
### node-jenkins-api库研究知识点概述 #### 一、总体框架结构 `node-jenkins-api`库是一个基于Node.js的库,旨在简化与Jenkins API交互的过程。此库的架构设计考虑到了模块化和可扩展性,使得开发人员能够轻松地...
该项目旨在使用JSON API,并提供一些有用的函数来以编程方式控制Jenkins上的作业。 即使Jenkins提供了一个很棒的UI来控制作业,但拥有一个可编程的界面也将是很好并且很有帮助的,这样我们就可以动态,自动地管理...
而jenkinsapi库则将这些细节隐藏起来,提供了一套面向对象的API,使得与Jenkins服务器的交互变得简单直观。 jenkinsapi-0.1.10版本包含了以下主要功能: 1. **连接Jenkins服务器**:使用`jenkinsapi.jenkins....
这个库只是一段使用 jenkins REST API 的 Java 代码。这意味着您可以触发构建、提取有关作业或构建等的信息。您提取的信息将以 Java 对象的形式表示,您可以将其重新用于其他目的,或将此库集成到其他部分以实现更高...
资源分类:Python库 所属语言:Python 资源全名:api4jenkins-1.5.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
该库只是使用jenkins的REST API的一段Java代码。 这意味着您可以触发构建,提取有关作业或构建的信息。您可以提取的信息将以java对象表示,您可以将其重用于其他目的,或者将该库集成到其他部分以进行更高级别的...
在这个场景中,我们关注的是Python3如何利用GitLab和Jenkins的API来实现特定的功能。首先,我们来详细了解一下这两个工具: GitLab是一款开源的版本控制系统,它提供了强大的API功能,允许开发者通过HTTP/HTTPS协议...
- `README.md`或文档:描述库的使用方法和API。 - `.gitignore`:定义哪些文件不应该被Git追踪。 - `Jenkinsfile`:可能是一个示例的Pipeline脚本,演示如何使用共享库。 5. **最佳实践** - 将每个独立的功能或...
下面是一个简单的示例,展示了如何使用Python-Jenkins库与Jenkins服务器进行交互。 ```python from jenkins import Jenkins class JenkinsTools: def __init__(self): cf = get_conf() # 假设这是一个获取配置...
除了直接使用HTTP请求与Jenkins API交互外,还可以使用Java客户端API(Jenkins-client)。这个库提供了一个`JenkinsServer`类,允许开发者以更加面向对象的方式与Jenkins通信。在Maven项目中,可以通过添加以下依赖...
Jenkins,作为一款广受欢迎的持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)工具,凭借其灵活性和强大的插件生态系统,成为许多开发者和DevOps团队的首选。本文将深入探讨如何配置...
在Linux系统中,可以使用`systemctl restart jenkins`或`service jenkins restart`命令,而在Windows中,可以在服务管理器中停止并重新启动Jenkins服务。 2. **配置Jenkins**: - 重启Jenkins后,访问它的URL...
Jenkins作为一个广泛应用于持续集成和持续交付(CI/CD)领域的开源工具,其核心价值在于通过自动化流程来构建、测试和部署软件...同时,通过合理的配置和使用这些插件,可以提升团队协作效率,保障软件开发的质量和速度。
### WebLogic 部署Jenkins使用手册 #### 一、环境准备与确认 为了确保Jenkins能够在WebLogic上顺利部署并运行,首先需要搭建一套兼容的开发环境。本手册中涉及的软件版本如下: - **操作系统**:Windows 7 x32 - ...
"Jenkins+GitHub实现C项目的集成开发"是一个典型的应用场景,它结合了两个强大的工具:Jenkins,一个开源的持续集成服务器,以及GitHub,一个广泛使用的版本控制系统。本文将深入探讨如何利用这两个工具进行C项目的...
2. **Unity3D工程源码管理**:在Jenkins中,通常使用版本控制系统(如Git)来管理Unity3D工程源码。你需要将Unity项目的源代码仓库URL添加到Job中,设置合适的分支或标记以决定构建的代码版本。 3. **构建触发器**...
2. **文档**:编写清晰的API文档,帮助团队成员理解和使用共享库。 3. **测试**:为共享库编写自动化测试,确保代码质量。 4. **持续集成**:配置Jenkins自动构建和测试共享库,确保每次提交都能正常工作。 5. **...
2. **echarts-api.hpi** - Echarts API插件允许在Jenkins的UI中集成ECharts图表,提供可视化的构建、测试结果报告,帮助开发者更好地理解项目的健康状况和趋势。 3. **git-client.hpi** - Git客户端插件提供了与Git...