lib/release_tools/internal_release/issue.rb (65 lines of code) (raw):

# frozen_string_literal: true module ReleaseTools module InternalRelease class Issue < ReleaseTools::Issue include ::ReleaseTools::Security::IssueHelper include ::SemanticLogger::Loggable RELEASE_TYPE = 'internal' def initialize(*args) super @internal_number = iteration.to_i end def create release_pipeline super end def title "Internal Release: #{versions_title}" end def confidential? true end def labels 'internal releases' end def project ReleaseTools::Project::Release::Tasks end def versions if version.present? [internal_version] else internal_release_coordinator.versions end end def regular_versions versions.map(&:to_minor).join(', ') end def assignees ReleaseManagers::Schedule.new.active_release_managers.collect(&:id) rescue ReleaseManagers::Schedule::VersionNotFoundError nil end protected def template_path File.expand_path('../../../templates/internal.md.erb', __dir__) end def internal_release_coordinator @internal_release_coordinator ||= ReleaseTools::InternalRelease::Coordinator.new(internal_number) end def versions_title versions.join(', ') end def pipeline_variables { INTERNAL_RELEASE_PIPELINE: 'true', INTERNAL_VERSIONS: versions.join(' ') } end private attr_reader :internal_number def internal_version ReleaseTools::Version.new(version.to_internal(internal_number)) end end end end