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