2020-06-02 18:08:32 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Releases
|
|
|
|
class CreateEvidenceService
|
2020-06-16 15:08:32 +00:00
|
|
|
def initialize(release, pipeline: nil)
|
2020-06-02 18:08:32 +00:00
|
|
|
@release = release
|
2020-06-16 15:08:32 +00:00
|
|
|
@pipeline = pipeline
|
2020-06-02 18:08:32 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def execute
|
|
|
|
evidence = release.evidences.build
|
|
|
|
|
2020-06-18 00:08:35 +00:00
|
|
|
summary = ::Evidences::EvidenceSerializer.new.represent(evidence, evidence_options) # rubocop: disable CodeReuse/Serializer
|
2020-06-02 18:08:32 +00:00
|
|
|
evidence.summary = summary
|
2020-10-19 00:08:50 +00:00
|
|
|
# TODO: fix the sha generation https://gitlab.com/groups/gitlab-org/-/epics/3683
|
2020-06-02 18:08:32 +00:00
|
|
|
evidence.summary_sha = Gitlab::CryptoHelper.sha256(summary)
|
|
|
|
|
|
|
|
evidence.save!
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
2020-06-18 00:08:35 +00:00
|
|
|
attr_reader :release, :pipeline
|
|
|
|
|
|
|
|
def evidence_options
|
|
|
|
{}
|
|
|
|
end
|
2020-06-02 18:08:32 +00:00
|
|
|
end
|
|
|
|
end
|
2020-06-18 00:08:35 +00:00
|
|
|
|
2021-05-11 21:10:21 +00:00
|
|
|
Releases::CreateEvidenceService.prepend_mod_with('Releases::CreateEvidenceService')
|