Associate Issues tab only with internal issues tracker
What does this MR do?
Issues tab association
This is the part that was requested in the related issue.
- When "Issues" feature is enabled on project settings the "Issues" link is visible in the project menu
- When a user clicks "Issues" link the GitLab issues tracker is displayed no matter if any external service is configured or not
- When "Issues" feature is disabled on project settings no "Issues" link is displayed (even when an external issues tracker is active)
- When a user tries to access Issues page, 404 page is rendered
Support both internal and external issues trackers (additional work needed)
Because we now support both external and internal issues tracker we need to change the parts of code where we check if external issue tracker is enabled. It is quite simple for the most of places and simple replacement like project.issues_enabled?
instead of issues.default_issue_tracker
is enough.
The most complex part is references extraction. First we try to extract internal issues (existence check included). If an internal issue is not found we extract reference as an external issue in case an external issue tracker is enabled.
Are there points in the code the reviewer needs to double check?
Double check of references extractions would be appreciated
Why was this MR needed?
The internal Issues tracker should be independent from external issues tracker services. We want users to use our issues tracker and therefore they should be able to access it even when they configured external services.
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together
What are the relevant issue numbers?
Closes #33097 (closed)