{ "id": "154675", "key": "MOD-2255", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10034", "key": "MOD", "name": "Appcelerator Modules", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "18090", "name": "ACA 1.0.0", "archived": false, "released": true } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-05-19T08:21:36.000+0000", "created": "2016-02-03T05:23:30.000+0000", "epic": { "id": 153869, "key": "TIMOB-20150", "name": "Reporting Client crashes to appcelerator crash server", "summary": "Discussion on binary crash and dSYM file for each platform", "color": { "key": "color_1" }, "done": false }, "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [ { "id": "50430", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "outwardIssue": { "id": "154674", "key": "MOD-2254", "fields": { "summary": "iOS: Upload crash reports to crash server", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "50668", "type": { "id": "10122", "name": "Gantt: start-finish", "inward": "is triggered by", "outward": "is triggering" }, "outwardIssue": { "id": "155053", "key": "NATIVESDK-340", "fields": { "summary": "Android: APS SDK uses Apache HttpClient. These needs to be replaced.", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "51203", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "155170", "key": "MOD-2256", "fields": { "summary": "Ti.Crash events should change \"value\" in the data payload to \"stack\"", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "updated": "2018-08-06T17:49:37.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "15013", "name": "ACA", "description": "replacement for APM (Crittercism)" } ], "description": "Using ACRA lib, we should replace our crittercism module and upload crash reports as analytic events to our own PEM crash server.\r\n\r\nhere's a quick idea of what the JSON should look like:\r\n{code}\r\nid - random event id\r\nsid - session of the app (if you can get it, otherwise no worries)\r\nevent - \"native.crash\"\r\nts - timestamp of the event\r\ndata.stack - this seems better than just \"value\"\r\nmid - the device id, if you can get it\r\naguid - the app guid\r\nplatform - the platform of the app\r\napp_version - the version of the app\r\n{code}\r\n\r\nand some references:\r\nhttps://github.com/appcelerator/nodeable/blob/master/common-test/src/main/resources/crash_event.json\r\nhttps://github.com/appcelerator/crash-analytics-server/blob/master/lib/consumer.js#L39-L55", "attachment": [ { "id": "58292", "filename": "android_sample1.json", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-22T03:22:10.000+0000", "size": 463, "mimeType": "application/json" }, { "id": "58291", "filename": "android_sample2.json", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-22T03:22:10.000+0000", "size": 4644, "mimeType": "application/json" }, { "id": "59308", "filename": "sampleNodeServer.js", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-05-19T08:29:26.000+0000", "size": 777, "mimeType": "text/javascript" } ], "flagged": false, "summary": "Android: Upload crash reports to crash server", "creator": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 627, "state": "closed", "name": "2016 Sprint 10 SDK", "startDate": "2016-05-07T00:43:56.954Z", "endDate": "2016-05-21T00:43:00.000Z", "completeDate": "2016-05-23T02:06:04.349Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "377483", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "[~iwhitfield] Sample from Android: [^android_sample2.json] [^android_sample1.json]\r\n\r\nIt's similar to iOS.", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-22T03:22:40.000+0000", "updated": "2016-02-22T03:22:40.000+0000" }, { "id": "377533", "author": { "name": "iwhitfield", "key": "iwhitfield", "displayName": "Isaac Whitfield", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~msamah] cool thanks! Minor point - dates and stuff will skew unique crash stacks - can they be stripped out? (they start each line)", "updateAuthor": { "name": "iwhitfield", "key": "iwhitfield", "displayName": "Isaac Whitfield", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-02-22T17:33:19.000+0000", "updated": "2016-02-22T17:33:19.000+0000" }, { "id": "377578", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "[~iwhitfield] Which part are you referring to? The dates inside the \"data.stack\"? The logs?\r\n\r\nHmmm... I'll have to check if it's easy to strip them out. It's bad for end point?\r\n\r\nWill update you.", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-23T02:28:19.000+0000", "updated": "2016-02-23T02:28:19.000+0000" }, { "id": "378097", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "Events to be named: \"crash.native\" rather than \"native.crash\" (From [~iwhitfield])\r\n[~ssombhatla] Fyi.", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-29T02:21:06.000+0000", "updated": "2016-02-29T02:21:15.000+0000" }, { "id": "378236", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "Just a note:-\r\nCrittercism is able to catch NDK crashes.\r\n\r\nACRA's NDK crash catching is very limited:-\r\n\r\nhttps://github.com/ACRA/acra/issues/129\r\n{quote}\r\nOnly if that NDK crash bubbles up as a Java RuntimeException/Error.\r\nIt can catch a segmentation fault.\r\n{quote}\r\n\r\nhttps://github.com/acra/acra/wiki/AdvancedUsage#catching-native-code-errors\r\n{quote}\r\nCatching Native Code errors\r\nACRA does not catch errors occurring in native code. We currently don't know any stable solution to catch native errors with ACRA.\r\n{quote}\r\n", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-03-01T07:00:30.000+0000", "updated": "2016-03-01T07:00:30.000+0000" }, { "id": "378239", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "Putting another sample crash here for ref:-\r\n{code}\r\n{\r\n \"id\": \"af6fa75d-3a12-421f-84dc-f34204abac60\",\r\n \"event\": \"crash.native\",\r\n \"ts\": \"2016-02-29T23:49:55.604-08:00\",\r\n \"data\": {\r\n \"stack\": \"java.lang.Throwable: Uncaught Error: throw with null exception (APM.crashApp();)\\n\\tat Unknown.Unknown(app.js:12)\\n\"\r\n },\r\n \"aguid\": \"205adfa3-9587-423b-9aaa-bb61a58ac976\",\r\n \"platform\": \"android\",\r\n \"app_version\": \"1.0\"\r\n}\r\n{code}\r\n\r\n`sid` and `mid` are not included.", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-03-01T07:52:12.000+0000", "updated": "2016-03-01T07:52:43.000+0000" }, { "id": "440251", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Cleaning up older fixed issues. If this issue should not have been closed as fixed, please reopen.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-08-06T17:49:37.000+0000", "updated": "2018-08-06T17:49:37.000+0000" } ], "maxResults": 16, "total": 16, "startAt": 0 } } }