lib/release_tools/internal_release/finalize/release_managers_notifier.rb (51 lines of code) (raw):

# frozen_string_literal: true module ReleaseTools module InternalRelease module Finalize class ReleaseManagersNotifier < PackageAvailabilityBaseNotifier def initialize(versions) @versions = versions end private attr_reader :versions def project ReleaseTools::Project::Release::Tasks end def regular_versions versions.map(&:to_minor).join(' and ') end def internal_task_issue @internal_task_issue ||= Retriable.with_context(:api) do client.issues(project, options).first end end def release_managers @release_managers ||= ReleaseTools::ReleaseManagers::Schedule.new end def usernames(users) users.map do |user| "@#{user.username}" end.join(' ') end def template File.read( File.expand_path('../../../../templates/internal_release_issue_note.md.erb', __dir__) ) end def perform_notification notify_slack_package_availability notify_issue(internal_task_issue, body) end def notify_slack_package_availability ReleaseTools::Slack::InternalRelease::PackageAvailabilityNotifier.new(versions).execute end def job_type 'Notifying internal release about package availability' end def target_group 'release managers' end end end end end