发布作为电子邮件附件发送给用户组的工件

时间:2018-08-11 02:36:11

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline

我在VSTS中进行构建和发布。我在构建定义中使用“复制文件”选项,然后将伪像复制到文件夹中。我希望在版本末尾创建的工件(.exe,.dll,.zip等)必须附加在电子邮件中,并且必须传递到电子邮件地址列表中。 如何做到这一点。

2 个答案:

答案 0 :(得分:2)

使用存档任务压缩文件,并使用下面给出的powershell脚本发送带有附件的电子邮件。

online doc

现在使用Powershell任务并粘贴以下脚本。请修改SMTP和电子邮件设置。

$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"
$Username = "Youremail@gmail.com"
$Password = "Pass@1"
$to = "senderemail@gmail.com"
#$cc = "ccemail@gmail.com"
# Below subject line will have todays date and Build status as Succeed or Failed
$subject = "$(get-date -format dd-mm-yy) Automation Test report $(Agent.JobStatus)"
$body = "Your email body text"
# Enter the path of existing Archieve output folder
$attachment = "$(Build.ArtifactStagingDirectory)/YourZipFolderName.zip"
$message = New-Object System.Net.Mail.MailMessage
$message.subject = $subject
$message.IsBodyHTML = $true
$message.body = $body
$message.to.add($to)
#$message.cc.add($cc)
$message.from = $username
$message.attachments.add($attachment)
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.send($message)
write-host "Mail Sent successfully using GMAIL"

请确保使用运行选项作为“即使先前的任务失败,除非构建被取消”,如下所示。

same sentence

答案 1 :(得分:0)

您可以使用Rows.Scan任务来实现它。详细信息如下:

在发布环境的最后->添加“发送电子邮件”任务->配置所需的选项。

要通过“发送电子邮件”任务传递工件文件,可以选择“添加附件”选项并指定附件的绝对路径:

Send Email