Currently, when a user wants to assign an issue/MR to himself, he needs
to type his full username or select it from the suggested ones in the
dropdown list.
This commits suggest a faster solution which is typing `/assign me`
Closes#35304.
- Updated DSL to support substitution definitions
- Added substitution definition, inherits from command definition
- Added tabelflip and shrug substitutions to interpret service
- Added support for substitution definitions to the extractor for preview mode.
- Added substitution handling in the interpret service
Signed-off-by: Alex Ives <alex@ives.mn>
/reassign should only work when multiple assignees are available. And
since this is only the case for GitLab EE, remove it from CE.
This was picked using 517c97eb12e44f354787313dd35ac7a1642f5b20 of gitlab-ee.
The /reassign quick command works even when no multiple assignees are allowed of
there isn't any assignee yet. So for consistency, it's also be backported to
CE. But it functions the same as the /assign quick action.
Avoid conflicts when merge CE to EE by backporting code from EE.
Instead of checking in `SlashCommands::InterpretService` what the issuable the
type of the issuable is, ask the issuable if it is capable to do those thing and
implement it in the issuable itself. The issuable will check if it's possible
and if the licensed feature is available.
This should also make it easier to ever add multiple assignees to MergeRequests.
Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/27070
Deprecate "chat commands" in favor of "slash commands"
We looked for things like:
- `slash commmand`
- `slash_command`
- `slash-command`
- `SlashCommand`