diff options
author | Jeremy Phelps <jphelps@linuxfoundation.org> | 2018-02-02 12:36:14 -0600 |
---|---|---|
committer | Kien Ha <kienha9922@gmail.com> | 2018-05-21 16:51:43 -0400 |
commit | 6244fd032a9f654e55b1216ba6a42bc903f33882 (patch) | |
tree | 742ee14910291ab650d6584f980860c137af5a7f | |
parent | fae9868905206248d71e01552da1e1756f712d40 (diff) | |
download | python-jenkins-job-builder-6244fd032a9f654e55b1216ba6a42bc903f33882.tar.gz python-jenkins-job-builder-6244fd032a9f654e55b1216ba6a42bc903f33882.tar.xz python-jenkins-job-builder-6244fd032a9f654e55b1216ba6a42bc903f33882.zip |
Add support for setting file paths to trigger on
- include minimal and full tests
Change-Id: Ic78c87c3e4388bb124414725bb2da2b406fb5269
Co-Authored-By: Kien Ha <kienha9922@gmail.com>
Signed-off-by: Jeremy Phelps <jphelps@linuxfoundation.org>
Signed-off-by: Kien Ha <kienha9922@gmail.com>
-rw-r--r-- | jenkins_jobs/modules/triggers.py | 22 | ||||
-rw-r--r-- | tests/triggers/fixtures/github-pull-request-comments.xml | 2 | ||||
-rw-r--r-- | tests/triggers/fixtures/github-pull-request-full.xml | 80 | ||||
-rw-r--r-- | tests/triggers/fixtures/github-pull-request-full.yaml (renamed from tests/triggers/fixtures/github-pull-request.yaml) | 20 | ||||
-rw-r--r-- | tests/triggers/fixtures/github-pull-request-minimal.xml | 23 | ||||
-rw-r--r-- | tests/triggers/fixtures/github-pull-request-minimal.yaml | 2 | ||||
-rw-r--r-- | tests/triggers/fixtures/github-pull-request-multiple-extensions.xml | 2 | ||||
-rw-r--r-- | tests/triggers/fixtures/github-pull-request-status.xml | 2 | ||||
-rw-r--r-- | tests/triggers/fixtures/github-pull-request.xml | 36 |
9 files changed, 150 insertions, 39 deletions
diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py index b8f5d311..4c0c4c24 100644 --- a/jenkins_jobs/modules/triggers.py +++ b/jenkins_jobs/modules/triggers.py @@ -993,11 +993,25 @@ def github_pull_request(registry, xml_parent, data): (optional) :arg bool cancel-builds-on-update: cancel existing builds when a PR is updated (optional) + :arg list included-regions: Each inclusion uses regular expression pattern + matching, and must be separated by a new line. An empty list implies + that everything is included. (optional) + :arg list excluded-regions: Each exclusion uses regular expression pattern + matching, and must be separated by a new line. Exclusions take + precedence over inclusions, if there is an overlap between included + and excluded regions. (optional) - Example: + Full Example: + + .. literalinclude:: + /../../tests/triggers/fixtures/github-pull-request-full.yaml + :language: yaml - .. literalinclude:: /../../tests/triggers/fixtures/github-pull-request.yaml + Minimal Example: + .. literalinclude:: + /../../tests/triggers/fixtures/github-pull-request-minimal.yaml + :language: yaml """ ghprb = XML.SubElement(xml_parent, 'org.jenkinsci.plugins.ghprb.' 'GhprbTrigger') @@ -1015,6 +1029,10 @@ def github_pull_request(registry, xml_parent, data): black_list_labels_string = "\n".join(data.get('black-list-labels', [])) XML.SubElement(ghprb, 'blackListLabels').text = black_list_labels_string XML.SubElement(ghprb, 'cron').text = data.get('cron', '') + excluded_regions_string = "\n".join(data.get('excluded-regions', [])) + XML.SubElement(ghprb, 'excludedRegions').text = excluded_regions_string + included_regions_string = "\n".join(data.get('included-regions', [])) + XML.SubElement(ghprb, 'includedRegions').text = included_regions_string build_desc_template = data.get('build-desc-template', '') if build_desc_template: diff --git a/tests/triggers/fixtures/github-pull-request-comments.xml b/tests/triggers/fixtures/github-pull-request-comments.xml index 6c511897..76683abd 100644 --- a/tests/triggers/fixtures/github-pull-request-comments.xml +++ b/tests/triggers/fixtures/github-pull-request-comments.xml @@ -13,6 +13,8 @@ org2</orgslist> <whiteListLabels/> <blackListLabels/> <cron>* * * * *</cron> + <excludedRegions/> + <includedRegions/> <triggerPhrase>retest this please</triggerPhrase> <skipBuildPhrase/> <onlyTriggerPhrase>true</onlyTriggerPhrase> diff --git a/tests/triggers/fixtures/github-pull-request-full.xml b/tests/triggers/fixtures/github-pull-request-full.xml new file mode 100644 index 00000000..8448a539 --- /dev/null +++ b/tests/triggers/fixtures/github-pull-request-full.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <org.jenkinsci.plugins.ghprb.GhprbTrigger> + <spec>* * * * *</spec> + <adminlist>user1 +user2</adminlist> + <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin> + <whitelist>user3 +user4</whitelist> + <orgslist>org1 +org2</orgslist> + <whiteListLabels>label1 +label2</whiteListLabels> + <blackListLabels>label3 +label4</blackListLabels> + <cron>* * * * *</cron> + <excludedRegions>exclude +region</excludedRegions> + <includedRegions>include +region</includedRegions> + <buildDescTemplate>build description</buildDescTemplate> + <triggerPhrase>retest this please</triggerPhrase> + <skipBuildPhrase>no tests</skipBuildPhrase> + <onlyTriggerPhrase>true</onlyTriggerPhrase> + <useGitHubHooks>true</useGitHubHooks> + <permitAll>true</permitAll> + <autoCloseFailedPullRequests>false</autoCloseFailedPullRequests> + <whiteListTargetBranches> + <org.jenkinsci.plugins.ghprb.GhprbBranch> + <branch>master</branch> + </org.jenkinsci.plugins.ghprb.GhprbBranch> + <org.jenkinsci.plugins.ghprb.GhprbBranch> + <branch>testing</branch> + </org.jenkinsci.plugins.ghprb.GhprbBranch> + </whiteListTargetBranches> + <gitHubAuthId>123-456-789</gitHubAuthId> + <extensions> + <org.jenkinsci.plugins.ghprb.extensions.status.GhprbSimpleStatus> + <commitStatusContext>status context</commitStatusContext> + <triggeredStatus>triggered status message</triggeredStatus> + <startedStatus>started</startedStatus> + <statusUrl>url/to/status</statusUrl> + <addTestResults>test result with status message</addTestResults> + <completedStatus> + <org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <message>success message</message> + <result>SUCCESS</result> + </org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <message>failure message</message> + <result>FAILURE</result> + </org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <message>error message</message> + <result>ERROR</result> + </org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + </completedStatus> + </org.jenkinsci.plugins.ghprb.extensions.status.GhprbSimpleStatus> + <org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildStatus> + <messages> + <org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <message>success comment</message> + <result>SUCCESS</result> + </org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <message>failure comment</message> + <result>FAILURE</result> + </org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + <message>error-comment</message> + <result>ERROR</result> + </org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildResultMessage> + </messages> + </org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildStatus> + <org.jenkinsci.plugins.ghprb.extensions.build.GhprbCancelBuildsOnUpdate/> + </extensions> + </org.jenkinsci.plugins.ghprb.GhprbTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/github-pull-request.yaml b/tests/triggers/fixtures/github-pull-request-full.yaml index 58de03dc..af50156f 100644 --- a/tests/triggers/fixtures/github-pull-request.yaml +++ b/tests/triggers/fixtures/github-pull-request-full.yaml @@ -21,10 +21,28 @@ triggers: skip-build-phrase: 'no tests' only-trigger-phrase: true github-hooks: true - permit-all: false + permit-all: true auto-close-on-fail: false allow-whitelist-orgs-as-admins: true white-list-target-branches: - master - testing auth-id: '123-456-789' + status-context: "status context" + triggered-status: "triggered status message" + started-status: "started" + status-url: "url/to/status" + status-add-test-results: "test result with status message" + success-status: "success message" + failure-status: "failure message" + error-status: "error message" + success-comment: "success comment" + failure-comment: "failure comment" + error-comment: "error-comment" + cancel-builds-on-update: true + included-regions: + - include + - region + excluded-regions: + - exclude + - region diff --git a/tests/triggers/fixtures/github-pull-request-minimal.xml b/tests/triggers/fixtures/github-pull-request-minimal.xml new file mode 100644 index 00000000..755b16d4 --- /dev/null +++ b/tests/triggers/fixtures/github-pull-request-minimal.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <org.jenkinsci.plugins.ghprb.GhprbTrigger> + <spec/> + <adminlist/> + <allowMembersOfWhitelistedOrgsAsAdmin>false</allowMembersOfWhitelistedOrgsAsAdmin> + <whitelist/> + <orgslist/> + <whiteListLabels/> + <blackListLabels/> + <cron/> + <excludedRegions/> + <includedRegions/> + <triggerPhrase/> + <skipBuildPhrase/> + <onlyTriggerPhrase>false</onlyTriggerPhrase> + <useGitHubHooks>false</useGitHubHooks> + <permitAll>false</permitAll> + <autoCloseFailedPullRequests>false</autoCloseFailedPullRequests> + </org.jenkinsci.plugins.ghprb.GhprbTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/github-pull-request-minimal.yaml b/tests/triggers/fixtures/github-pull-request-minimal.yaml new file mode 100644 index 00000000..6640ed4b --- /dev/null +++ b/tests/triggers/fixtures/github-pull-request-minimal.yaml @@ -0,0 +1,2 @@ +triggers: + - github-pull-request diff --git a/tests/triggers/fixtures/github-pull-request-multiple-extensions.xml b/tests/triggers/fixtures/github-pull-request-multiple-extensions.xml index fc7341ee..35f517a0 100644 --- a/tests/triggers/fixtures/github-pull-request-multiple-extensions.xml +++ b/tests/triggers/fixtures/github-pull-request-multiple-extensions.xml @@ -13,6 +13,8 @@ org2</orgslist> <whiteListLabels/> <blackListLabels/> <cron>* * * * *</cron> + <excludedRegions/> + <includedRegions/> <triggerPhrase>retest this please</triggerPhrase> <skipBuildPhrase/> <onlyTriggerPhrase>true</onlyTriggerPhrase> diff --git a/tests/triggers/fixtures/github-pull-request-status.xml b/tests/triggers/fixtures/github-pull-request-status.xml index a188838a..f499478d 100644 --- a/tests/triggers/fixtures/github-pull-request-status.xml +++ b/tests/triggers/fixtures/github-pull-request-status.xml @@ -13,6 +13,8 @@ org2</orgslist> <whiteListLabels/> <blackListLabels/> <cron>* * * * *</cron> + <excludedRegions/> + <includedRegions/> <triggerPhrase>retest this please</triggerPhrase> <skipBuildPhrase/> <onlyTriggerPhrase>true</onlyTriggerPhrase> diff --git a/tests/triggers/fixtures/github-pull-request.xml b/tests/triggers/fixtures/github-pull-request.xml deleted file mode 100644 index c1222320..00000000 --- a/tests/triggers/fixtures/github-pull-request.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<project> - <triggers class="vector"> - <org.jenkinsci.plugins.ghprb.GhprbTrigger> - <spec>* * * * *</spec> - <adminlist>user1 -user2</adminlist> - <allowMembersOfWhitelistedOrgsAsAdmin>true</allowMembersOfWhitelistedOrgsAsAdmin> - <whitelist>user3 -user4</whitelist> - <orgslist>org1 -org2</orgslist> - <whiteListLabels>label1 -label2</whiteListLabels> - <blackListLabels>label3 -label4</blackListLabels> - <cron>* * * * *</cron> - <buildDescTemplate>build description</buildDescTemplate> - <triggerPhrase>retest this please</triggerPhrase> - <skipBuildPhrase>no tests</skipBuildPhrase> - <onlyTriggerPhrase>true</onlyTriggerPhrase> - <useGitHubHooks>true</useGitHubHooks> - <permitAll>false</permitAll> - <autoCloseFailedPullRequests>false</autoCloseFailedPullRequests> - <whiteListTargetBranches> - <org.jenkinsci.plugins.ghprb.GhprbBranch> - <branch>master</branch> - </org.jenkinsci.plugins.ghprb.GhprbBranch> - <org.jenkinsci.plugins.ghprb.GhprbBranch> - <branch>testing</branch> - </org.jenkinsci.plugins.ghprb.GhprbBranch> - </whiteListTargetBranches> - <gitHubAuthId>123-456-789</gitHubAuthId> - </org.jenkinsci.plugins.ghprb.GhprbTrigger> - </triggers> -</project> |