Issue Implement gitlab javascript widget: recent activity widget
https://docs.cleverthis.com/e/en/architecture/gitlab_widgets
This widget will link to any recent activity on a project or set of projects; either on the whole project or a specific version of it.
With requirements as follows:
This widget will literally jusst be a bullet point list of links. Showing recent activity on a project. Each bullet point will be a ticket, MR, or commit, the title (or first sentance of the commit message) and a link that takes you to it. Some features it should support.
- Should be able to point at one or more projects (and combine multiple projects if needed
- Should be able to disable linking so it will show as either plain bullet points or links
- Should be able to filter MR, tickets, and commits to decide which of those three (or a combination of the three) to display
- They should be ordered with the most recently active item at the top. Activity on an item should be determined by the last time someone commented on the ticket, when the commit was commited, or when the last comment or change to the MR happened.
- As with before no need for a border or at least make the border configurable/optional
- It should be optional to turn on type distinction. when off each item is just the plain title like
* The thing is broken when I do the thing
when on it would show if the item is a MR, commit, or ticket with something like* [Ticket] The thing is broken...
or* [Merge Request] Fixing the thing...
- A parameter should be passed to indicate the maximum number of most recent items displayed
- A parameter should be passed defining the maximum number of characters any one item will display before cutting it off
- A special case unique to us. We sometimes need to mirror our open-source projects across two gitlab servers, one for internal development the other for public access. Therefore we need to be able to specify two or more gitlab servers as the source for the same project, and this widget will need to get the data from both independently and then combine it. For commits this isnt needed but for tickets, and MR this would be needed.
- Should be able to show activity across all versions for the project, or for a specific version or set of versions.