"""Module for jenkinsapi labels"""fromjenkinsapi.jenkinsbaseimportJenkinsBaseimportlogginglog=logging.getLogger(__name__)
[docs]classLabel(JenkinsBase):""" Class to hold information on labels that tied to a collection of jobs """def__init__(self,baseurl,labelname,jenkins_obj):""" Init a label object by providing all relevant pointers to it :param baseurl: basic url for querying information on a node :param labelname: name of the label :param jenkins_obj: ref to the jenkins obj :return: Label obj """self.labelname=labelnameself.jenkins=jenkins_objself.baseurl=baseurlJenkinsBase.__init__(self,baseurl)def__str__(self):return"%s"%(self.labelname)
[docs]defget_tied_jobs(self):""" Get a list of jobs. """ifself.get_tied_job_names():forjobinself.get_tied_job_names():yieldself.get_jenkins_obj().get_job(job["name"])
[docs]defget_tied_job_names(self):""" Get a list of the name of tied jobs. """returnself.poll(tree="tiedJobs[name]")["tiedJobs"]