gitlab trigger: Update Gitlab to >=1.3.0
Related config changes: 1.1.26: Change triggerOpenMergeRequestOnPush to enum (721fcfdbf81493c8c05893f87048d458524d684d) 1.1.27: Adds addVoteOnMergeRequest and acceptMergeRequestOnSuccess 1.1.28<1.2.0: Adds addCiMessage 1.1.29: Change allowAllBranches to branchFilterName (4da58e696b03273a2c48a3b8c223512bd70bbc80) 1.2.0: Change branchFilterName to branchFilterType (92b79677d2ee4e592686fa39f9d3e253486e40fc) 1.2.4: Adds triggerOnNoteRequest, noteRegex and skipWorkInProgressMergeRequest Change-Id: Ic3b29cfe43a37554b7e0ae5432ddaf8ef987793e
This commit is contained in:
parent
1780551b8e
commit
7b61b011b8
@ -1066,13 +1066,13 @@ def gitlab_merge_request(parser, xml_parent, data):
|
||||
|
||||
def gitlab(parser, xml_parent, data):
|
||||
"""yaml: gitlab
|
||||
Makes Jenkins act like a GitlabCI server
|
||||
Makes Jenkins act like a GitLab CI server.
|
||||
Requires the Jenkins :jenkins-wiki:`GitLab Plugin
|
||||
<GitLab+Plugin>`.
|
||||
|
||||
:arg bool trigger-push: Build on Push Events (default true)
|
||||
:arg bool trigger-merge-request: Build on Merge Request Events (default
|
||||
True)
|
||||
true)
|
||||
:arg str trigger-open-merge-request-push: Rebuild open Merge Requests
|
||||
on Push Events.
|
||||
|
||||
@ -1083,20 +1083,56 @@ def gitlab(parser, xml_parent, data):
|
||||
* **never** (default)
|
||||
* **source**
|
||||
* **both**
|
||||
:arg bool ci-skip: Enable [ci-skip] (default true)
|
||||
:arg bool trigger-note: Build when comment is added with defined phrase
|
||||
(>= 1.2.4) (default true)
|
||||
:arg str note-regex: Phrase that triggers the build (>= 1.2.4) (default
|
||||
'Jenkins please retry a build')
|
||||
:arg bool ci-skip: Enable skipping builds of commits that contain
|
||||
[ci-skip] in the commit message (default true)
|
||||
:arg bool wip-skip: Enable skipping builds of WIP Merge Requests (>= 1.2.4)
|
||||
(default false)
|
||||
:arg bool set-build-description: Set build description to build cause
|
||||
(eg. Merge request or Git Push ) (default true)
|
||||
(eg. Merge request or Git Push) (default true)
|
||||
:arg bool add-note-merge-request: Add note with build status on
|
||||
merge requests (default true)
|
||||
:arg bool add-vote-merge-request: Vote added to note with build status
|
||||
on merge requests (default true)
|
||||
:arg bool add-ci-message: Add CI build status (default false)
|
||||
on merge requests (>= 1.1.27) (default true)
|
||||
:arg bool accept-merge-request-on-success: Automatically accept the Merge
|
||||
Request if the build is successful (>= 1.1.27) (default false)
|
||||
:arg bool add-ci-message: Add CI build status (1.1.28 - 1.2.0) (default
|
||||
false)
|
||||
:arg bool allow-all-branches: Allow all branches (Ignoring Filtered
|
||||
Branches) (default false)
|
||||
Branches) (< 1.1.29) (default false)
|
||||
:arg str branch-filter-type: Filter branches that can trigger a build.
|
||||
Valid values and their additional attributes are described in the
|
||||
`branch filter type`_ table (>= 1.1.29) (default 'All').
|
||||
:arg list include-branches: Defined list of branches to include
|
||||
(default [])
|
||||
:arg list exclude-branches: Defined list of branches to exclude
|
||||
(default [])
|
||||
:arg str target-branch-regex: Regular expression to select branches
|
||||
|
||||
.. _`branch filter type`:
|
||||
|
||||
================== ====================================================
|
||||
Branch filter type Description
|
||||
================== ====================================================
|
||||
All All branches are allowed to trigger this job.
|
||||
NameBasedFilter Filter branches by name.
|
||||
List source branches that are allowed to trigger a
|
||||
build from a Push event or a Merge Request event. If
|
||||
both fields are left empty, all branches are allowed
|
||||
to trigger this job. For Merge Request events only
|
||||
the target branch name is filtered out by the
|
||||
**include-branches** and **exclude-branches** lists.
|
||||
|
||||
RegexBasedFilter Filter branches by regex
|
||||
The target branch regex allows to limit the
|
||||
execution of this job to certain branches. Any
|
||||
branch matching the specified pattern in
|
||||
**target-branch-regex** triggers the job. No
|
||||
filtering is performed if the field is left empty.
|
||||
================== ====================================================
|
||||
|
||||
Example (version < 1.1.26):
|
||||
|
||||
@ -1134,22 +1170,42 @@ def gitlab(parser, xml_parent, data):
|
||||
'triggerOpenMergeRequestOnPush', True)]
|
||||
convert_mapping_to_xml(gitlab, data, mapping, fail_required=True)
|
||||
|
||||
if plugin_ver == pkg_resources.parse_version('1.1.29'):
|
||||
if data.get('branch-filter-type', '') == 'All':
|
||||
data['branch-filter-type'] = ''
|
||||
valid_filters = ['', 'NameBasedFilter', 'RegexBasedFilter']
|
||||
mapping = [
|
||||
('branch-filter-type', 'branchFilterName', '', valid_filters)]
|
||||
convert_mapping_to_xml(gitlab, data, mapping, fail_required=True)
|
||||
else:
|
||||
valid_filters = ['All', 'NameBasedFilter', 'RegexBasedFilter']
|
||||
mapping = [
|
||||
('branch-filter-type', 'branchFilterType', 'All', valid_filters)]
|
||||
convert_mapping_to_xml(gitlab, data, mapping, fail_required=True)
|
||||
|
||||
XML.SubElement(gitlab, 'spec').text = ''
|
||||
bool_mapping = [
|
||||
mapping = [
|
||||
('trigger-push', 'triggerOnPush', True),
|
||||
('trigger-merge-request', 'triggerOnMergeRequest', True),
|
||||
('trigger-note', 'triggerOnNoteRequest', True),
|
||||
('note-regex', 'noteRegex', 'Jenkins please retry a build'),
|
||||
('ci-skip', 'ciSkip', True),
|
||||
('wip-skip', 'skipWorkInProgressMergeRequest', True),
|
||||
('set-build-description', 'setBuildDescription', True),
|
||||
('add-note-merge-request', 'addNoteOnMergeRequest', True),
|
||||
('add-vote-merge-request', 'addVoteOnMergeRequest', True),
|
||||
('accept-merge-request-on-success', 'acceptMergeRequestOnSuccess',
|
||||
False),
|
||||
('add-ci-message', 'addCiMessage', False),
|
||||
('allow-all-branches', 'allowAllBranches', False),
|
||||
('target-branch-regex', 'targetBranchRegex', '')
|
||||
]
|
||||
|
||||
list_mapping = (
|
||||
('include-branches', 'includeBranchesSpec', []),
|
||||
('exclude-branches', 'excludeBranchesSpec', []),
|
||||
)
|
||||
convert_mapping_to_xml(gitlab, data, bool_mapping, fail_required=True)
|
||||
convert_mapping_to_xml(gitlab, data, mapping, fail_required=True)
|
||||
|
||||
for yaml_name, xml_name, default_val in list_mapping:
|
||||
value = ', '.join(data.get(yaml_name, default_val))
|
||||
|
@ -3,15 +3,21 @@
|
||||
<triggers class="vector">
|
||||
<com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
<triggerOpenMergeRequestOnPush>true</triggerOpenMergeRequestOnPush>
|
||||
<branchFilterType>All</branchFilterType>
|
||||
<spec/>
|
||||
<triggerOnPush>true</triggerOnPush>
|
||||
<triggerOnMergeRequest>true</triggerOnMergeRequest>
|
||||
<triggerOnNoteRequest>true</triggerOnNoteRequest>
|
||||
<noteRegex>Jenkins please retry a build</noteRegex>
|
||||
<ciSkip>true</ciSkip>
|
||||
<skipWorkInProgressMergeRequest>true</skipWorkInProgressMergeRequest>
|
||||
<setBuildDescription>true</setBuildDescription>
|
||||
<addNoteOnMergeRequest>true</addNoteOnMergeRequest>
|
||||
<addVoteOnMergeRequest>true</addVoteOnMergeRequest>
|
||||
<acceptMergeRequestOnSuccess>false</acceptMergeRequestOnSuccess>
|
||||
<addCiMessage>true</addCiMessage>
|
||||
<allowAllBranches>true</allowAllBranches>
|
||||
<targetBranchRegex/>
|
||||
<includeBranchesSpec>master, master2, local-test</includeBranchesSpec>
|
||||
<excludeBranchesSpec>broken-test, master-foo</excludeBranchesSpec>
|
||||
</com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
|
@ -3,15 +3,21 @@
|
||||
<triggers class="vector">
|
||||
<com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
<triggerOpenMergeRequestOnPush>true</triggerOpenMergeRequestOnPush>
|
||||
<branchFilterType>All</branchFilterType>
|
||||
<spec/>
|
||||
<triggerOnPush>true</triggerOnPush>
|
||||
<triggerOnMergeRequest>true</triggerOnMergeRequest>
|
||||
<triggerOnNoteRequest>true</triggerOnNoteRequest>
|
||||
<noteRegex>Jenkins please retry a build</noteRegex>
|
||||
<ciSkip>true</ciSkip>
|
||||
<skipWorkInProgressMergeRequest>true</skipWorkInProgressMergeRequest>
|
||||
<setBuildDescription>true</setBuildDescription>
|
||||
<addNoteOnMergeRequest>true</addNoteOnMergeRequest>
|
||||
<addVoteOnMergeRequest>true</addVoteOnMergeRequest>
|
||||
<acceptMergeRequestOnSuccess>false</acceptMergeRequestOnSuccess>
|
||||
<addCiMessage>false</addCiMessage>
|
||||
<allowAllBranches>false</allowAllBranches>
|
||||
<targetBranchRegex/>
|
||||
<includeBranchesSpec>master</includeBranchesSpec>
|
||||
<excludeBranchesSpec>feature</excludeBranchesSpec>
|
||||
</com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
|
@ -3,15 +3,21 @@
|
||||
<triggers class="vector">
|
||||
<com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
<triggerOpenMergeRequestOnPush>true</triggerOpenMergeRequestOnPush>
|
||||
<branchFilterType>All</branchFilterType>
|
||||
<spec/>
|
||||
<triggerOnPush>true</triggerOnPush>
|
||||
<triggerOnMergeRequest>true</triggerOnMergeRequest>
|
||||
<triggerOnNoteRequest>true</triggerOnNoteRequest>
|
||||
<noteRegex>Jenkins please retry a build</noteRegex>
|
||||
<ciSkip>true</ciSkip>
|
||||
<skipWorkInProgressMergeRequest>true</skipWorkInProgressMergeRequest>
|
||||
<setBuildDescription>true</setBuildDescription>
|
||||
<addNoteOnMergeRequest>true</addNoteOnMergeRequest>
|
||||
<addVoteOnMergeRequest>true</addVoteOnMergeRequest>
|
||||
<acceptMergeRequestOnSuccess>false</acceptMergeRequestOnSuccess>
|
||||
<addCiMessage>false</addCiMessage>
|
||||
<allowAllBranches>false</allowAllBranches>
|
||||
<targetBranchRegex/>
|
||||
<includeBranchesSpec>master</includeBranchesSpec>
|
||||
<excludeBranchesSpec>baz, foo, fnord</excludeBranchesSpec>
|
||||
</com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
|
@ -3,15 +3,21 @@
|
||||
<triggers class="vector">
|
||||
<com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
<triggerOpenMergeRequestOnPush>both</triggerOpenMergeRequestOnPush>
|
||||
<branchFilterType>All</branchFilterType>
|
||||
<spec/>
|
||||
<triggerOnPush>false</triggerOnPush>
|
||||
<triggerOnMergeRequest>false</triggerOnMergeRequest>
|
||||
<triggerOnNoteRequest>true</triggerOnNoteRequest>
|
||||
<noteRegex>Jenkins please retry a build</noteRegex>
|
||||
<ciSkip>false</ciSkip>
|
||||
<skipWorkInProgressMergeRequest>true</skipWorkInProgressMergeRequest>
|
||||
<setBuildDescription>false</setBuildDescription>
|
||||
<addNoteOnMergeRequest>false</addNoteOnMergeRequest>
|
||||
<addVoteOnMergeRequest>false</addVoteOnMergeRequest>
|
||||
<acceptMergeRequestOnSuccess>false</acceptMergeRequestOnSuccess>
|
||||
<addCiMessage>true</addCiMessage>
|
||||
<allowAllBranches>true</allowAllBranches>
|
||||
<targetBranchRegex/>
|
||||
<includeBranchesSpec>master, master2, local-test</includeBranchesSpec>
|
||||
<excludeBranchesSpec>broken-test, master-foo</excludeBranchesSpec>
|
||||
</com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
|
@ -3,15 +3,21 @@
|
||||
<triggers class="vector">
|
||||
<com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
<triggerOpenMergeRequestOnPush>never</triggerOpenMergeRequestOnPush>
|
||||
<branchFilterType>All</branchFilterType>
|
||||
<spec/>
|
||||
<triggerOnPush>true</triggerOnPush>
|
||||
<triggerOnMergeRequest>true</triggerOnMergeRequest>
|
||||
<triggerOnNoteRequest>true</triggerOnNoteRequest>
|
||||
<noteRegex>Jenkins please retry a build</noteRegex>
|
||||
<ciSkip>true</ciSkip>
|
||||
<skipWorkInProgressMergeRequest>true</skipWorkInProgressMergeRequest>
|
||||
<setBuildDescription>true</setBuildDescription>
|
||||
<addNoteOnMergeRequest>true</addNoteOnMergeRequest>
|
||||
<addVoteOnMergeRequest>true</addVoteOnMergeRequest>
|
||||
<acceptMergeRequestOnSuccess>false</acceptMergeRequestOnSuccess>
|
||||
<addCiMessage>false</addCiMessage>
|
||||
<allowAllBranches>false</allowAllBranches>
|
||||
<targetBranchRegex/>
|
||||
<includeBranchesSpec/>
|
||||
<excludeBranchesSpec/>
|
||||
</com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
|
3
tests/triggers/fixtures/gitlab006.plugins_info.yaml
Normal file
3
tests/triggers/fixtures/gitlab006.plugins_info.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
- longName: 'GitLab Plugin'
|
||||
shortName: 'gitlab-plugin'
|
||||
version: "1.2.4"
|
25
tests/triggers/fixtures/gitlab006.xml
Normal file
25
tests/triggers/fixtures/gitlab006.xml
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<project>
|
||||
<triggers class="vector">
|
||||
<com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
<triggerOpenMergeRequestOnPush>both</triggerOpenMergeRequestOnPush>
|
||||
<branchFilterType>RegexBasedFilter</branchFilterType>
|
||||
<spec/>
|
||||
<triggerOnPush>false</triggerOnPush>
|
||||
<triggerOnMergeRequest>false</triggerOnMergeRequest>
|
||||
<triggerOnNoteRequest>true</triggerOnNoteRequest>
|
||||
<noteRegex>Retrigger</noteRegex>
|
||||
<ciSkip>false</ciSkip>
|
||||
<skipWorkInProgressMergeRequest>false</skipWorkInProgressMergeRequest>
|
||||
<setBuildDescription>false</setBuildDescription>
|
||||
<addNoteOnMergeRequest>false</addNoteOnMergeRequest>
|
||||
<addVoteOnMergeRequest>false</addVoteOnMergeRequest>
|
||||
<acceptMergeRequestOnSuccess>true</acceptMergeRequestOnSuccess>
|
||||
<addCiMessage>true</addCiMessage>
|
||||
<allowAllBranches>false</allowAllBranches>
|
||||
<targetBranchRegex>(.*debug.*|.*release.*)</targetBranchRegex>
|
||||
<includeBranchesSpec>include1, include2</includeBranchesSpec>
|
||||
<excludeBranchesSpec>exclude1, exclude2</excludeBranchesSpec>
|
||||
</com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
||||
</triggers>
|
||||
</project>
|
22
tests/triggers/fixtures/gitlab006.yaml
Normal file
22
tests/triggers/fixtures/gitlab006.yaml
Normal file
@ -0,0 +1,22 @@
|
||||
triggers:
|
||||
- gitlab:
|
||||
trigger-push: false
|
||||
trigger-merge-request: false
|
||||
trigger-open-merge-request-push: both
|
||||
trigger-note-request: false
|
||||
note-regex: Retrigger
|
||||
ci-skip: false
|
||||
wip-skip: false
|
||||
set-build-description: false
|
||||
add-note-merge-request: false
|
||||
add-vote-merge-request: false
|
||||
accept-merge-request-on-success: true
|
||||
add-ci-message: true
|
||||
branch-filter-type: RegexBasedFilter
|
||||
include-branches:
|
||||
- include1
|
||||
- include2
|
||||
exclude-branches:
|
||||
- exclude1
|
||||
- exclude2
|
||||
target-branch-regex: '(.*debug.*|.*release.*)'
|
Loading…
x
Reference in New Issue
Block a user