Add RSS and calendar paths to HAML and namespace link paths GraphQL API

What does this MR do and why?

Add RSS and calendar paths to HAML and namespace link paths GraphQL API

Add rssPath and calendarPath fields to both GroupNamespaceLinks and ProjectNamespaceLinks types in the GraphQL schema. These fields provide RSS (Atom) and calendar (ICS) URLs for work items at both project and group levels.

Changes:

  • Add rssPath and calendarPath fields to base LinkPaths type
  • Implement resolver methods in GroupNamespaceLinksType and ProjectNamespaceLinksType
  • Refactor WorkItemsHelper to use helper methods for path generation
  • Move RSS and calendar path logic from inline code to dedicated helper methods (rss_path_for and calendar_path_for)
  • Update GraphQL and helper specs to test new functionality

The paths generate work item feeds in Atom format for RSS readers and ICS format for calendar applications, supporting both project and group namespaces.

References

Relates to #566154 (closed)

Screenshots or screen recordings

Screenshot_2025-09-04_at_3.01.25_PM

GraphQL queries

fragment namespaceURLs on Namespace {
    linkPaths {
      rssPath
      calendarPath
    }
}

query getNamespaceLinks {
  public_project_namespace: namespace(fullPath: "twitter/Typeahead.Js") {
    ...namespaceURLs
  }
  public_group_namespace: namespace(fullPath: "twitter") {
    ...namespaceURLs
  }
}
{
  "data": {
    "public_project_namespace": {
      "linkPaths": {
        "rssPath": "/twitter/Typeahead.Js/-/work_items.atom",
        "calendarPath": "/twitter/Typeahead.Js/-/work_items.ics"
      }
    },
    "public_group_namespace": {
      "linkPaths": {
        "rssPath": "/groups/twitter/-/work_items.atom",
        "calendarPath": "/groups/twitter/-/work_items.ics"
      }
    }
  },
  "correlationId": "01K4A14PPGRWX3A5WHYNG5J4Z3"
}
Query Result

How to set up and validate locally

  1. Enable the feature flag: work_items_group_issues_list
  2. Visit group issues list
  3. See the changes in UI

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.

Merge request reports

Loading