Commit graph

29 commits

Author SHA1 Message Date
YarNayar
9bb08a7e53 Adds /target_branch slash command functionality for merge requests
Allows to use slash command /target_branch <target_branch_name> in merge requests notes and description.
Command allows to specify target branch for current merge request.

Proposed in #23619
2017-02-03 13:01:43 +03:00
Sean McGivern
cc1e43da39 Merge branch 'time-tracking-api' into 'master'
Time tracking API

Closes #25861

See merge request !8483
2017-01-18 18:18:13 +00:00
Ruben Davila
0f3c9355c1 Add some API endpoints for time tracking.
New endpoints are:

POST :project_id/(issues|merge_requests)/(:issue_id|:merge_request_id)/time_estimate"

POST :project_id/(issues|merge_requests)/(:issue_id|:merge_request_id)/reset_time_estimate"

POST :project_id/(issues|merge_requests)/(:issue_id|:merge_request_id)/add_spent_time"

POST :project_id/(issues|merge_requests)/(:issue_id|:merge_request_id)/reset_spent_time"

GET  :project_id/(issues|merge_requests)/(:issue_id|:merge_request_id)/time_stats"
2017-01-18 10:48:16 -06:00
Douwe Maan
f208897ccb Merge branch 'backport-time-tracking-ce' into 'master'
Backport timetracking to CE

See merge request !8195
2017-01-18 15:49:22 +00:00
Ruben Davila
17196a2ff3 Backport backend work for time tracking. 2017-01-15 11:10:04 -05:00
Jarka Kadlecova
557a0bf14c Address MR comments 2017-01-13 09:16:35 -05:00
Jarka Kadlecova
7ab3dd4b30 support /merge slash comand for MRs 2017-01-11 08:48:07 -05:00
Douglas Barbosa Alexandre
0c052f116c Remove default value for project argument on subscribable concern 2016-11-17 15:10:13 -02:00
Douglas Barbosa Alexandre
a9938e227b Add support to group labels to SlashCommands::InterpretService 2016-10-19 14:58:27 -02:00
barthc
8213fc6a74 allow multiple labels commands 2016-10-11 16:38:20 +01:00
Thomas Balthazar
ddbe676dc3 Add a /wip slash command
It toggles the 'WIP' prefix in the MR title.
2016-10-03 09:36:21 +02:00
Rémy Coutable
adab5dba43 Fix permission for setting an issue's due date
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-09-28 17:41:32 +02:00
Douwe Maan
2703330a19 Fix behavior around commands with optional arguments 2016-08-18 14:29:49 -05:00
Douwe Maan
9aa3edc615 Remove unneeded aliases 2016-08-18 14:29:48 -05:00
Douwe Maan
3e7eeefc93 Address feedback 2016-08-17 18:58:44 -05:00
Douwe Maan
8b8a4626c6 Fix specs and implement fixes based on failing specs 2016-08-17 17:54:24 -05:00
Douwe Maan
029b7d2e92 Fixed specs and fixes based on failing specs 2016-08-16 17:42:34 -05:00
Douwe Maan
b2b1b4a422 Prefer /reopen over /open, remove /reassign 2016-08-12 20:23:49 -05:00
Douwe Maan
d9715266e8 Allow setting labels, milestones and assignee based on name 2016-08-12 20:23:33 -05:00
Douwe Maan
5a07b760df Refactor slash command definition 2016-08-12 20:17:18 -05:00
Rémy Coutable
f393f2dde0
Simplify the slash commands DSL to store action blocks instead of creating methods
Other improvements:
- Ensure slash commands autocomplete doesn't break when noteable_type is not given
- Slash commands: improve autocomplete behavior and /due command
- We don't display slash commands for note edit forms.
- Add tests for reply by email with slash commands
- Be sure to execute slash commands after the note creation in Notes::CreateService

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:36:47 +02:00
Rémy Coutable
aadc5062eb New TodoService#todo_exists? method
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:06:12 +02:00
Rémy Coutable
42e30a5012 Accept blocks for .desc and .condition slash commands DSL
Also, pass options as instance variables, making the DSL more
user-friendly / natural.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:06:12 +02:00
Rémy Coutable
65349c2212 Make slash commands contextual
- Return only slash commands that make sense for the current noteable
- Allow slash commands decription to be dynamic

Other improvements:

- Add permission checks in slash commands definition
- Use IssuesFinder and MergeRequestsFinder
- Use next if instead of a unless block, and use splat operator instead of flatten

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:06:12 +02:00
Rémy Coutable
23db644954 Add support for no-op slash commands that appear in autocomplete
The first one is /cc

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:06:12 +02:00
Rémy Coutable
e021604454 Don't extract slash commands inside blockcode, blockquote or HTML tags
Improve slash command descriptions, support /due tomorrow

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:06:12 +02:00
Rémy Coutable
39f7f63fe9 Add the /title slash command
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:06:12 +02:00
Rémy Coutable
7cc4ab14b8 New Notes::SlashCommandsService service
Check for update_issuable permission in Notes::SlashCommandsService

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:06:11 +02:00
Rémy Coutable
0eea8c8857 Support slash commands in noteable description and notes
Some important things to note:

- commands are removed from noteable.description / note.note
- commands are translated to params so that they are treated as normal
  params in noteable Creation services
- the logic is not in the models but in the Creation services, which is
  the right place for advanced logic that has nothing to do with what
  models should be responsible of!
- UI/JS needs to be updated to handle notes which consist of commands
  only
- the `/merge` command is not handled yet

Other improvements:

- Don't process commands in commit notes and display a flash is note is only commands
- Add autocomplete for slash commands
- Add description and params to slash command DSL methods
- Ensure replying by email with a commands-only note works
- Use :subscription_event instead of calling noteable.subscribe
- Support :todo_event in IssuableBaseService

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-13 00:05:57 +02:00