Skip to content

Commit 0e0e7ee

Browse files
san81EC2 Default User
authored andcommitted
Fix a bug in converting Jira ticket updated time to milliseconds (opensearch-project#5595)
* fix for converting to millis Signed-off-by: Santhosh Gandhe <1909520+san81@users.noreply.github.com> * test case fix Signed-off-by: Santhosh Gandhe <1909520+san81@users.noreply.github.com> --------- Signed-off-by: Santhosh Gandhe <1909520+san81@users.noreply.github.com>
1 parent 35c8276 commit 0e0e7ee

2 files changed

Lines changed: 9 additions & 15 deletions

File tree

  • data-prepper-plugins/saas-source-plugins/jira-source/src

data-prepper-plugins/saas-source-plugins/jira-source/src/main/java/org/opensearch/dataprepper/plugins/source/jira/models/IssueBean.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import java.time.OffsetDateTime;
1919
import java.time.format.DateTimeFormatter;
20-
import java.util.Date;
2120
import java.util.Map;
2221
import java.util.Objects;
2322
import java.util.regex.Pattern;
@@ -31,36 +30,27 @@
3130

3231
public class IssueBean {
3332

34-
@JsonIgnore
35-
private final Pattern JiraDateTimePattern = Pattern.compile(
36-
"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}[-+]\\d{4}$");
37-
@JsonIgnore
38-
private final DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
39-
4033
/**
4134
* Expand options that include additional issue details in the response.
4235
*/
4336
@Getter
4437
@Setter
4538
@JsonProperty("expand")
4639
private String expand = null;
47-
4840
/**
4941
* The ID of the issue.
5042
*/
5143
@Getter
5244
@Setter
5345
@JsonProperty("id")
5446
private String id = null;
55-
5647
/**
5748
* The URL of the issue details.
5849
*/
5950
@Getter
6051
@Setter
6152
@JsonProperty("self")
6253
private String self = null;
63-
6454
/**
6555
* The key of the issue.
6656
*/
@@ -88,7 +78,12 @@ public class IssueBean {
8878
@Setter
8979
@JsonProperty("fields")
9080
private Map<String, Object> fields = null;
91-
81+
82+
@JsonIgnore
83+
private final Pattern JiraDateTimePattern = Pattern.compile(
84+
"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}[-+]\\d{4}$");
85+
@JsonIgnore
86+
private final DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
9287

9388
@JsonIgnore
9489
public String getProject() {
@@ -124,8 +119,7 @@ private long getGivenDateField(String dateTimeFieldToPull) {
124119
.toString()).matches()) {
125120
String charSequence = fields.get(dateTimeFieldToPull).toString();
126121
OffsetDateTime offsetDateTime = OffsetDateTime.parse(charSequence, offsetDateTimeFormatter);
127-
new Date(offsetDateTime.toInstant().toEpochMilli());
128-
dateTimeField = offsetDateTime.toEpochSecond() * 1000;
122+
dateTimeField = offsetDateTime.toInstant().toEpochMilli();
129123
}
130124
return dateTimeField;
131125
}

data-prepper-plugins/saas-source-plugins/jira-source/src/test/java/org/opensearch/dataprepper/plugins/source/jira/models/IssueBeanTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ void testGivenDateField() {
7878
fieldsTestObject.put("created", "2024-07-06T21:12:23.437-0700");
7979
fieldsTestObject.put("updated", "2022-07-06T21:12:23.106-0700");
8080
issueBean.setFields(fieldsTestObject);
81-
assertEquals(issueBean.getCreatedTimeMillis(), 1720325543000L);
82-
assertEquals(issueBean.getUpdatedTimeMillis(), 1657167143000L);
81+
assertEquals(1720325543437L, issueBean.getCreatedTimeMillis());
82+
assertEquals(1657167143106L, issueBean.getUpdatedTimeMillis());
8383
}
8484

8585
@Test

0 commit comments

Comments
 (0)