diff --git a/debian/postinst b/debian/postinst index 2913bdb..22c8e1d 100644 --- a/debian/postinst +++ b/debian/postinst @@ -21,6 +21,12 @@ mk_dj_secret() { python -c "import random,string;print '%s'%''.join([random.SystemRandom().choice(\"{}{}{}\".format(string.ascii_letters, string.digits, string.punctuation)) for i in range(63)])" ; } +rename_job_json() { + find ${LIB_DIR}/jbi_files -mindepth 2 -name 'job.json'| while read -r f; do + mv -v "$f" "$(echo "$f" | sed 's/job\.json/build.json/')" + done +} + case "$1" in configure) @@ -32,6 +38,7 @@ case "$1" in fi cd "${USR_DIR}" && make venv_prod service uwsgi restart repoapi || true + rename_job_json ;; abort-upgrade|abort-remove|abort-deconfigure) diff --git a/repoapi/tasks.py b/repoapi/tasks.py index 4918152..8d024ed 100644 --- a/repoapi/tasks.py +++ b/repoapi/tasks.py @@ -20,8 +20,8 @@ from os.path import basename from celery import shared_task from django.conf import settings from .celery import jbi_parse_hotfix -from .utils import jenkins_get_console, jenkins_get_job, jenkins_get_artifact -from .utils import jenkins_get_env +from .utils import jenkins_get_console, jenkins_get_artifact +from .utils import jenkins_get_build, jenkins_get_env logger = logging.getLogger(__name__) @@ -37,9 +37,9 @@ def jbi_get_artifact(jbi_id, jobname, buildnumber, artifact_info): def get_jbi_files(jbi_id, jobname, buildnumber): jenkins_get_console(jobname, buildnumber) jenkins_get_env(jobname, buildnumber) - path = jenkins_get_job(jobname, buildnumber) + path_build = jenkins_get_build(jobname, buildnumber) if jobname in settings.JBI_ARTIFACT_JOBS: - with open(path) as data_file: + with open(path_build) as data_file: data = json.load(data_file) logger.debug("job_info:%s", data) for artifact in data['artifacts']: diff --git a/repoapi/test/test_jbi_info.py b/repoapi/test/test_jbi_info.py index 7c16023..885c470 100644 --- a/repoapi/test/test_jbi_info.py +++ b/repoapi/test/test_jbi_info.py @@ -19,7 +19,7 @@ import shutil from django.test import TestCase, override_settings from django.conf import settings from repoapi.models import JenkinsBuildInfo -from repoapi.utils import JBI_CONSOLE_URL, JBI_JOB_URL, JBI_ARTIFACT_URL +from repoapi.utils import JBI_CONSOLE_URL, JBI_BUILD_URL, JBI_ARTIFACT_URL from repoapi.utils import JBI_ENVVARS_URL from mock import patch, call, mock_open @@ -100,17 +100,17 @@ class TestJBICelery(TestCase): @patch('__builtin__.open', mock_open(read_data=artifacts_json)) @patch('repoapi.utils.dlfile') - def test_jbi_jobinfo(self, dlfile): + def test_jbi_buildinfo(self, dlfile): param = self.get_defaults() jbi = JenkinsBuildInfo.objects.create(**param) base_path = os.path.join(settings.JBI_BASEDIR, jbi.jobname, str(jbi.buildnumber)) - url = JBI_JOB_URL.format( + url = JBI_BUILD_URL.format( settings.JENKINS_URL, jbi.jobname, jbi.buildnumber ) - path = os.path.join(base_path, 'job.json') + path = os.path.join(base_path, 'build.json') dlfile.assert_any_call(url, path) url = JBI_ARTIFACT_URL.format( settings.JENKINS_URL, diff --git a/repoapi/utils.py b/repoapi/utils.py index 0b35641..c26cc9e 100644 --- a/repoapi/utils.py +++ b/repoapi/utils.py @@ -25,7 +25,7 @@ from django.conf import settings logger = logging.getLogger(__name__) JBI_CONSOLE_URL = "{}/job/{}/{}/consoleText" -JBI_JOB_URL = "{}/job/{}/{}/api/json" +JBI_BUILD_URL = "{}/job/{}/{}/api/json" JBI_ARTIFACT_URL = "{}/job/{}/{}/artifact/{}" JBI_ENVVARS_URL = "{}/job/{}/{}/injectedEnvVars/api/json" @@ -90,15 +90,15 @@ def jenkins_get_console(jobname, buildnumber): return _jenkins_get(url, base_path, 'console.txt') -def jenkins_get_job(jobname, buildnumber): - url = JBI_JOB_URL.format( +def jenkins_get_build(jobname, buildnumber): + url = JBI_BUILD_URL.format( settings.JENKINS_URL, jobname, buildnumber ) base_path = os.path.join(settings.JBI_BASEDIR, jobname, str(buildnumber)) - return _jenkins_get(url, base_path, 'job.json') + return _jenkins_get(url, base_path, 'build.json') def jenkins_get_env(jobname, buildnumber):