James E. Blair | eff5a9d | 2017-06-20 00:00:37 -0700 | [diff] [blame] | 1 | :title: SQL Driver |
| 2 | |
| 3 | SQL |
| 4 | === |
| 5 | |
| 6 | The SQL driver supports reporters only. Only one connection per |
James E. Blair | 83786d4 | 2017-08-04 08:43:59 -0700 | [diff] [blame] | 7 | database is permitted. |
James E. Blair | eff5a9d | 2017-06-20 00:00:37 -0700 | [diff] [blame] | 8 | |
James E. Blair | 83786d4 | 2017-08-04 08:43:59 -0700 | [diff] [blame] | 9 | Connection Configuration |
| 10 | ------------------------ |
James E. Blair | eff5a9d | 2017-06-20 00:00:37 -0700 | [diff] [blame] | 11 | |
James E. Blair | 83786d4 | 2017-08-04 08:43:59 -0700 | [diff] [blame] | 12 | The connection options for the SQL driver are: |
| 13 | |
| 14 | .. attr:: <sql connection> |
| 15 | |
| 16 | .. attr:: driver |
| 17 | :required: |
| 18 | |
| 19 | .. value:: sql |
| 20 | |
| 21 | The connection must set ``driver=sql`` for SQL connections. |
| 22 | |
| 23 | .. attr:: dburi |
| 24 | :required: |
| 25 | |
| 26 | Database connection information in the form of a URI understood |
| 27 | by SQLAlchemy. See `The SQLAlchemy manual |
| 28 | <http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#database-urls>`_ |
| 29 | for more information. |
James E. Blair | eff5a9d | 2017-06-20 00:00:37 -0700 | [diff] [blame] | 30 | |
| 31 | Reporter Configuration |
| 32 | ---------------------- |
| 33 | |
| 34 | This reporter is used to store results in a database. |
| 35 | |
| 36 | A :ref:`connection<connections>` that uses the sql driver must be |
| 37 | supplied to the reporter. |
| 38 | |
James E. Blair | 83786d4 | 2017-08-04 08:43:59 -0700 | [diff] [blame] | 39 | ``zuul.conf`` contains the database connection and credentials. To |
| 40 | store different reports in different databases you'll need to create a |
| 41 | new connection per database. |
James E. Blair | eff5a9d | 2017-06-20 00:00:37 -0700 | [diff] [blame] | 42 | |
James E. Blair | 83786d4 | 2017-08-04 08:43:59 -0700 | [diff] [blame] | 43 | The SQL reporter does nothing on :attr:`pipeline.start` or |
| 44 | :attr:`pipeline.merge-failure`; it only acts on |
| 45 | :attr:`pipeline.success` or :attr:`pipeline.failure` reporting stages. |
| 46 | |
| 47 | For example: |
| 48 | |
| 49 | .. code-block:: yaml |
| 50 | |
| 51 | - pipeline: |
| 52 | name: post-merge |
| 53 | success: |
James E. Blair | d5e2956 | 2017-08-04 09:48:59 -0700 | [diff] [blame] | 54 | mydb_conn: |
James E. Blair | 83786d4 | 2017-08-04 08:43:59 -0700 | [diff] [blame] | 55 | failure: |
James E. Blair | d5e2956 | 2017-08-04 09:48:59 -0700 | [diff] [blame] | 56 | mydb_conn: |
James E. Blair | 83786d4 | 2017-08-04 08:43:59 -0700 | [diff] [blame] | 57 | |
| 58 | .. attr:: pipeline.<reporter>.<sql source> |
| 59 | |
James E. Blair | d5e2956 | 2017-08-04 09:48:59 -0700 | [diff] [blame] | 60 | To report to a database, add a key with the connection name and an |
| 61 | empty value to the desired pipeline :ref:`reporter<reporters>` |
| 62 | attributes. |