diff options
-rw-r--r-- | jobs/gitlab_build_status.rb | 11 | ||||
-rw-r--r-- | widgets/gitlab_build_status/gitlab_build_status.coffee | 12 | ||||
-rw-r--r-- | widgets/gitlab_build_status/gitlab_build_status.html | 11 |
3 files changed, 31 insertions, 3 deletions
diff --git a/jobs/gitlab_build_status.rb b/jobs/gitlab_build_status.rb index 57fe0b0..78867cd 100644 --- a/jobs/gitlab_build_status.rb +++ b/jobs/gitlab_build_status.rb @@ -3,6 +3,7 @@ require 'gitlab_stats' SCHEDULER.every '120s', :first_in => 0 do broken_builds = [] + running_builds = [] started = Time.now GitlabStats.projects.each do |proj| @@ -14,10 +15,18 @@ SCHEDULER.every '120s', :first_in => 0 do unless proj[:status] =~ /^success|running|No builds configured/ broken_builds << proj end + if proj[:status] == 'running' + running_builds << proj + end end failed = broken_builds.size > 0 + running = running_builds.size > 0 - send_event('gitlab-builds', { failed: failed, header: "Gitlab builds", broken_builds: broken_builds }) + send_event 'gitlab-builds', failed: failed, + running: running, + header: "Gitlab builds", + broken_builds: broken_builds, + running_builds: running_builds puts "#{Time.now} gitlab: Going through all projects took: #{Time.now - started}." end diff --git a/widgets/gitlab_build_status/gitlab_build_status.coffee b/widgets/gitlab_build_status/gitlab_build_status.coffee index e501aed..d2faf3e 100644 --- a/widgets/gitlab_build_status/gitlab_build_status.coffee +++ b/widgets/gitlab_build_status/gitlab_build_status.coffee @@ -1,11 +1,19 @@ class Dashing.GitlabBuildStatus extends Dashing.Widget onData: (data) -> + color = "#50BA5B" + if data.running + color = "#DA9A30" + $(@node).find('div.gitlab-build-running').show() + else + $(@node).find('div.gitlab-build-running').hide() + if data.failed + color = "red" $(@node).find('div.gitlab-build-failed').show() $(@node).find('div.gitlab-build-succeeded').hide() - $(@node).css("background-color", "red") else $(@node).find('div.gitlab-build-failed').hide() $(@node).find('div.gitlab-build-succeeded').show() - $(@node).css("background-color", "#50BA5B") + + $(@node).css("background-color", color) diff --git a/widgets/gitlab_build_status/gitlab_build_status.html b/widgets/gitlab_build_status/gitlab_build_status.html index ebac828..cb2f566 100644 --- a/widgets/gitlab_build_status/gitlab_build_status.html +++ b/widgets/gitlab_build_status/gitlab_build_status.html @@ -13,4 +13,15 @@ <h1 class="gitlab-status">All Gitlab builds are successful</h1> </div> +<div class="gitlab-build-running"> + <h1 class="gitlab-status"><span data-bind="title"></span> RUNNING</h1> + <ul class="list-nostyle list-running"> + <li data-foreach-item="running_builds"> + <!--<div class="label" data-bind="item.name"></div>--> + <div class="label"> <span class="aaa" data-bind="item.name"></span> - <span class="bbb" data-bind="item.ref"></span></div> + <div class="value">(<span class="aaa" data-bind="item.status"></span> <span class="bbb" data-bind="item.date"></span>)</div> + </li> + </ul> +</div> + <p class="updated-at" data-bind="updatedAtMessage"></p> |