Skip to content

More flexible RSS/Atom feed(s) for project activity

What is the GitLab engineering productivity problem to solve?

Currently the RSS/Atom feed found on a project's Activity screen is a single feed for everything that occurs in the project. This is perhaps useful in specific circumstances, but on a large project or in the case that a user only needs to be made aware of certain types of activities, this is noisy. It would be better to have an option for more targeted feeds for each activity type.

Problem identification checklist

  • The root cause of the problem is identified.
  • The surface of the problem is as small as possible.

What are the potential solutions?

Individual feeds for each activity type

In addition to an "all activity" feed as it currently exists, add a feed for each specific activity type. When viewing a tab for a specific type on the Activity screen, a second feed button could appear, or the feed button could show a dropdown with each of the two feed URLs available to the user.

Custom feed content selection (choose your activity types)

Building on the first solution, the feed button would show a dropdown UI that would let the user select with checkboxes the activity types they want to subscribe to. This would generate a URL with those types passed as URL parameters, e.g. /project.atom?types=wiki,comments,team&feed_token=TOKEN. This would let the user customize exactly what activity types they subscribe to in a single feed.

This solution builds on the concept outlined in the first solution, but in a more elegant fashion. I am not familiar with how the Atom feed is generated in the backend code, but I imagine both solutions would require a similar engineering effort to be able to target specific activity types.

  • All potential solutions are listed.
  • A solution has been chosen for the first iteration: PUT THE CHOSEN SOLUTION HERE

Verify that the solution has improved the situation

  • The solution improved the situation.
    • If yes, check this box and close the issue. Well done! 🎉
    • Otherwise, create a new "Productivity Improvement" issue. You can re-use the description from this issue, but obviously another solution should be chosen this time.