2021-10-07-jobinfo2


    

        
    # 根据运行时间,获取build对象列表,默认时间分钟
    def get_high_time_numbers(self,max):
        for number in list(self.buildsInstance.keys()):
            build = self.buildsInstance.get(number)
            if int(build.build_use_time/60) < max :
                self.buildsInstance.pop(number)
                self.job_list.remove(number)

    def get_limit_success_rate(self,limit):
        all_list = len(self.get_limit_numbers(limit))
        print all_list
        success_list = len(self.get_success_build_numbers())
        print success_list
        if success_list == 0 :
            return '0%'
        return 'percent: {:.2%}'.format(float(success_list)/float(all_list))

    # 判断当前的build是否全部失败。
    def juge_all_fail(self):
        '''
        判断所有构建是否失败,
        :param buildsInstance:{1:buildobject1,2:buildobject2}
        :return:True or False
        '''
        for number, build in self.buildsInstance.items():
            if build.build_result == 'SUCCESS':
                return False
        return True

    # 判断当前job类型是 tag类型还是 非tag类型。
    def is_job_type(self):
        ch_list = []
        tag_list = []
        for number,build in self.buildsInstance.items():
            try:
                changeid = build.get_build_one_parmas('GERRIT_CHANGE_ID')
                # print changeid
                # 更改一下
                # if len(changeid) == 41:
                if len(changeid) == 41:
                    ch_list.append(number)
                else:
                    tag_list.append(number)
            except:
                return 'all_tag'
        # print 'ch_list',ch_list
        # print 'tag_list',tag_list
        if not ch_list:
            return 'all_tag'
        return 'not_all_tag'

    #把非tag类型的job ,把tag的build全部删除
    def del_tag_build(self):
        # print self.is_job_type()
        if self.is_job_type() == 'not_all_tag':
            for number, build in self.buildsInstance.items():
                try:
                    changeid = build.get_build_one_parmas('GERRIT_CHANGE_ID')
                    if len(changeid) != 41:
                        self.buildsInstance.pop(number)
                        self.job_list.remove(number)
                except:
                    print '%s 工程没有GERRIT_CHANGE_ID参数 '.format(self.get_job_url())

if __name__ == '__main__':
    jenkins_instance = LoginJenkins('http://10.0.0.70:8080/jenkins/','admin','XXXX')
    one_job = Analyze_Job_Builds(jenkins_instance,'all_changed_success')
    # print one_job.get_all_params()
    # print  one_job.buildsInstance.keys()
    # for number in one_job.buildsInstance.keys():
    #     print number
    # one_job.get_success_build_number()
    # one_job.get_startend_Success_build_numbers('2021-10-04 03:42:00','2021-10-07 12:50:00')
    # print  one_job.buildsInstance.keys()
    #
    # one_job.get_limit_numbers(2)
    # print  one_job.buildsInstance.keys()
    # print  one_job.get_build_time_median()

    print one_job.get_limit_success_rate(5)



    # dic = {1:"1",2:'2',3:'3'}
    # # dic2 =  sorted(dic.items(), key=lambda k: k[0],reverse=True)
    # # print dict(dic2)
    #
    # print sorted(dic.items(),key=lambda x:x[0],reverse=True)
    #
    # print { k:v for k,v in sorted(dic.items(),key=lambda x:x[0],reverse=True)}


    # import collections
    #
    #
    # dic = {1:"1",2:'2',3:'3'}
    # sorted_x  = sorted(dic.items(),key=operator.itemgetter(0),reverse=True)
    # sorted_dict = collections.OrderedDict(sorted_x)
    # y = { k:v for k,v in sorted(dic.items(),key=operator.itemgetter(0),reverse=True)}
    # print sorted_dict
    # print dict(sorted_dict)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值