Restore job success/failure message

This was inadvertently removed in 1ee99f2fb2.

Add a test since it was missed.  And a release note so we can make
a bugfix release.

Change-Id: I4257461242cc6f642159800fe50a9e396c5e91f1
This commit is contained in:
James E. Blair 2021-08-13 07:47:26 -07:00
parent 7be3e929b0
commit 1268086859
4 changed files with 56 additions and 1 deletions

View File

@ -0,0 +1,5 @@
---
fixes:
- |
Restored the job.success-message and job.failure-message
functionality which was inadvertently removed.

View File

@ -0,0 +1,32 @@
- pipeline:
name: check
manager: independent
trigger:
gerrit:
- event: patchset-created
success:
gerrit:
Verified: 1
failure:
gerrit:
Verified: -1
- job:
name: base
parent: null
run: playbooks/base.yaml
- job:
name: goodjob
success-message: YAY
- job:
name: badjob
failure-message: BOO
- project:
name: org/project1
check:
jobs:
- goodjob
- badjob

View File

@ -6495,6 +6495,17 @@ For CI problems and help debugging, contact ci@example.org"""
result='SUCCESS', changes='1,1 2,1'),
], ordered=False)
@simple_layout('layouts/success-message.yaml')
def test_success_message(self):
# Test the success_message (and failure_message) job attrs
A = self.fake_gerrit.addFakeChange('org/project1', 'master', 'A')
self.executor_server.failJob('badjob', A)
self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1))
self.waitUntilSettled()
self.assertEqual(len(A.messages), 1)
self.assertTrue('YAY' in A.messages[0])
self.assertTrue('BOO' in A.messages[0])
class TestChangeQueues(ZuulTestCase):
tenant_config_file = 'config/change-queues/main.yaml'

View File

@ -3256,7 +3256,14 @@ class QueueItem(object):
pattern = urllib.parse.urljoin(self.pipeline.tenant.web_root,
'build/{build.uuid}')
url = self.formatUrlPattern(pattern, job, build)
return (build.result, url)
result = build.result
if result == 'SUCCESS':
if job.success_message:
result = job.success_message
else:
if job.failure_message:
result = job.failure_message
return (result, url)
def formatStatusUrl(self):
# If we don't have a web root set, we can't format any url