parent
7b1d7c5dc9
commit
2be1af365d
@ -0,0 +1,7 @@
|
|||||||
|
package alfred.web.core.event
|
||||||
|
|
||||||
|
import alfred.web.core.build.BuildContext
|
||||||
|
|
||||||
|
data class BuildFinished(
|
||||||
|
val ctx: BuildContext
|
||||||
|
)
|
@ -0,0 +1,36 @@
|
|||||||
|
package alfred.web.core.event.listener
|
||||||
|
|
||||||
|
import alfred.web.core.event.BuildFinished
|
||||||
|
import org.springframework.beans.factory.annotation.Value
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.mail.MailSender
|
||||||
|
import org.springframework.mail.SimpleMailMessage
|
||||||
|
import org.springframework.scheduling.annotation.Async
|
||||||
|
import org.springframework.stereotype.Component
|
||||||
|
|
||||||
|
@Component
|
||||||
|
class SendMailOnFinish(
|
||||||
|
@Value("\${ALFRED_MAIL_FROM}")
|
||||||
|
val sender: String,
|
||||||
|
val mailSender: MailSender
|
||||||
|
) {
|
||||||
|
|
||||||
|
@EventListener
|
||||||
|
@Async
|
||||||
|
fun onBuildFinished(event: BuildFinished) {
|
||||||
|
if (event.ctx.config.mailReportTo === null) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val ctx = event.ctx
|
||||||
|
val msg = SimpleMailMessage().apply {
|
||||||
|
from = sender
|
||||||
|
subject = "Build ${ctx.buildId} finished"
|
||||||
|
setTo(event.ctx.config.mailReportTo)
|
||||||
|
text = ctx.logFile.backingFile.readLines().joinToString("\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
mailSender.send(msg)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue