notifyTeams static method
Implementation
static Future<void> notifyTeams({
String? customTeamsMsg,
bool? shareLink,
bool? shareQr,
}) async {
final teamsService = FlutterReleaseXTeamsService();
final uploadState = FlutterReleaseXUploadState();
final String? downloadLink = uploadState.uploadLink;
final teamsConfig = FlutterReleaseXConfig().config.uploadOptions.teams;
final bool isTeamsEnabled = teamsConfig.enabled;
final String? webhookUrl = teamsConfig.webhookUrl;
final String? customMessage = customTeamsMsg ?? teamsConfig.customMessage;
final List<String>? mentionUsers = teamsConfig.mentionUsers;
final bool isShareDownloadLink = shareLink ?? teamsConfig.shareLink;
final bool isShareQR = shareQr ?? teamsConfig.shareQR;
final File qrFile = File('./release-qr-code.png');
if (isTeamsEnabled && webhookUrl != null && webhookUrl.isNotEmpty) {
try {
FlutterReleaseXHelpers.showLoading('🔔 Sharing on Microsoft Teams...');
await teamsService.sendLinkAndQr(
webhookUrl: webhookUrl,
qrFile: qrFile,
message: customMessage ?? '🎉 Your app is ready for download!',
mentions: mentionUsers,
downloadLink: downloadLink ?? FlutterReleaseXKstrings.packageLink,
isShareQR: isShareQR,
isShareDownloadLink: isShareDownloadLink,
);
} catch (e, s) {
showHighlight(
firstMessage: 'Teams error:',
highLightmessage: e.toString(),
lastMessage: s.toString(),
);
exit(0);
} finally {
FlutterReleaseXHelpers.stopLoading();
}
}
}