【问题标题】:WSO2 ESB JIRA connectorWSO2 ESB JIRA 连接器
【发布时间】:2016-04-25 18:39:18
【问题描述】:

在我的用例中,我需要编写一个代理,我可以在其中动态构建一个 jira 问题,从发送到同一代理的请求中捕获数据。 在请求的有效载荷中有一个像这样的 Json 对象:

{"objId":"073456","user":"sysadmin","message":"asdas"}

我想从这个 json 构建这个 jira "CreateIssue" 语句:

<jira.createIssue> 
    <projectKey>MY PROJECT</projectKey> 
    <summary>Issue sent form user: USER related to object: OBJID </summary> 
    <description>MESSAGE</description> 
    <issueType>Bug</issueType> 
</jira.createIssue>

其中 USER、OBJID 和 MESSAGE 是从上面的 json 中提取的。 我该怎么做?

【问题讨论】:

    标签: wso2 jira wso2esb connector


    【解决方案1】:

    您可以使用属性调解器从上面的 json 中提取。

    <property name="objId" expression="json-eval($.objId)"/>
    <property name="user" expression="json-eval($.user)"/>
    <property name="OBJID" expression="get-property('OBJID')"/>
    <jira.createIssue> 
       <projectKey>MY PROJECT</projectKey> 
       <summary>Issue sent form user: {$ctx:user} related to object: {$ctx:objId} </summary> 
       <description>MESSAGE</description> 
       <issueType>Bug</issueType> 
    </jira.createIssue>
    

    【讨论】:

      【解决方案2】:

      您可以使用大括号指定动态值和 xpath 或 JSON 路径(使用“json-eval”)来操作消息负载、示例:

      <summary>{concat('Issue sent form user: ', json-eval($.user), ' related to object: ', json-eval($.objId)}</summary>
      
      <summary>{concat('Issue sent form user: ', //user/text(), ' related to object: ', //objId/text()}</summary>
      

      查看https://docs.wso2.com/display/ESB481/JSON+Support了解更多详情

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-23
        • 1970-01-01
        • 1970-01-01
        • 2015-04-28
        • 2013-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多