• Nick Thomas's avatar
    Fix the project auto devops API · a5a44490
    Nick Thomas authored
    If `project_auto_devops.enabled` is nil for a project, when setting any
    auto devops values via the API, we try to create a new row in the DB,
    instead of re-using the existing one. This leads to the project_id
    being set to nil, and the database `NOT NULL` constraint leading to a
    500 response.
    
    This commit resolves the issue by correctly detecting the presence of a
    ProjectAutoDevops row and re-using it. Persistence is also moved away
    from explicit `update!` calls and into relying on `autosave: true` on
    the model.
    a5a44490
project.rb 69.8 KB