Add wiki pages to reference filters framework

What does this MR do and why?

This adds cross-project and cross-namespace references for wiki pages using the extensible reference filters framework:

Type Local Cross-project Cross-group
Wiki page [wiki_page:Home] [wiki_page:namespace/project:Home] [wiki_page:namespace/group:Home]

While this is by itself of practical use to users, it will be used as a stepping stone for Wiki page mentions show as plain text instead o... (#550296 - closed).

References

Screenshots or screen recordings

Before After

How to set up and validate locally

  1. Create a wiki page public-page (example name) in project_1.
  2. Create a wiki page private-page in a private project_2, or in a project with a wiki with access restricted to project members.
  3. Create a wiki page group-wiki-page in group_1.
  4. Paste to some Markdown input in a project_1 work item:
[wiki_page:public_page]

[wiki_page:project_1:public-page]

[wiki_page:project_2:private-page]

[wiki_page:group_1:group-wiki-page]

<GDK URL>/project_1/-/wikis/public-page

<GDK URL>/project_2/-/wikis/private-page

<GDK URL>/groups/group_1/-/wikis/group-wiki-page
  1. All the references should resolve to a wiki page link with its title as link text.
  2. When logged in as a user that doesn't have access to project_2 wiki, links to page in the inaccesible wiki should not resolve.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Piotr Skorupa

Merge request reports

Loading