Azure Logic App自定义连接器中的URL路径变量

时间:2017-10-25 09:40:27

标签: azure-logic-apps

我正在尝试构建可以更新JIRA问题的Logic Apps自定义连接器(预构建连接器中当前不可用的功能)。

以下是JIRA documentation for this request

中的cURL示例
curl -D- -u fred:fred -X PUT --data {see below} -H "Content-Type: application/json" http://kelpie9:8081/rest/api/2/issue/QA-31

{
   "fields": {
       "assignee":{"name":"harry"}
   }
}

QA-31值是我想要变量的唯一标识符。使用Postman我将其设置为Environment变量并成功运行请求。当我将Postman系列上传到我的自定义连接器QA-31'值不能作为路径变量

然后我尝试直接编辑自定义连接器。在导入示例菜单中,我替换了QA-31'在' {issueKey}'的网址中。这创建了一个路径变量,但它也为url添加了' / en-us / widgets / manage';我不想要

Here is a picture of the problem

所以这里有几个问题:

  1. 为什么我在Postman中的路径变量没有在自定义连接器中被拾取,而来自该集合的其他请求工作正常
  2. 为什么我的网址以' / en-us / widgets / manage'为前缀?在'从样本导入时添加路径变量'菜单
  3. 谢谢!

1 个答案:

答案 0 :(得分:1)

在Logic Apps自定义连接器编辑器中,您可以通过将变量括在括号内来定义路径变量(例如https://api.library.com/[method} /)。这可以在创建/编辑自定义连接器的“定义”步骤中手动完成。但是,缺点是您必须使用“从示例导入”功能,该功能要求您手动重写特定请求。

要回答您的问题,我们可以在PostMan中定义路径变量,然后运行V1导出。

您可以在邮递员请求中定义路径变量,方法是在变量名前面添加一个':',https://api.library.com/:method/。这会将键(方法)和可选值添加到请求参数字段中。 Postman variable path example

当您作为Postman V1集合导出时,生成的JSON代码如下所示

   <string name="example1">Hey There!</string>
   <string name="example2">Hello %s</string>

注意“pathVariables”字段,它对应于我们的自定义路径变量。

现在我们可以将它导入到我们的Logic App中,路径变量可以正确解释,如第一段所述。 Microsoft Azure Logic Apps Custom Connector with variable path

希望有所帮助。