From 5cb2b580ae893478d9631ac2a284bfda0501e331 Mon Sep 17 00:00:00 2001 From: Gabriel Such Date: Tue, 4 Feb 2014 12:25:43 -0800 Subject: [PATCH] Add timeSpent and timeSpentSeconds to TimeTracking --- .../net/rcarz/jiraclient/TimeTracking.java | 16 +- .../rcarz/jiraclient/TimeTrackingTest.java | 24 ++ src/test/java/net/rcarz/jiraclient/Utils.java | 377 +++++++++--------- 3 files changed, 229 insertions(+), 188 deletions(-) create mode 100644 src/test/java/net/rcarz/jiraclient/TimeTrackingTest.java diff --git a/src/main/java/net/rcarz/jiraclient/TimeTracking.java b/src/main/java/net/rcarz/jiraclient/TimeTracking.java index 28b0b97..9f6cf13 100644 --- a/src/main/java/net/rcarz/jiraclient/TimeTracking.java +++ b/src/main/java/net/rcarz/jiraclient/TimeTracking.java @@ -30,8 +30,10 @@ public class TimeTracking { private String originalEstimate = null; private String remainingEstimate = null; + private String timeSpent = null; private int originalEstimateSeconds = 0; private int remainingEstimateSeconds = 0; + private int timeSpentSeconds = 0; /** * Creates a time tracking structure from a JSON payload. @@ -39,12 +41,14 @@ public class TimeTracking { * @param json JSON payload */ protected TimeTracking(JSONObject json) { - Map map = json; + Map map = json; originalEstimate = Field.getString(map.get("originalEstimate")); remainingEstimate = Field.getString(map.get("remainingEstimate")); + timeSpent = Field.getString(map.get("timeSpent")); originalEstimateSeconds = Field.getInteger(map.get("originalEstimateSeconds")); remainingEstimateSeconds = Field.getInteger(map.get("remainingEstimateSeconds")); + timeSpentSeconds = Field.getInteger(map.get("timeSpentSeconds")); } public String getOriginalEstimate() { @@ -55,6 +59,10 @@ public class TimeTracking { return remainingEstimate; } + public String getTimeSpent() { + return timeSpent; + } + public int getOriginalEstimateSeconds() { return originalEstimateSeconds; } @@ -62,5 +70,9 @@ public class TimeTracking { public int getRemainingEstimateSeconds() { return remainingEstimateSeconds; } -} + public int getTimeSpentSeconds() { + return timeSpentSeconds; + } + +} diff --git a/src/test/java/net/rcarz/jiraclient/TimeTrackingTest.java b/src/test/java/net/rcarz/jiraclient/TimeTrackingTest.java new file mode 100644 index 0000000..ceede02 --- /dev/null +++ b/src/test/java/net/rcarz/jiraclient/TimeTrackingTest.java @@ -0,0 +1,24 @@ +package net.rcarz.jiraclient; + +import static junit.framework.Assert.assertEquals; + +import org.junit.Test; + +public class TimeTrackingTest { + + private Issue issue = new Issue(null, Utils.getTestIssue()); + private TimeTracking time = issue.getTimeTracking(); + + @Test + public void testAttributeMappings() { + assertEquals("1w", time.getOriginalEstimate()); + assertEquals(144000, time.getOriginalEstimateSeconds()); + + assertEquals("2d", time.getRemainingEstimate()); + assertEquals(57600, time.getRemainingEstimateSeconds()); + + assertEquals("3d", time.getTimeSpent()); + assertEquals(86400, time.getTimeSpentSeconds()); + } + +} diff --git a/src/test/java/net/rcarz/jiraclient/Utils.java b/src/test/java/net/rcarz/jiraclient/Utils.java index 9845785..03815ab 100644 --- a/src/test/java/net/rcarz/jiraclient/Utils.java +++ b/src/test/java/net/rcarz/jiraclient/Utils.java @@ -7,192 +7,197 @@ public class Utils { public static JSONObject getTestIssue() { JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON("{\n" + - " \"expand\": \"renderedFields,names,schema,transitions,operations,editmeta,changelog\",\n" + - " \"id\": \"10742\",\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/latest/issue/10742\",\n" + - " \"key\": \"FILTA-43\",\n" + - " \"fields\": {\n" + - " \"progress\": {\n" + - " \"progress\": 0,\n" + - " \"total\": 0\n" + - " },\n" + - " \"summary\": \"Maintain Company Details\",\n" + - " \"timetracking\": {\n" + - " \n" + - " },\n" + - " \"issuetype\": {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/issuetype/7\",\n" + - " \"id\": \"7\",\n" + - " \"description\": \"This is a test issue type.\",\n" + - " \"iconUrl\": \"https://brainbubble.atlassian.net/images/icons/issuetypes/story.png\",\n" + - " \"name\": \"Story\",\n" + - " \"subtask\": false\n" + - " },\n" + - " \"votes\": {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/issue/FILTA-43/votes\",\n" + - " \"votes\": 0,\n" + - " \"hasVoted\": false\n" + - " },\n" + - " \"resolution\": null,\n" + - " \"fixVersions\": [\n" + - " {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/version/10200\",\n" + - " \"id\": \"10200\",\n" + - " \"description\": \"First Full Functional Build\",\n" + - " \"name\": \"1.0\",\n" + - " \"archived\": false,\n" + - " \"released\": false,\n" + - " \"releaseDate\": \"2013-12-01\"\n" + - " }\n" + - " ],\n" + - " \"resolutiondate\": null,\n" + - " \"timespent\": null,\n" + - " \"reporter\": {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\",\n" + - " \"name\": \"joseph\",\n" + - " \"emailAddress\": \"joseph.b.mccarthy2012@googlemail.com\",\n" + - " \"avatarUrls\": {\n" + - " \"16x16\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" + - " \"24x24\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" + - " \"32x32\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\",\n" + - " \"48x48\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\"\n" + - " },\n" + - " \"displayName\": \"Joseph McCarthy\",\n" + - " \"active\": true\n" + - " },\n" + - " \"aggregatetimeoriginalestimate\": null,\n" + - " \"created\": \"2013-09-29T20:16:19.854+0100\",\n" + - " \"updated\": \"2013-10-09T22:24:55.961+0100\",\n" + - " \"description\": \"{panel:title=Description|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}\\r\\nAs a company / admin\\r\\n\\r\\nI want to update the company details like contact details / name and so on\\r\\n\\r\\nSo that their details are up to date\\r\\n{panel}\\r\\n\\r\\n{panel:title=Acceptance Criteria|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}\\r\\nCan I change the company name?\\r\\nCan I change our emails, addresses and phone number etc?\\r\\nCan I change my invoicing details?\\r\\nCan I change our application service agreement?\\r\\n{panel}\",\n" + - " \"priority\": {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/priority/3\",\n" + - " \"iconUrl\": \"https://brainbubble.atlassian.net/images/icons/priorities/major.png\",\n" + - " \"name\": \"Major\",\n" + - " \"id\": \"3\"\n" + - " },\n" + - " \"duedate\": null,\n" + - " \"customfield_10001\": null,\n" + - " \"customfield_10002\": null,\n" + - " \"customfield_10003\": null,\n" + - " \"issuelinks\": [\n" + - " \n" + - " ],\n" + - " \"customfield_10004\": null,\n" + - " \"watches\": {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/issue/FILTA-43/watchers\",\n" + - " \"watchCount\": 0,\n" + - " \"isWatching\": false\n" + - " },\n" + - " \"worklog\": {\n" + - " \"startAt\": 0,\n" + - " \"maxResults\": 20,\n" + - " \"total\": 0,\n" + - " \"worklogs\": [\n" + - " \n" + - " ]\n" + - " },\n" + - " \"customfield_10000\": null,\n" + - " \"subtasks\": [\n" + - " \n" + - " ],\n" + - " \"status\": {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/status/10004\",\n" + - " \"description\": \"Issue is currently in progress.\",\n" + - " \"iconUrl\": \"https://brainbubble.atlassian.net/images/icons/statuses/open.png\",\n" + - " \"name\": \"To Do\",\n" + - " \"id\": \"10004\"\n" + - " },\n" + - " \"customfield_10007\": null,\n" + - " \"customfield_10006\": \"90\",\n" + - " \"labels\": [\n" + - " \n" + - " ],\n" + - " \"customfield_10005\": null,\n" + - " \"workratio\": -1,\n" + - " \"assignee\": null,\n" + - " \"attachment\": [\n" + - " \n" + - " ],\n" + - " \"customfield_10200\": null,\n" + - " \"aggregatetimeestimate\": null,\n" + - " \"project\": {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/project/10501\",\n" + - " \"id\": \"10501\",\n" + - " \"key\": \"FILTA\",\n" + - " \"name\": \"Filta\",\n" + - " \"avatarUrls\": {\n" + - " \"16x16\": \"https://brainbubble.atlassian.net/secure/projectavatar?size=xsmall&pid=10501&avatarId=10307\",\n" + - " \"24x24\": \"https://brainbubble.atlassian.net/secure/projectavatar?size=small&pid=10501&avatarId=10307\",\n" + - " \"32x32\": \"https://brainbubble.atlassian.net/secure/projectavatar?size=medium&pid=10501&avatarId=10307\",\n" + - " \"48x48\": \"https://brainbubble.atlassian.net/secure/projectavatar?pid=10501&avatarId=10307\"\n" + - " }\n" + - " },\n" + - " \"versions\": [\n" + - " \n" + - " ],\n" + - " \"environment\": null,\n" + - " \"timeestimate\": null,\n" + - " \"lastViewed\": \"2013-11-24T16:37:50.358+0000\",\n" + - " \"aggregateprogress\": {\n" + - " \"progress\": 0,\n" + - " \"total\": 0\n" + - " },\n" + - " \"components\": [\n" + - " {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/component/10303\",\n" + - " \"id\": \"10303\",\n" + - " \"name\": \"Account Management\"\n" + - " },\n" + - " {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/component/10301\",\n" + - " \"id\": \"10301\",\n" + - " \"name\": \"User Management\"\n" + - " }\n" + - " ],\n" + - " \"comment\": {\n" + - " \"startAt\": 0,\n" + - " \"maxResults\": 1,\n" + - " \"total\": 1,\n" + - " \"comments\": [\n" + - " {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/issue/10742/comment/10500\",\n" + - " \"id\": \"10500\",\n" + - " \"author\": {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\",\n" + - " \"name\": \"joseph\",\n" + - " \"emailAddress\": \"joseph.b.mccarthy2012@googlemail.com\",\n" + - " \"avatarUrls\": {\n" + - " \"16x16\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" + - " \"24x24\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" + - " \"32x32\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\",\n" + - " \"48x48\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\"\n" + - " },\n" + - " \"displayName\": \"Joseph McCarthy\",\n" + - " \"active\": true\n" + - " },\n" + - " \"body\": \"this is not really assigned to me, just testing out the intellij - jira plugin :)\",\n" + - " \"updateAuthor\": {\n" + - " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\",\n" + - " \"name\": \"joseph\",\n" + - " \"emailAddress\": \"joseph.b.mccarthy2012@googlemail.com\",\n" + - " \"avatarUrls\": {\n" + - " \"16x16\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" + - " \"24x24\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" + - " \"32x32\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\",\n" + - " \"48x48\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\"\n" + - " },\n" + - " \"displayName\": \"Joseph McCarthy\",\n" + - " \"active\": true\n" + - " },\n" + - " \"created\": \"2013-10-09T22:14:54.979+0100\",\n" + - " \"updated\": \"2013-10-09T22:24:55.956+0100\"\n" + - " }\n" + - " ]\n" + - " },\n" + - " \"timeoriginalestimate\": null,\n" + - " \"aggregatetimespent\": null\n" + - " }\n" + - "}"); + " \"expand\": \"renderedFields,names,schema,transitions,operations,editmeta,changelog\",\n" + + " \"id\": \"10742\",\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/latest/issue/10742\",\n" + + " \"key\": \"FILTA-43\",\n" + + " \"fields\": {\n" + + " \"progress\": {\n" + + " \"progress\": 0,\n" + + " \"total\": 0\n" + + " },\n" + + " \"summary\": \"Maintain Company Details\",\n" + + " \"timetracking\": {\n" + + " \"originalEstimate\": \"1w\",\n" + + " \"remainingEstimate\": \"2d\",\n" + + " \"timeSpent\": \"3d\",\n" + + " \"originalEstimateSeconds\": 144000,\n" + + " \"remainingEstimateSeconds\": 57600,\n" + + " \"timeSpentSeconds\": 86400\n" + + " },\n" + + " \"issuetype\": {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/issuetype/7\",\n" + + " \"id\": \"7\",\n" + + " \"description\": \"This is a test issue type.\",\n" + + " \"iconUrl\": \"https://brainbubble.atlassian.net/images/icons/issuetypes/story.png\",\n" + + " \"name\": \"Story\",\n" + + " \"subtask\": false\n" + + " },\n" + + " \"votes\": {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/issue/FILTA-43/votes\",\n" + + " \"votes\": 0,\n" + + " \"hasVoted\": false\n" + + " },\n" + + " \"resolution\": null,\n" + + " \"fixVersions\": [\n" + + " {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/version/10200\",\n" + + " \"id\": \"10200\",\n" + + " \"description\": \"First Full Functional Build\",\n" + + " \"name\": \"1.0\",\n" + + " \"archived\": false,\n" + + " \"released\": false,\n" + + " \"releaseDate\": \"2013-12-01\"\n" + + " }\n" + + " ],\n" + + " \"resolutiondate\": null,\n" + + " \"timespent\": null,\n" + + " \"reporter\": {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\",\n" + + " \"name\": \"joseph\",\n" + + " \"emailAddress\": \"joseph.b.mccarthy2012@googlemail.com\",\n" + + " \"avatarUrls\": {\n" + + " \"16x16\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" + + " \"24x24\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" + + " \"32x32\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\",\n" + + " \"48x48\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\"\n" + + " },\n" + + " \"displayName\": \"Joseph McCarthy\",\n" + + " \"active\": true\n" + + " },\n" + + " \"aggregatetimeoriginalestimate\": null,\n" + + " \"created\": \"2013-09-29T20:16:19.854+0100\",\n" + + " \"updated\": \"2013-10-09T22:24:55.961+0100\",\n" + + " \"description\": \"{panel:title=Description|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}\\r\\nAs a company / admin\\r\\n\\r\\nI want to update the company details like contact details / name and so on\\r\\n\\r\\nSo that their details are up to date\\r\\n{panel}\\r\\n\\r\\n{panel:title=Acceptance Criteria|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}\\r\\nCan I change the company name?\\r\\nCan I change our emails, addresses and phone number etc?\\r\\nCan I change my invoicing details?\\r\\nCan I change our application service agreement?\\r\\n{panel}\",\n" + + " \"priority\": {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/priority/3\",\n" + + " \"iconUrl\": \"https://brainbubble.atlassian.net/images/icons/priorities/major.png\",\n" + + " \"name\": \"Major\",\n" + + " \"id\": \"3\"\n" + + " },\n" + + " \"duedate\": null,\n" + + " \"customfield_10001\": null,\n" + + " \"customfield_10002\": null,\n" + + " \"customfield_10003\": null,\n" + + " \"issuelinks\": [\n" + + " \n" + + " ],\n" + + " \"customfield_10004\": null,\n" + + " \"watches\": {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/issue/FILTA-43/watchers\",\n" + + " \"watchCount\": 0,\n" + + " \"isWatching\": false\n" + + " },\n" + + " \"worklog\": {\n" + + " \"startAt\": 0,\n" + + " \"maxResults\": 20,\n" + + " \"total\": 0,\n" + + " \"worklogs\": [\n" + + " \n" + + " ]\n" + + " },\n" + + " \"customfield_10000\": null,\n" + + " \"subtasks\": [\n" + + " \n" + + " ],\n" + + " \"status\": {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/status/10004\",\n" + + " \"description\": \"Issue is currently in progress.\",\n" + + " \"iconUrl\": \"https://brainbubble.atlassian.net/images/icons/statuses/open.png\",\n" + + " \"name\": \"To Do\",\n" + + " \"id\": \"10004\"\n" + + " },\n" + + " \"customfield_10007\": null,\n" + + " \"customfield_10006\": \"90\",\n" + + " \"labels\": [\n" + + " \n" + + " ],\n" + + " \"customfield_10005\": null,\n" + + " \"workratio\": -1,\n" + + " \"assignee\": null,\n" + + " \"attachment\": [\n" + + " \n" + + " ],\n" + + " \"customfield_10200\": null,\n" + + " \"aggregatetimeestimate\": null,\n" + + " \"project\": {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/project/10501\",\n" + + " \"id\": \"10501\",\n" + + " \"key\": \"FILTA\",\n" + + " \"name\": \"Filta\",\n" + + " \"avatarUrls\": {\n" + + " \"16x16\": \"https://brainbubble.atlassian.net/secure/projectavatar?size=xsmall&pid=10501&avatarId=10307\",\n" + + " \"24x24\": \"https://brainbubble.atlassian.net/secure/projectavatar?size=small&pid=10501&avatarId=10307\",\n" + + " \"32x32\": \"https://brainbubble.atlassian.net/secure/projectavatar?size=medium&pid=10501&avatarId=10307\",\n" + + " \"48x48\": \"https://brainbubble.atlassian.net/secure/projectavatar?pid=10501&avatarId=10307\"\n" + + " }\n" + + " },\n" + + " \"versions\": [\n" + + " \n" + + " ],\n" + + " \"environment\": null,\n" + + " \"timeestimate\": null,\n" + + " \"lastViewed\": \"2013-11-24T16:37:50.358+0000\",\n" + + " \"aggregateprogress\": {\n" + + " \"progress\": 0,\n" + + " \"total\": 0\n" + + " },\n" + + " \"components\": [\n" + + " {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/component/10303\",\n" + + " \"id\": \"10303\",\n" + + " \"name\": \"Account Management\"\n" + + " },\n" + + " {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/component/10301\",\n" + + " \"id\": \"10301\",\n" + + " \"name\": \"User Management\"\n" + + " }\n" + + " ],\n" + + " \"comment\": {\n" + + " \"startAt\": 0,\n" + + " \"maxResults\": 1,\n" + + " \"total\": 1,\n" + + " \"comments\": [\n" + + " {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/issue/10742/comment/10500\",\n" + + " \"id\": \"10500\",\n" + + " \"author\": {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\",\n" + + " \"name\": \"joseph\",\n" + + " \"emailAddress\": \"joseph.b.mccarthy2012@googlemail.com\",\n" + + " \"avatarUrls\": {\n" + + " \"16x16\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" + + " \"24x24\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" + + " \"32x32\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\",\n" + + " \"48x48\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\"\n" + + " },\n" + + " \"displayName\": \"Joseph McCarthy\",\n" + + " \"active\": true\n" + + " },\n" + + " \"body\": \"this is not really assigned to me, just testing out the intellij - jira plugin :)\",\n" + + " \"updateAuthor\": {\n" + + " \"self\": \"https://brainbubble.atlassian.net/rest/api/2/user?username=joseph\",\n" + + " \"name\": \"joseph\",\n" + + " \"emailAddress\": \"joseph.b.mccarthy2012@googlemail.com\",\n" + + " \"avatarUrls\": {\n" + + " \"16x16\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16\",\n" + + " \"24x24\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24\",\n" + + " \"32x32\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32\",\n" + + " \"48x48\": \"https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48\"\n" + + " },\n" + + " \"displayName\": \"Joseph McCarthy\",\n" + + " \"active\": true\n" + + " },\n" + + " \"created\": \"2013-10-09T22:14:54.979+0100\",\n" + + " \"updated\": \"2013-10-09T22:24:55.956+0100\"\n" + + " }\n" + + " ]\n" + + " },\n" + + " \"timeoriginalestimate\": null,\n" + + " \"aggregatetimespent\": null\n" + + " }\n" + + "}"); return jsonObject; }