mirror of
https://github.com/odoo/runbot.git
synced 2025-03-15 15:35:46 +07:00

Currently webhook secrets are configured per *project* which is an issue both because different repositories may have different administrators and thus creates safety concerns, and because multiple repositories can feed into different projects (e.g. on mergebot, odoo-dev/odoo is both an ancillary repository to the main RD project, and the main repository to the minor / legacy master-wowl project). This means it can be necessary to have multiple projects share the same secret as well, this then mandates the secret for more repositories per (1). This is a pain in the ass, so just detach secrets from projects and link them *only* to repositories, it's cleaner and easier to manage and set up progressively. This requires a lot of changes to the tests, as they all need to correctly configure the signaling. For `runbot_merge` there was *some* setup sharing already via the module-level `repo` fixtures`, those were merged into a conftest-level fixture which could handle the signaling setup. A few tests which unnecessarily set up repositories ad-hoc were also moved to the fixture. But for most of the ad-hoc setup in `runbot_merge`, as well as `forwardport` where it's all ad-hoc, events sources setup was just appended as is. This should probably be cleaned up at one point, with the various requirements collected and organised into a small set of fixtures doing the job more uniformly. Fixes #887
13 lines
361 B
Python
13 lines
361 B
Python
from odoo import models, fields
|
|
|
|
|
|
class EventsSources(models.Model):
|
|
_name = 'runbot_merge.events_sources'
|
|
_description = 'Valid Webhook Event Sources'
|
|
_order = "repository"
|
|
_rec_name = "repository"
|
|
|
|
# FIXME: unique repo? Or allow multiple secrets per repo?
|
|
repository = fields.Char(index=True, required=True)
|
|
secret = fields.Char()
|