diff --git a/tests/unit/test_connection.py b/tests/unit/test_connection.py index 4214e9f065..de3b7cfb6b 100644 --- a/tests/unit/test_connection.py +++ b/tests/unit/test_connection.py @@ -69,7 +69,7 @@ class TestSQLConnection(ZuulDBTestCase): insp = sa.engine.reflection.Inspector( self.connections.connections['resultsdb'].engine) - self.assertEqual(10, len(insp.get_columns(buildset_table))) + self.assertEqual(11, len(insp.get_columns(buildset_table))) self.assertEqual(10, len(insp.get_columns(build_table))) def test_sql_results(self): @@ -109,6 +109,8 @@ class TestSQLConnection(ZuulDBTestCase): self.assertEqual('SUCCESS', buildset0['result']) self.assertEqual('Build succeeded.', buildset0['message']) self.assertEqual('tenant-one', buildset0['tenant']) + self.assertEqual('https://hostname/%d' % buildset0['change'], + buildset0['ref_url']) buildset0_builds = conn.execute( sa.sql.select([reporter.connection.zuul_build_table]). diff --git a/zuul/driver/sql/alembic_reporter/versions/5efb477fa963_add_ref_url_column.py b/zuul/driver/sql/alembic_reporter/versions/5efb477fa963_add_ref_url_column.py new file mode 100644 index 0000000000..b5bed94aed --- /dev/null +++ b/zuul/driver/sql/alembic_reporter/versions/5efb477fa963_add_ref_url_column.py @@ -0,0 +1,38 @@ +# Copyright 2017 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +"""Add ref_url column + +Revision ID: 5efb477fa963 +Revises: 60c119eb1e3f +Create Date: 2017-09-12 22:50:29.307695 + +""" + +# revision identifiers, used by Alembic. +revision = '5efb477fa963' +down_revision = '60c119eb1e3f' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column('zuul_buildset', sa.Column('ref_url', sa.String(255))) + + +def downgrade(): + op.drop_column('zuul_buildset', 'ref_url') diff --git a/zuul/driver/sql/sqlconnection.py b/zuul/driver/sql/sqlconnection.py index afdc747141..e0ccfbaf14 100644 --- a/zuul/driver/sql/sqlconnection.py +++ b/zuul/driver/sql/sqlconnection.py @@ -91,6 +91,7 @@ class SQLConnection(BaseConnection): sa.Column('change', sa.Integer, nullable=True), sa.Column('patchset', sa.Integer, nullable=True), sa.Column('ref', sa.String(255)), + sa.Column('ref_url', sa.String(255)), sa.Column('result', sa.String(255)), sa.Column('message', sa.TEXT()), sa.Column('tenant', sa.String(255)), diff --git a/zuul/driver/sql/sqlreporter.py b/zuul/driver/sql/sqlreporter.py index ca35577837..d358d691a7 100644 --- a/zuul/driver/sql/sqlreporter.py +++ b/zuul/driver/sql/sqlreporter.py @@ -43,6 +43,7 @@ class SQLReporter(BaseReporter): change=change, patchset=patchset, ref=ref, + ref_url=item.change.url, result=item.current_build_set.result, message=self._formatItemReport( item, with_jobs=False),