Adds support for Disable GitHub Multibranch Status

Jenkins2 GitHub scms default to automatically sending updates on build
status to github for pull requests.  The plugin this enables allows
control of this by enabling or disabling the feature via an SCM trait,
allowing you to either no notify at all or manually notify via other
means.

Change-Id: I4f5629c3ee8031d41054e3be5e853201d8f0fed6
Signed-off-by: sbussetti <steve.bussetti@gmail.com>
This commit is contained in:
sbussetti 2018-11-01 09:23:28 -04:00
parent a8830087db
commit 7d065af894
5 changed files with 22 additions and 1 deletions

2
.gitignore vendored
View File

@ -3,6 +3,8 @@
*.eggs
*.egg-info
*.pyc
*.sw[a-z]
.python-version
.test
.testrepository
.tox

View File

@ -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)}

View File

@ -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
<disable-github-multibranch-status>`.)
* **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.

View File

@ -90,6 +90,7 @@
<jenkins.plugins.git.traits.AuthorInChangelogTrait>
<extension class="hudson.plugins.git.extensions.impl.AuthorInChangelog"/>
</jenkins.plugins.git.traits.AuthorInChangelogTrait>
<com.adobe.jenkins.disable__github__multibranch__status.DisableStatusUpdateTrait plugin="disable-github-multibranch-status"/>
</traits>
</source>
<buildStrategies>

View File

@ -44,6 +44,7 @@ scm:
shallow-clone: true
depth: 3
do-not-fetch-tags: true
disable-pr-notifications: true
submodule:
disable: false
recursive: true