Jenkins问题-如何访问MSBuild文件中的全局变量以及如何在传递条件时发送邮件

Jenkins问题-如何访问MSBuild文件中的全局变量以及如何在传递条件时发送邮件,msbuild,jenkins,email-validation,email-attachments,Msbuild,Jenkins,Email Validation,Email Attachments,出于某种原因,我必须在我的MSBuild文件中访问Jenkins全局环境变量,如BUILD ID等,但我不知道如何做到这一点 在运行我的NUnit项目后,我创建了一个特定的报告,一个pdf文件,但有时可能无法生成此文件(例如,没有数据显示),因此我必须检查此报告是否存在,如果存在,则必须将其附加到邮件中并发送给一些人。我正在使用Jenkins的Email ext插件,但我不确定如何检查这种情况 你建议我如何解决这些问题 提前谢谢 我不知道Jenkins是如何工作的,但是应该有一些方法来传递额外的

出于某种原因,我必须在我的MSBuild文件中访问Jenkins全局环境变量,如BUILD ID等,但我不知道如何做到这一点

  • 在运行我的NUnit项目后,我创建了一个特定的报告,一个pdf文件,但有时可能无法生成此文件(例如,没有数据显示),因此我必须检查此报告是否存在,如果存在,则必须将其附加到邮件中并发送给一些人。我正在使用Jenkins的Email ext插件,但我不确定如何检查这种情况

  • 你建议我如何解决这些问题

    提前谢谢

  • 我不知道Jenkins是如何工作的,但是应该有一些方法来传递额外的命令行参数。要将Jenkins全局变量add/p:switch传递到MSBuild命令行中。假设JenkinsVersion是Jenkins中的全局变量。您可以使用
    /p:MsBuildJenkinsVariable=JenkinsVersion
    将其传递到MSBuild。MsBuild$(MsBuildJenkinsVariable)属性现在应使用JenkinsVersion填充

  • 我知道你想在詹金斯身上创造条件。如果无法在Jenkins中执行此操作,则可以使用MSbuild脚本执行此操作。我正在使用MSBuild任务发送通知电子邮件。将电子邮件任务的Condition属性设置为在报表文件不存在时发送电子邮件

  • 我不知道Jenkins是如何工作的,但是应该有一些方法来传递额外的命令行参数。要将Jenkins全局变量add/p:switch传递到MSBuild命令行中。假设JenkinsVersion是Jenkins中的全局变量。您可以使用
    /p:MsBuildJenkinsVariable=JenkinsVersion
    将其传递到MSBuild。MsBuild$(MsBuildJenkinsVariable)属性现在应使用JenkinsVersion填充

  • 我知道你想在詹金斯身上创造条件。如果无法在Jenkins中执行此操作,则可以使用MSbuild脚本执行此操作。我正在使用MSBuild任务发送通知电子邮件。将电子邮件任务的Condition属性设置为在报表文件不存在时发送电子邮件


  • 我正在尝试使用电子邮件任务,但无法发送邮件。我使用以下配置运行带有诊断详细信息/v:diag的MSBuild。尝试临时禁用防火墙、防病毒软件等。或者直接在此处询问,它会给出以下结果-SmtpException:失败发送结果。WebException:无法连接到远程服务器。SocketException:尝试以访问权限所禁止的方式访问套接字173.194.77.109:25…实际上对此非常失望。端口465会出现smtp超时错误,但端口587会出现与上述相同的错误。是否尝试禁用防火墙?我正在尝试使用电子邮件任务,但无法执行此任务发邮件。我使用以下配置运行带有诊断详细信息/v:diag的MSBuild。尝试临时禁用防火墙、防病毒软件等。或者直接在此处询问,它会给出以下结果-SmtpException:失败发送结果。WebException:无法连接到远程服务器。SocketException:尝试以访问权限所禁止的方式访问套接字173.194.77.109:25…实际上对此非常失望。端口465会出现smtp超时错误,但端口587会出现与上述相同的错误。是否尝试禁用防火墙?