summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2016-11-21 21:53:39 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2016-11-21 21:53:39 +0000
commit0472bc66f3d9197455e755813c952a579e17f4a8 (patch)
tree2ad9e44dd4ac4729bd141ca3e957f81454b11f24 /lib
parente20e221c406b9cb068151c0daa0fc6abe7cb37c2 (diff)
parent41aa605d4ed3d0d302c70ecd01052115f818f949 (diff)
downloadgitlab-ce-0472bc66f3d9197455e755813c952a579e17f4a8.tar.gz
Merge branch 'improve-deploy-message' into 'master'
Improve deploy message ## What does this MR do? Improves deploy message to make it more descriptive and useable then what is already offered by deploy command. ## Does this MR meet the acceptance criteria? - [ ] [Changelog entry](https://docs.gitlab.com/ce/development/changelog.html) added - [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [ ] API support added - Tests - [ ] Added for this feature/bug - [ ] All builds are passing - [ ] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [ ] Branch has no merge conflicts with `master` (if it does - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? See merge request !7629
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/chat_commands/deploy.rb15
-rw-r--r--lib/mattermost/presenter.rb7
2 files changed, 20 insertions, 2 deletions
diff --git a/lib/gitlab/chat_commands/deploy.rb b/lib/gitlab/chat_commands/deploy.rb
index c0b93cca68c..0eed1fce0dc 100644
--- a/lib/gitlab/chat_commands/deploy.rb
+++ b/lib/gitlab/chat_commands/deploy.rb
@@ -1,6 +1,8 @@
module Gitlab
module ChatCommands
class Deploy < BaseCommand
+ include Gitlab::Routing.url_helpers
+
def self.match(text)
/\Adeploy\s+(?<from>.*)\s+to+\s+(?<to>.*)\z/.match(text)
end
@@ -25,7 +27,7 @@ module Gitlab
return unless actions.present?
if actions.one?
- actions.first.play(current_user)
+ play!(from, to, actions.first)
else
Result.new(:error, 'Too many actions defined')
end
@@ -33,12 +35,23 @@ module Gitlab
private
+ def play!(from, to, action)
+ new_action = action.play(current_user)
+
+ Result.new(:success, "Deployment from #{from} to #{to} started. Follow the progress: #{url(new_action)}.")
+ end
+
def find_actions(from, to)
environment = project.environments.find_by(name: from)
return unless environment
environment.actions_for(to).select(&:starts_environment?)
end
+
+ def url(subject)
+ polymorphic_url(
+ [ subject.project.namespace.becomes(Namespace), subject.project, subject ])
+ end
end
end
end
diff --git a/lib/mattermost/presenter.rb b/lib/mattermost/presenter.rb
index 6b12081575d..67eda983a74 100644
--- a/lib/mattermost/presenter.rb
+++ b/lib/mattermost/presenter.rb
@@ -49,7 +49,12 @@ module Mattermost
private
def show_result(result)
- ephemeral_response(result.message)
+ case result.type
+ when :success
+ in_channel_response(result.message)
+ else
+ ephemeral_response(result.message)
+ end
end
def not_found