~fginther/helipad/fix_1210205

« back to all changes in this revision

Viewing changes to util/jenkins_build.py

  • Committer: Francis Ginther
  • Date: 2013-08-09 16:00:35 UTC
  • Revision ID: francis.ginther@canonical.com-20130809160035-7qtm76qxi4atdtde
Use get_or_create on creation of JenkinsJob and JenkinsBuild objects. Remove usage of jenkins job/build parameters, they are not used and the parsing sometimes causes errors.

Show diffs side-by-side

added added

removed removed

Lines of Context:
222
222
        transaction.rollback()
223
223
        logger.debug("No builds yet.")
224
224
        return None
225
 
    
226
 
    try:
227
 
        logger.debug("Creating JenkinsBuild at {}.".format(url))
228
 
        if jenkins_job is None:
229
 
            logger.warning("Creating JenkinsBuild at {} with no parent job.".format(url))
230
 
        jenkins_build = JenkinsBuild.objects.create(
231
 
            jenkins_job=jenkins_job,
232
 
            url=url,
233
 
            number=extractor_build.number,
234
 
            timestamp=extractor_build.timestamp,
235
 
            result=result)
236
 
    except IntegrityError:
237
 
        transaction.rollback()
238
 
        logger.info("Duplicate Jenkins build found at {}".format(url))
239
 
        return None
 
225
 
 
226
    logger.debug("Creating JenkinsBuild at {}.".format(url))
 
227
    if jenkins_job is None:
 
228
        logger.warning("Creating JenkinsBuild at {} with no parent job.".format(url))
 
229
    jenkins_build, created = JenkinsBuild.objects.get_or_create(
 
230
        jenkins_job=jenkins_job,
 
231
        url=url,
 
232
        number=extractor_build.number,
 
233
        timestamp=extractor_build.timestamp,
 
234
        result=result)
 
235
    if not created:
 
236
        return jenkins_build
240
237
 
241
238
    create_downstream_builds(jenkins_build, extractor_build)
242
239
    create_cobertura_report(jenkins_build, extractor_build)