HTTP POST从卡在微软团队

问题描述:

我们正试图创建一个使用团队,流程和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仍然返回相同的错误 –

这对我们来说是一个头疼的人 - 正如你猜测的那样,这应该是有效的。团队,流程和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上是否有跟踪此功能的帖子?谢谢! –