mirror of https://github.com/codevalet/canary
77 lines
2.2 KiB
Plaintext
77 lines
2.2 KiB
Plaintext
- require 'cgi'
|
|
.container
|
|
.row
|
|
.col-md-12
|
|
%h2
|
|
Meet Canary
|
|
%img{:src => "#{@url_root}images/songbird-128.png",
|
|
:title => 'Grace the Canary in the Code Mine',
|
|
:align => :right}
|
|
%p
|
|
Canary is part of
|
|
%a{:href => 'https://codevalet.io/', :target => '_blank'}
|
|
Code Valet
|
|
which provides radically transparent feedback for the service's
|
|
operation. Canary allows developers to triage and understand issues
|
|
affecting Code Valet, or one of its components.
|
|
.row
|
|
.col-md-12
|
|
%h3
|
|
Recent deployments
|
|
.container
|
|
%p
|
|
The
|
|
%strong
|
|
alpha
|
|
channel was last rebuilt on:
|
|
%code
|
|
= jenkins.rebuilt_alpha
|
|
%p
|
|
The
|
|
%strong
|
|
general availability
|
|
channel was last rebuilt on:
|
|
%code
|
|
= jenkins.rebuilt_ga
|
|
|
|
.row
|
|
.col-md-12
|
|
%h3
|
|
Recent issues
|
|
.container
|
|
- projects = sentry.projects
|
|
- if sentry.errored?
|
|
|
|
Something went wrong when querying the error service!
|
|
|
|
- else
|
|
- projects.each do |project|
|
|
.row.p-3.project
|
|
%h4= project.name
|
|
- events = sentry.issues_for(project.slug)
|
|
.col-lg-12
|
|
- unless events.size > 0
|
|
No recent events (yay).
|
|
- else
|
|
- events.each do |event|
|
|
- badge = 'danger'
|
|
- if event.level != 'error'
|
|
- badge = event.level
|
|
.row.p-2.event
|
|
.col-lg-10
|
|
%span.badge{:class => "badge-#{badge}"}
|
|
= event.count
|
|
%strong
|
|
= CGI.escapeHTML(event.title)
|
|
|
|
.mb-2.text-muted
|
|
= CGI.escapeHTML(event.culprit)
|
|
|
|
%p
|
|
%a{:href => "issue/#{event.id}"}
|
|
View
|
|
·
|
|
%a{:href => event.permalink, :target => '_blank'}
|
|
View in Sentry
|
|
%hr/
|