Merge "gitlab: support the MR merged event"
This commit is contained in:
commit
a0de74bef8
|
@ -65,6 +65,27 @@
|
|||
approval: false
|
||||
sqlreporter:
|
||||
|
||||
- pipeline:
|
||||
name: promote
|
||||
post-review: true
|
||||
manager: supercedent
|
||||
precedence: high
|
||||
require:
|
||||
gitlab.com:
|
||||
merged: true
|
||||
trigger:
|
||||
gitlab.com:
|
||||
- event: gl_merge_request
|
||||
action: merged
|
||||
success:
|
||||
gitlab.com:
|
||||
comment: true
|
||||
sqlreporter:
|
||||
failure:
|
||||
gitlab.com:
|
||||
comment: true
|
||||
sqlreporter:
|
||||
|
||||
- pipeline:
|
||||
name: post
|
||||
post-review: true
|
||||
|
|
|
@ -120,6 +120,10 @@ the following options.
|
|||
|
||||
Merge request synchronized.
|
||||
|
||||
.. value:: merged
|
||||
|
||||
Merge request merged.
|
||||
|
||||
.. value:: comment
|
||||
|
||||
Comment added to merge request.
|
||||
|
|
|
@ -1859,6 +1859,10 @@ class FakeGitlabMergeRequest(object):
|
|||
self.addCommit()
|
||||
return self.getMergeRequestEvent(action='update')
|
||||
|
||||
def getMergeRequestMergedEvent(self):
|
||||
self.mergeMergeRequest()
|
||||
return self.getMergeRequestEvent(action='merge')
|
||||
|
||||
def getMergeRequestApprovedEvent(self):
|
||||
self.approved = True
|
||||
return self.getMergeRequestEvent(action='approved')
|
||||
|
|
|
@ -43,6 +43,15 @@
|
|||
labels:
|
||||
- gateit
|
||||
|
||||
- pipeline:
|
||||
name: promote
|
||||
manager: independent
|
||||
trigger:
|
||||
gitlab:
|
||||
- event: gl_merge_request
|
||||
action:
|
||||
- merged
|
||||
|
||||
- pipeline:
|
||||
name: post
|
||||
post-review: true
|
||||
|
@ -90,6 +99,10 @@
|
|||
name: project-test-labeled
|
||||
run: playbooks/project-test-labeled.yaml
|
||||
|
||||
- job:
|
||||
name: project-promote
|
||||
run: playbooks/project-promote.yaml
|
||||
|
||||
- project:
|
||||
name: org/project
|
||||
check:
|
||||
|
@ -102,6 +115,9 @@
|
|||
check-labeled:
|
||||
jobs:
|
||||
- project-test-labeled
|
||||
promote:
|
||||
jobs:
|
||||
- project-promote
|
||||
post:
|
||||
jobs:
|
||||
- project-post-job
|
||||
|
|
|
@ -176,6 +176,16 @@ class TestGitlabDriver(ZuulTestCase):
|
|||
self.waitUntilSettled()
|
||||
self.assertEqual(1, len(self.history))
|
||||
|
||||
@simple_layout('layouts/basic-gitlab.yaml', driver='gitlab')
|
||||
def test_merge_request_merged(self):
|
||||
|
||||
A = self.fake_gitlab.openFakeMergeRequest('org/project', 'master', 'A')
|
||||
|
||||
self.fake_gitlab.emitEvent(A.getMergeRequestMergedEvent())
|
||||
self.waitUntilSettled()
|
||||
self.assertEqual(1, len(self.history))
|
||||
self.assertHistory([{'name': 'project-promote'}])
|
||||
|
||||
@simple_layout('layouts/basic-gitlab.yaml', driver='gitlab')
|
||||
def test_merge_request_updated_builds_aborted(self):
|
||||
|
||||
|
|
|
@ -130,6 +130,8 @@ class GitlabEventConnector(threading.Thread):
|
|||
event.change_number)
|
||||
if attrs['action'] == 'open':
|
||||
event.action = 'opened'
|
||||
elif attrs['action'] == 'merge':
|
||||
event.action = 'merged'
|
||||
elif attrs['action'] == 'update' and "labels" not in body:
|
||||
event.action = 'changed'
|
||||
elif attrs['action'] == 'update' and "labels" in body:
|
||||
|
|
Loading…
Reference in New Issue