Saved Replies MVC
Why are we doing this work
From &7565:
For every GitLab users, there will be a situation where they want to reply with similar messages or when they want to apply quick actions for newly created issues or merge requests. We want to be able to quickly reply with a predefined message, speed up repetitive tasks, save time and focus on more important tasks.
With this issue we want to prepare basic functionality for Saved Replies:
- storing Saved Replies for single user in database,
- managing Saved Replies for single user with GraphQL,
applying Saved Reply by using/reply SAVED_REPLY_NAME
quick action
Relevant links
Non-functional requirements
- [-] Documentation: information about Saved Replies should be available in https://docs.gitlab.com/ee/user/project/quick_actions.html
-
Feature flag: feature should be hidden behind feature flag saved_replies
([Feature flag] Rollout of `saved_replies` (#352956 - closed)) -
Performance: -
Testing: -
when applying/reply SAVED_REPLY_NAME
there is no saved reply with given name, -
uniqueness of the name in scope of the user,
-
Implementation plan
-
database add migration and new model SavedReply
(belongs_to: :user
) with 2 fields: name (limit 255), content (limit: 4096), -
backend GraphQL Add new type SavedReplyType
and use it inapp/graphql/types/user_interface.rb
as new field:saved_replies
, -
backend GraphQL Add new mutations to Create, Update and Destroy SavedReply
, -
backend Extendapp/services/quick_actions/interpret_service.rb
to support new quick action/reply
Edited by Alan (Maciej) Paruszewski