2016-03-24 102 views
0

我已在Outlook的规则FSTrigger错误触发詹金斯

在主题
应用此规则后到达
与 “XYZ” 并将其移动到 “buildme”

文件夹 “buildme” 在

C作为一个数据文件创建的:\ Users \用户身份识别码\应用程序数据\本地\微软\展望\ builme.pst

在詹该项目下,我创建的构建触发如下:

[FSTrigger] - 监视文件
文件路径: C:\ Users \用户身份识别码\应用程序数据\本地\微软\展望\ builme.pst
日程安排:55 * * * 1-5

我发了封电子邮件,并在主题行 “XYZ”。 电子邮件然后被移动到“buildme”文件夹,因此文件C:\ Users \ myid \ AppData \ Local \ Microsoft \ Outlook \ builme.pst得到更新,比如在“3/24/2016 11:24 AM ”。

在上午11:55,构建被正确触发。

但是,在下午12:55,另一个构建被再次触发,意外的是,虽然没有发送新的电子邮件。这每一小时都会持续下去。

我做错了什么?

回答

1

Outlook可能以某种方式触及了该文件,修改了一些导致FSTrigger开始构建的时间戳。

为了保持健壮性,我建议不要依赖监视outlook文件夹文件进行更改,因为它可能会意外更改。相反,请修改您的规则以直接触发jenkins服务器上的构建作业。

I.e. pseudocodeish:IF subject CONTAINS keyword ACCESS jenkinsurl_that_starts_build

如何运行基于Outlook规则脚本似乎解释here

你甚至可以扩展它被奠定了如何在詹金斯URL通过HTTP请求触发构建here和 信息在将来从您的电子邮件传递参数到您的构建,因为这些也可以通过URL访问设置。在此here更多信息,部分启动与参数

+0

谢谢多米尼克。我试图发出一个HTTP请求,但它似乎不会触发构建。下面是我做的:
在VBA脚本,添加代码:'code'设置objHTTP =的CreateObject( “Microsoft.XMLHTTP”) URL =“http://56.xxx.xxx.xxx:8080/job/ “testenv/build?token = go” objHTTP.Open“POST”,URL,False objHTTP.setRequestHeader“User-Agent”,“Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.0)” objHTTP.Send “)。执行此代码后,不会触发构建。 – Heinz

+0

尝试通过将网址放入Firefox来验​​证网址的确是正确的。东西需要被正确地挖掘出来(firefox会自动执行此操作),只有当你将它设置在构建选项中时,才需要令牌。 –

+1

改后“56.xxx.xxx.xxx:8080/job/testenv/build?token=go”到“56.xxx.xxx.xxx:8080/job/testenv/buildWithParameters?token=go”,它的工作原理 – Heinz

1

构建我改变了规则:

apply this rule after arrives 
with "xyz" in the subject 
run projetcs.ThisOutlookSession.WriteStringToFile 

和VBA脚本:

Sub WriteStringToFile1(MyMail As MailItem) 
    Const FILEPATH = "c:\buildtrigger\testtest.txt" 

    Dim strSubject As String 
    Dim strSender As String 
    Dim strText As String 
    Dim strID As String 
    Dim objMail As Outlook.MailItem 

    strID = MyMail.EntryID 
    Set objMail = Application.Session.GetItemFromID(strID) 

    strSubject = objMail.Subject 
    strSender = objMail.SenderName 


    Open FILEPATH For Output As 1 
    Print #1, "SET XYZ = " & strSubject & ";" & strSender & "--" & Now 
    Close #1 

End Sub 

这个VBA脚本会写一行testtest.txt。

在詹金斯,创建构建触发器:

[FSTrigger] - Monitor folder 
Path = c:\buildtrigger 
Includes = testtest.txt 
Exclude check lastModification date = true 
Exclude check content = false 
Exclude check fewer or more files = true 
schedule: * * * * 1-5 

,并在主题XYZ发送电子邮件,构建将成功触发,但是没有收到任何电子邮件时没有构建触发。

作为一个附注,它看起来像FSTrigger修改文件的时间戳,而不是Outlook或Windows。