diff options
Diffstat (limited to 'app/services/ci/retry_build_service.rb')
-rw-r--r-- | app/services/ci/retry_build_service.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/app/services/ci/retry_build_service.rb b/app/services/ci/retry_build_service.rb index 92006cb331c..de410be7f14 100644 --- a/app/services/ci/retry_build_service.rb +++ b/app/services/ci/retry_build_service.rb @@ -1,5 +1,7 @@ module Ci class RetryBuildService + include Gitlab::Allowable + def initialize(build, user) @build = build @user = user @@ -7,6 +9,10 @@ module Ci end def retry! + unless can?(@user, :update_build, @build) + raise Gitlab::Access::AccessDeniedError + end + clone_build.tap do |new_build| new_build.enqueue! |