From c53890548e15c15b38f3aa7911a69a4c24173f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Lu=C3=ADs?= Date: Fri, 25 May 2018 10:08:53 +0000 Subject: Resolve "Show CI pipeline status in Web IDE" --- app/assets/javascripts/api.js | 14 ++ app/assets/javascripts/ide/components/ide.vue | 4 +- .../javascripts/ide/components/ide_status_bar.vue | 37 ++++- app/assets/javascripts/ide/services/index.js | 4 + .../javascripts/ide/stores/actions/project.js | 96 ++++++++++--- .../javascripts/ide/stores/mutation_types.js | 1 + .../javascripts/ide/stores/mutations/branch.js | 9 ++ app/assets/stylesheets/framework/variables.scss | 2 +- app/assets/stylesheets/pages/repo.scss | 12 +- .../44579-ide-add-pipeline-to-status-bar.yml | 5 + spec/javascripts/api_spec.js | 21 +++ spec/javascripts/ide/mock_data.js | 34 +++++ .../javascripts/ide/stores/actions/project_spec.js | 159 ++++++++++++++++++--- .../ide/stores/mutations/branch_spec.js | 36 +++++ 14 files changed, 386 insertions(+), 48 deletions(-) create mode 100644 changelogs/unreleased/44579-ide-add-pipeline-to-status-bar.yml diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js index eb919241318..ce1069276ab 100644 --- a/app/assets/javascripts/api.js +++ b/app/assets/javascripts/api.js @@ -21,6 +21,7 @@ const Api = { issuableTemplatePath: '/:namespace_path/:project_path/templates/:type/:key', usersPath: '/api/:version/users.json', commitPath: '/api/:version/projects/:id/repository/commits', + commitPipelinesPath: '/:project_id/commit/:sha/pipelines', branchSinglePath: '/api/:version/projects/:id/repository/branches/:branch', createBranchPath: '/api/:version/projects/:id/repository/branches', pipelinesPath: '/api/:version/projects/:id/pipelines', @@ -166,6 +167,19 @@ const Api = { }); }, + commitPipelines(projectId, sha) { + const encodedProjectId = projectId + .split('/') + .map(fragment => encodeURIComponent(fragment)) + .join('/'); + + const url = Api.buildUrl(Api.commitPipelinesPath) + .replace(':project_id', encodedProjectId) + .replace(':sha', encodeURIComponent(sha)); + + return axios.get(url); + }, + branchSingle(id, branch) { const url = Api.buildUrl(Api.branchSinglePath) .replace(':id', encodeURIComponent(id)) diff --git a/app/assets/javascripts/ide/components/ide.vue b/app/assets/javascripts/ide/components/ide.vue index 1ec69adce09..0aaf5a112cb 100644 --- a/app/assets/javascripts/ide/components/ide.vue +++ b/app/assets/javascripts/ide/components/ide.vue @@ -123,8 +123,6 @@ export default { - + diff --git a/app/assets/javascripts/ide/components/ide_status_bar.vue b/app/assets/javascripts/ide/components/ide_status_bar.vue index 70c6d53c3ab..6f60cfbf184 100644 --- a/app/assets/javascripts/ide/components/ide_status_bar.vue +++ b/app/assets/javascripts/ide/components/ide_status_bar.vue @@ -1,14 +1,16 @@