Expose reference path for issuables

Merged Alexandru Croitor requested to merge 31301-expose-reference-path-in-api-for-issuables into master

What does this MR do?

When fetching a list of issues through the public API, the results do not include the reference path for each issue (e.g. #12345 on project issues, gitlab-ce#123456 on group issues, or gitlab-org/gitlab-ce#12345 on user issue dashboard).

image

The reference path is required by the Vue issuable list component (gitlab-org/gitlab-ee!15091), which pulls issues via the public API. Currently, it is displaying the reference path like ${ token }${ issuable.iid } where token is # for issues or ! for MRs, but does not take into account the project identifier.

The Issues and MR API endpoints should return a reference field, just like our Ruby API, that is scoped properly depending on where the issues are being displayed (project, group, user).

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

re #31301 (closed)

Edited by Thong Kuah