如何使用 Java API 在 Jira 中设置自定义字段 "startDate"

How to set the custom field "startDate" in Jira with a Java API

代码如下:

public String createDeploymentTask(String project_key, String summary, String description) throws ResponseException { //ADD FIELDS: DATE...
    IssueRestClient issueClient = restClient.getIssueClient();
    IssueInputBuilder iib = new IssueInputBuilder();
    iib.setProjectKey(project_key);
    iib.setSummary(summary);
    iib.setIssueTypeId(new Long(10800));
    iib.setDescription(description);
    iib.setFieldValue("customfield_15031",  new Timestamp(System.currentTimeMillis()));
    IssueInput issue = iib.build();
    BasicIssue issueObj = null;
    try {
        issueObj = issueClient.createIssue(issue).claim();
    } catch (RestClientException e) {
        throw new ResponseException(400, "Input is invalid (e.g. missing required fields, invalid field values, and so forth)\n" + e.getMessage());
    }

    System.out.println("Issue " + issueObj.getKey() + " created successfully");
    return issueObj.getKey();
}

我得到异常:

com.atlassian.jira.rest.client.api.domain.input.CannotTransformValueException: Any of available transformers was able to transform given value. Value is: java.sql.Timestamp: 2018-07-20 17:20:06.65

第二个参数应该是什么格式

iib.setFieldValue("customfield_15031", new Timestamp(System.currentTimeMillis()));

?

IssueInputBuilder 使用的 BaseValueTransformer 不接受任何与时间或日期相关的值。您必须自己格式化日期并作为字符串值传递。格式为 2018-07-25,因此您必须使用格式 yyyy-MMM-dd。