【问题标题】:Zendesk Java client API updating CustomFieldValueZendesk Java 客户端 API 更新 CustomFieldValue
【发布时间】:2019-10-31 17:24:27
【问题描述】:

我无法弄清楚如何使用 Zendesk Java 客户端 API 正确更新自定义字段,我的问题是我不确定命令的语法。

我可以使用zendesk.createComment()、标签和其他字段更新 cmets,但无法弄清楚自定义字段的语法。

例子:

public static void main(String[] args) {
    Zendesk zd = new Zendesk.Builder(url)
        .setUsername(uid)
        .setPassword(pwd)
        .build();
}


private static void setComment(Zendesk zd, long inTicket, String inComment) {
    Comment cmt = new Comment();
    cmt.setBody(inComment);
    cmt.setPublic(pubPriv);
    zd.createComment(inTicket, cmt);
}

【问题讨论】:

    标签: java api client cloudbees zendesk


    【解决方案1】:

    自定义字段更新可以使用以下示例完成:

    /*
     When a customer ftps a file to TCS we need to update the ZenDesk ticket
     with the file information. The file name is stored in the AddAttachment List
     custom field. This is a destructive field so it must be read first and the
     new data concatenated after a line feed then re-written.
     1) Read current field data
     2) Concatenate line feed and new data onto old data
     3) Write new field data
    */
    long fieldNum = 25326406;
    showDebug("In addAttachmentList");
    Ticket ticket = zd.getTicket(inTicket);
    List<CustomFieldValue> cfvl = ticket.getCustomFields();
    for (int i = 0; i < cfvl.size(); i++) {
        if (cfvl.get(i).getId() == fieldNum) {
            showDebug("Original value: " + cfvl.get(i).getValue());
            cfvl.get(i).setValue(cfvl.get(i).getValue() + "\n" + inComment);
            cfvl.get(i).setId(fieldNum);
            ticket.setCustomFields(cfvl);
            showDebug("After Update value: " + cfvl.get(i).getValue());
    
            zd.updateTicket(ticket);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-11
      • 1970-01-01
      • 2017-12-09
      相关资源
      最近更新 更多