NotificationPayload.fromReleaseEvent constructor
NotificationPayload.fromReleaseEvent(
- ReleaseEvent event
Implementation
factory NotificationPayload.fromReleaseEvent(ReleaseEvent event) {
final severity = NotificationSeverity.fromEventType(event.eventType);
final titlePrefix = event.isPatch ? 'Shorebird Patch' : 'Flutter Release';
final title =
'$titlePrefix — ${event.version}+${event.buildNumber} (${event.eventType.eventName})';
final messageBuf = StringBuffer();
messageBuf.writeln('Version: ${event.version}+${event.buildNumber}');
messageBuf.writeln('Mode: ${event.releaseMode}');
messageBuf.writeln('Platforms: ${event.platforms.join(", ")}');
if (event.commit != null) messageBuf.writeln('Commit: ${event.commit}');
if (event.tag != null) messageBuf.writeln('Tag: ${event.tag}');
messageBuf.writeln('Status: ${event.deploymentStatus}');
if (event.error != null) messageBuf.writeln('Error: ${event.error}');
return NotificationPayload(
title: title,
message: messageBuf.toString().trim(),
event: event,
severity: severity,
metadata: event.toJson(),
);
}