diff --git a/app/controllers/projects/builds_controller.rb b/app/controllers/projects/builds_controller.rb index 9d419b07e53..0aef477811f 100644 --- a/app/controllers/projects/builds_controller.rb +++ b/app/controllers/projects/builds_controller.rb @@ -4,10 +4,6 @@ class Projects::BuildsController < Projects::ApplicationController before_action :authorize_update_build!, except: [:index, :show, :status] layout 'project' - # Skip authentication for status badge only - skip_before_action :authenticate_user!, :reject_blocked!, :project, - :repository, :authorize_manage_builds!, :build, only: [:badge] - def index @scope = params[:scope] @all_builds = project.builds @@ -51,18 +47,16 @@ class Projects::BuildsController < Projects::ApplicationController redirect_to build_path(build) end - def status - render json: @build.to_json(only: [:status, :id, :sha, :coverage], methods: :sha) - end - def cancel @build.cancel redirect_to build_path(@build) end - def badge - project = Project.find_with_namespace("#{params[:namespace_id]}/#{params[:project_id]}") + def status + render json: @build.to_json(only: [:status, :id, :sha, :coverage], methods: :sha) + end + def badge respond_to do |format| format.html { render_404 } format.svg do diff --git a/doc/ci/quick_start/README.md b/doc/ci/quick_start/README.md index 85f46469f81..6598843049e 100644 --- a/doc/ci/quick_start/README.md +++ b/doc/ci/quick_start/README.md @@ -192,8 +192,6 @@ You can access a builds badge image using following link: http://example.gitlab.com/namespace/project/builds/status/branch/badge.svg ``` -Build badge is available for everyone, even if your project is private or internal. - ## Next steps Awesome! You started using CI in GitLab! diff --git a/features/project/builds/badge.feature b/features/project/builds/badge.feature index 64263b2f538..9eb34475e68 100644 --- a/features/project/builds/badge.feature +++ b/features/project/builds/badge.feature @@ -1,6 +1,7 @@ Feature: Project Builds Badge Background: - Given project exists in some group namespace + Given I sign in as a user + And I own a project And project has CI enabled And project has a recent build diff --git a/features/steps/project/builds/badge.rb b/features/steps/project/builds/badge.rb index 0ceb4ddcd25..65f5e0f766f 100644 --- a/features/steps/project/builds/badge.rb +++ b/features/steps/project/builds/badge.rb @@ -1,4 +1,5 @@ class Spinach::Features::ProjectBuildsBadge < Spinach::FeatureSteps + include SharedAuthentication include SharedProject include SharedBuilds include RepoHelpers