diff --git a/app/assets/javascripts/jobs/store/actions.js b/app/assets/javascripts/jobs/store/actions.js index abbdd7910de29d8ba71f6d53ba7b866b8c1b3cd4..ac16e3b5244377c752bc5f4a7a4f515fcdf3f089 100644 --- a/app/assets/javascripts/jobs/store/actions.js +++ b/app/assets/javascripts/jobs/store/actions.js @@ -184,16 +184,9 @@ export const receiveTraceError = ({ commit }) => { export const requestStages = ({ commit }) => commit(types.REQUEST_STAGES); export const fetchStages = ({ state, dispatch }) => { dispatch('requestStages'); - - axios - .get(`${state.job.pipeline_path}.json`) - .then(({ data }) => { - // Set selected stage - dispatch('receiveStagesSuccess', data.details.stages); - const selectedStage = data.details.stages.find(stage => stage.name === state.selectedStage); - dispatch('fetchJobsForStage', selectedStage); - }) - .catch(() => dispatch('receiveStagesError')); + dispatch('receiveStagesSuccess', state.job.pipeline.details.stages); + const selectedStage = state.job.pipeline.details.stages.find(stage => stage.name === state.selectedStage); + dispatch('fetchJobsForStage', selectedStage); }; export const receiveStagesSuccess = ({ commit }, data) => commit(types.RECEIVE_STAGES_SUCCESS, data); diff --git a/app/serializers/build_details_entity.rb b/app/serializers/build_details_entity.rb index 2843132ef623f56c4cb68b4779bc7aafcfbfe900..61420ce02191cbe535ff80e28c242032161f4084 100644 --- a/app/serializers/build_details_entity.rb +++ b/app/serializers/build_details_entity.rb @@ -8,11 +8,8 @@ class BuildDetailsEntity < JobEntity expose :stuck?, as: :stuck expose :user, using: UserEntity expose :runner, using: RunnerEntity - - # expose :pipeline, using: PipelineEntity - expose :pipeline_path do |build| - project_pipeline_path(build.project, build.pipeline) - end + expose :metadata, using: BuildMetadataEntity + expose :pipeline, using: PipelineEntity expose :deployment_status, if: -> (*) { build.starts_environment? } do expose :deployment_status, as: :status @@ -20,8 +17,6 @@ class BuildDetailsEntity < JobEntity expose :persisted_environment, as: :environment, with: EnvironmentEntity end - expose :metadata, using: BuildMetadataEntity - expose :artifact, if: -> (*) { can?(current_user, :read_build, build) } do expose :download_path, if: -> (*) { build.artifacts? } do |build| download_project_job_artifacts_path(project, build) diff --git a/app/serializers/pipeline_details_entity.rb b/app/serializers/pipeline_details_entity.rb index d78ad4af4dc7d6e4fe66a1456e8f9036d4c1dace..dfef436496534b6b463e7d72916155d1c06da663 100644 --- a/app/serializers/pipeline_details_entity.rb +++ b/app/serializers/pipeline_details_entity.rb @@ -1,8 +1,11 @@ # frozen_string_literal: true class PipelineDetailsEntity < PipelineEntity + expose :flags do + expose :latest?, as: :latest + end + expose :details do - expose :ordered_stages, as: :stages, using: StageEntity expose :artifacts, using: BuildArtifactEntity expose :manual_actions, using: BuildActionEntity expose :scheduled_actions, using: BuildActionEntity diff --git a/app/serializers/pipeline_entity.rb b/app/serializers/pipeline_entity.rb index 8fe5df81e6c7cea00f49aa867c0e00b0befead8f..9ef93b2387fbd083b0d0bdbdf6a14dce196fab9c 100644 --- a/app/serializers/pipeline_entity.rb +++ b/app/serializers/pipeline_entity.rb @@ -20,7 +20,6 @@ class PipelineEntity < Grape::Entity end expose :flags do - expose :latest?, as: :latest expose :stuck?, as: :stuck expose :auto_devops_source?, as: :auto_devops expose :merge_request_event?, as: :merge_request @@ -34,6 +33,7 @@ class PipelineEntity < Grape::Entity expose :details do expose :detailed_status, as: :status, with: DetailedStatusEntity + expose :ordered_stages, as: :stages, using: StageEntity expose :duration expose :finished_at end diff --git a/spec/serializers/pipeline_entity_spec.rb b/spec/serializers/pipeline_entity_spec.rb index 47f767ae4ab7a427569ce49f21a6b5b22e40562d..93d18f70cdce63b8ab86f8f23b4a8fd871ac5e93 100644 --- a/spec/serializers/pipeline_entity_spec.rb +++ b/spec/serializers/pipeline_entity_spec.rb @@ -48,8 +48,8 @@ describe PipelineEntity do it 'contains flags' do expect(subject).to include :flags expect(subject[:flags]) - .to include :latest, :stuck, :auto_devops, - :yaml_errors, :retryable, :cancelable, :merge_request + .to include :stuck, :auto_devops, :yaml_errors, + :retryable, :cancelable, :merge_request end end