diff --git a/.gitignore b/.gitignore index fea9c5474..a1ca05096 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ *.eggs *.egg-info *.pyc +*.sw[a-z] +.python-version .test .testrepository .tox diff --git a/doc/source/conf.py b/doc/source/conf.py index c4f01a146..02094e147 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -255,4 +255,5 @@ texinfo_documents = [ # texinfo_show_urls = 'footnote' extlinks = {'jenkins-wiki': ('https://wiki.jenkins.io/display/JENKINS/%s', - None)} + None), + 'jenkins-plugins': ('https://plugins.jenkins.io/%s', None)} diff --git a/jenkins_jobs/modules/project_multibranch.py b/jenkins_jobs/modules/project_multibranch.py index 3be0cf69b..24cc23b00 100644 --- a/jenkins_jobs/modules/project_multibranch.py +++ b/jenkins_jobs/modules/project_multibranch.py @@ -785,6 +785,10 @@ def github_scm(xml_parent, data): * **depth** (`int`) - Set shallow clone depth (default 1) * **do-not-fetch-tags** (`bool`) - Perform a clone without tags (default false) + * **disable-pr-notifications** (`bool`) - Disable default github status + notifications on pull requests (default false) (Requires the + :jenkins-plugins:`GitHub Branch Source Plugin + `.) * **submodule** (`dict`) * **disable** (`bool`) - By disabling support for submodules you can still keep using basic git plugin functionality and just have @@ -953,6 +957,18 @@ def github_scm(xml_parent, data): # - use-author git_extensions(traits, data) + # github-only extensions + disable_github_status_path_dscore = ( + 'com.adobe.jenkins.disable__github__multibranch__status') + if data.get('disable-pr-notifications', False): + XML.SubElement( + traits, ''.join([ + disable_github_status_path_dscore, '.DisableStatusUpdateTrait' + ]), { + 'plugin': 'disable-github-multibranch-status' + } + ) + def build_strategies(xml_parent, data): """Configure Basic Branch Build Strategies. diff --git a/tests/multibranch/fixtures/scm_github_full.xml b/tests/multibranch/fixtures/scm_github_full.xml index 2802182eb..769d066f3 100644 --- a/tests/multibranch/fixtures/scm_github_full.xml +++ b/tests/multibranch/fixtures/scm_github_full.xml @@ -90,6 +90,7 @@ + diff --git a/tests/multibranch/fixtures/scm_github_full.yaml b/tests/multibranch/fixtures/scm_github_full.yaml index 272d5f12a..33a477c3b 100644 --- a/tests/multibranch/fixtures/scm_github_full.yaml +++ b/tests/multibranch/fixtures/scm_github_full.yaml @@ -44,6 +44,7 @@ scm: shallow-clone: true depth: 3 do-not-fetch-tags: true + disable-pr-notifications: true submodule: disable: false recursive: true