Skip to content

Project `has_external_wiki` and `has_external_issue_tracker` properties are not updated when Group integration is toggled

Summary

We cache whether a project has an External Wiki integration enabled, or an External Issue Tracker integration enabled, in two columns on the projects PostgreSQL table. This reduces the number of database lookups needed to build the side menu navigation.

When a project is using the default settings, and it belongs to a group that has had an integration configured, the columns are not updated when the group integration settings are toggled from being active to inactive.

Steps to reproduce

  1. For a group, configure an external wiki integration to be enabled (Settings > Integrations > External Wiki).
  2. Create a project.
  3. Observe that the External Wiki sidebar nav item is visible, and the has_external_wiki column for the project is true.
  4. Change the group's external wiki integration to be inactive.
  5. Observe that the External Wiki sidebar nav item is no longer visible, but the has_external_wiki column for the project has remained as true when it should be false.

What is the current bug behavior?

The has_external_wiki and has_external_issue_tracker properties of a project are not updated when group integrations are enabled/disabled.

What is the expected correct behavior?

They should always be in sync.

Edited by Luke Duncalfe