2020-06-25 08:09:00 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Ci
|
|
|
|
module BuildsHelper
|
|
|
|
def build_summary(build, skip: false)
|
|
|
|
if build.has_trace?
|
|
|
|
if skip
|
|
|
|
link_to _('View job log'), pipeline_job_url(build.pipeline, build)
|
|
|
|
else
|
|
|
|
build.trace.html(last_lines: 10).html_safe
|
|
|
|
end
|
|
|
|
else
|
|
|
|
_('No job log')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def sidebar_build_class(build, current_build)
|
|
|
|
build_class = []
|
|
|
|
build_class << 'active' if build.id === current_build.id
|
|
|
|
build_class << 'retried' if build.retried?
|
|
|
|
build_class.join(' ')
|
|
|
|
end
|
|
|
|
|
|
|
|
def javascript_build_options
|
|
|
|
{
|
|
|
|
page_path: project_job_path(@project, @build),
|
|
|
|
build_status: @build.status,
|
2022-08-26 08:11:48 -04:00
|
|
|
build_stage: @build.stage_name,
|
2020-06-25 08:09:00 -04:00
|
|
|
log_state: ''
|
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
def build_failed_issue_options
|
|
|
|
{
|
|
|
|
title: _("Job Failed #%{build_id}") % { build_id: @build.id },
|
|
|
|
description: project_job_url(@project, @build)
|
|
|
|
}
|
|
|
|
end
|
2022-05-06 08:09:05 -04:00
|
|
|
|
|
|
|
def prepare_failed_jobs_summary_data(failed_builds)
|
2022-11-09 10:07:50 -05:00
|
|
|
failed_builds.map do |build|
|
2022-05-06 08:09:05 -04:00
|
|
|
{
|
|
|
|
id: build.id,
|
|
|
|
failure: build.present.callout_failure_message,
|
|
|
|
failure_summary: build_summary(build)
|
|
|
|
}
|
2022-11-09 10:07:50 -05:00
|
|
|
end.to_json
|
2022-05-06 08:09:05 -04:00
|
|
|
end
|
2020-06-25 08:09:00 -04:00
|
|
|
end
|
|
|
|
end
|