2017-09-18 69 views
3

我們正試圖創建一個使用團隊,流程和Assembla審批工作流程和運行成一個有點麻煩。HTTP POST從卡在微軟團隊

我們有幾件成功設立的但我們不能啓動從團隊中一卡一POST動作。

在團隊,我們可以成功地創建一個使用這個結果傳入網絡掛接連接器的卡。 enter image description here

這是一個具有以下JSON身體流

{ 
    "@@type": "MessageCard", 
    "@@context": "http://schema.org/extensions", 
    "summary": "This is the summary property", 
    "themeColor": "f46b42", 
    "sections": [ 
     { 
      "startGroup": true, 
      "title": "**Pending Review**", 
      "activityTitle": "Ticket Title", 
      "activitySubtitle": "Requested by: ", 
      "facts": [ 
       { "name": "Date submitted:", "value": "06/27/2017, 2:44 PM" }, 
       { "name": "Details:", 
       "value": "This ticket is ready for review." } 
      ] 
     }, 
     { 
      "potentialAction": [ 
       { 

        "@@type": "HttpPOST", 
        "name": "Approve", 
        "target": "ANOTHER-POST-URL-IS-HERE" 
       }, 
       { 


        "@@type": "HttpPOST", 
        "name": "Deny", 
        "target": "ANOTHER-POST-URL-IS-HERE" 
       } 
      ] 
     } 
    ] 
} 

創建從POST動作我們有另一個流動的URL爲目標的卡上的兩個按鈕。要測試此網址,我們可以通過POSTMAN成功發佈並繼續審批工作流程。

當點擊隊卡上的按鈕,該流程在帖子的網址是沒有辦法通知可言。沒有在Flow上運行。團隊中非常通用「提交更改時出現問題,請稍後再試。」錯誤顯示。

研究後,我跑過微軟團隊GitHub的頁面上connectors.md文件,發現文件的這個可愛的一部分

enter image description here

這似乎很奇怪我下面他們,右提的是POST操作可能不會支持文件長時間顯示在團隊卡上使用POST和ActionCard動作的例子。

enter image description here

所以我的問題是這樣的,有沒有辦法讓一個HttpPOST行動,從一個自定義的卡隊到微軟後流動URL工作的?

謝謝!

更新:

通過進一步的測試中,我們已經確定HttpPOST行動 與幾乎任何帖子的網址,我們可以拿出除了 微軟流請求的URL的工作。他們是特別長的網址,所以也許 與它有關係?

下面是一個例子流量請求的URL。

https://prod-43.westus.logic.azure.com:443/workflows/f86b928acd3d4ecab849f677974f7816/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=ZBxr5GFKQhMp4JXWGmec_L6aqgcaqvCOKUWOf2li-xQ 

當運行在Web瀏覽器的團隊,我們都能夠看到該請求 第一柱到api.teams.skype.com URL並返回一個通用 「ProviderError」。其他非流量網址也會這樣做,但會返回 成功。

+0

剛剛澄清,我試過例如URL,但它與它預期'GET',並得到了'POST'消息返回'HTTP 400'錯誤。我認爲這與你從POSTMAN看到的不同? –

+0

在其他命令中,我假設你的HTTP觸發器被定義爲'POST'? –

+0

是的,它通常是Flow中的POST觸發器。我給的網址只是爲了顯示網址格式的一個例子。我把那個特定的流設置爲其他測試的GET。 我現在將該URL切換回POST。 我們做了一些測試additinal和張貼在同一卡到Outlook顯示了完全相同的行爲。其他POST網址恢復正常,但流量特定的POST URL仍然返回相同的錯誤 –

回答

5

這對我們來說是一個頭疼的人 - 正如你猜測的那樣,這應該是有效的。團隊,流程和Outlook團隊今天對此進行了排查,並找出發生了什麼事情。

您要發佈帖子的網址,https://prod-43.westus.logic.azure.com[...]具有嵌入式承載令牌(在URL中sig參數的值)。當你通過CURL,Fiddler,Postman等發佈到那個URL時,它會工作,因爲該標記存在。

但是,當你點擊一個可執行的消息HttpPOST按鈕,Outlook將自己的JWT令牌在HTTP標頭,這意味着HTTP POST有在URL和JWT令牌在sig=承載令牌HTTP標頭。流程檢測到這一點並拒絕HTTP POST爲無效(雖然我們目前不支持JWT令牌,但我們計劃將此情況視爲無效以維持向前兼容性)。

這個用例將在今後的工作。在此期間,一個解決辦法,試圖將有可操作的消息按鈕POST到端點,例如https://yoursite.com/accepthttps://yoursite.com/deny(驗證JWT就像你喜歡的),並有這些端點直接郵寄而不JWT流動。

請讓我們知道,如果工程。

順便說一句,你找到的文本是一個文檔錯誤,此後一直fixedExcerpt of connectors.md

很抱歉的混亂。

+0

感謝您花時間查看此信息!我們正在考慮採取完全的解決方法,但只是在等待,看是否可以先找到解決方案。很高興聽到這是一個已知的問題,至少可以在將來糾正。您是否知道何時可以在Flow中支持JWT令牌? –

+0

在uservoice上是否有跟蹤此功能的帖子?謝謝! –