2016-03-24 101 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。