diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py index 1b83ba038..7b3b81d7d 100644 --- a/jenkins_jobs/modules/triggers.py +++ b/jenkins_jobs/modules/triggers.py @@ -786,28 +786,28 @@ def pollurl(registry, xml_parent, data): urls = data.get('urls', []) if not urls: raise JenkinsJobsException('At least one url must be provided') + mapping = [ + ('proxy', 'proxyActivated', False), + ('timeout', 'timeout', 300), + ('check-etag', 'checkETag', False), + ('check-date', 'checkLastModificationDate', False) + ] for url in urls: entry = XML.SubElement(entries, namespace + 'URLTriggerEntry') XML.SubElement(entry, 'url').text = url['url'] - XML.SubElement(entry, 'proxyActivated').text = \ - str(url.get('proxy', False)).lower() if 'username' in url: XML.SubElement(entry, 'username').text = url['username'] if 'password' in url: XML.SubElement(entry, 'password').text = url['password'] if 'check-status' in url: XML.SubElement(entry, 'checkStatus').text = 'true' - XML.SubElement(entry, 'statusCode').text = \ - str(url.get('check-status')) + mapping.append(('check-status', 'statusCode', '')) else: XML.SubElement(entry, 'checkStatus').text = 'false' XML.SubElement(entry, 'statusCode').text = '200' - XML.SubElement(entry, 'timeout').text = \ - str(url.get('timeout', 300)) - XML.SubElement(entry, 'checkETag').text = \ - str(url.get('check-etag', False)).lower() - XML.SubElement(entry, 'checkLastModificationDate').text = \ - str(url.get('check-date', False)).lower() + + helpers.convert_mapping_to_xml( + entry, url, mapping, fail_required=False) check_content = url.get('check-content', []) XML.SubElement(entry, 'inspectingContent').text = \ str(bool(check_content)).lower() diff --git a/tests/triggers/fixtures/pollurl001.xml b/tests/triggers/fixtures/pollurl001.xml index 3ff32f6ce..2b0c449fa 100644 --- a/tests/triggers/fixtures/pollurl001.xml +++ b/tests/triggers/fixtures/pollurl001.xml @@ -8,14 +8,14 @@ http://example.com/url1 - false username sekr3t true - 202 + false 442 false true + 202 true @@ -33,12 +33,13 @@ http://example.com/url2 - true false 200 + true 300 true false + true