1
0
Fork 0

Add timeSpent and timeSpentSeconds to TimeTracking

master
Gabriel Such 2014-02-04 12:25:43 -08:00 committed by Bob Carroll
parent 0208094aa9
commit 5cb2b580ae
3 changed files with 229 additions and 188 deletions

View File

@ -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;
}
}

View File

@ -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());
}
}

View File

@ -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\": \"&#116;&#104;&#105;&#115;&#32;&#105;&#115;&#32;&#110;&#111;&#116;&#32;&#114;&#101;&#97;&#108;&#108;&#121;&#32;&#97;&#115;&#115;&#105;&#103;&#110;&#101;&#100;&#32;&#116;&#111;&#32;&#109;&#101;&#44;&#32;&#106;&#117;&#115;&#116;&#32;&#116;&#101;&#115;&#116;&#105;&#110;&#103;&#32;&#111;&#117;&#116;&#32;&#116;&#104;&#101;&#32;&#105;&#110;&#116;&#101;&#108;&#108;&#105;&#106;&#32;&#45;&#32;&#106;&#105;&#114;&#97;&#32;&#112;&#108;&#117;&#103;&#105;&#110;&#32;&#58;&#41;\",\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\": \"&#116;&#104;&#105;&#115;&#32;&#105;&#115;&#32;&#110;&#111;&#116;&#32;&#114;&#101;&#97;&#108;&#108;&#121;&#32;&#97;&#115;&#115;&#105;&#103;&#110;&#101;&#100;&#32;&#116;&#111;&#32;&#109;&#101;&#44;&#32;&#106;&#117;&#115;&#116;&#32;&#116;&#101;&#115;&#116;&#105;&#110;&#103;&#32;&#111;&#117;&#116;&#32;&#116;&#104;&#101;&#32;&#105;&#110;&#116;&#101;&#108;&#108;&#105;&#106;&#32;&#45;&#32;&#106;&#105;&#114;&#97;&#32;&#112;&#108;&#117;&#103;&#105;&#110;&#32;&#58;&#41;\",\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;
}