Comments (11)
I am guessing that whatever CircleCI is returning back in some cases is not able to be parsed as JSON for whatever reason: https://github.com/mtchavez/circleci/blob/master/lib/circleci/http.rb#L43
Can you provide an example response that is not being parsed?
from circleci.
Hi! CircleCI engineer here. As far as I can tell, we're not returning invalid JSON for tinkerbox/uniclimb, but I'd be interested to see what @ugoa is getting on his end, too.
My two cents: JSON.parse(body) rescue body
seems likely to cause unexpected behavior like this -- wouldn't it be better to throw?
from circleci.
Sure, here is an example that is being parsed wrong. It looks complex, but it's really just something like "[1, 2, 3, 4, 5]". You can see inside the string it's actually a regular Array.
pry(main)> res.body
"[{\"dont_build\":null,\"committer_name\":\"Shinn Chong\",\"usage_queued_at\":\"2014-04-28T15:01:59.826Z\",\"branch\":\"master\",\"body\":\"Third-party authentication services\",\"author_date\":\"2014-04-28T23:01:55+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64703,\"public_ip_addr\":\"23.21.15.127\"}],\"committer_date\":\"2014-04-28T23:01:55+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/bce9536f154d...7ee1528d0ae0\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":49194,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-28T15:02:00.443Z\",\"stop_time\":\"2014-04-28T15:02:49.637Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Merge pull request #7 from tinkerbox/feature/external\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":31555,\"status\":\"success\",\"build_num\":17},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"7ee1528d0ae0014ff4529b0c5b3c0d7e7152541a\",\"build_num\":24,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":31555,\"status\":\"success\",\"build_num\":17},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Remove secrets.yml from git\",\"author_date\":\"2014-04-25T14:12:11+08:00\",\"committer_date\":\"2014-04-25T14:12:11+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/260c4688baff60f6d8ea7140ce3d6d6e46ff995c\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds omniauth stratergies\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"260c4688baff60f6d8ea7140ce3d6d6e46ff995c\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Remove unnecessary dependency for sorcery\",\"author_date\":\"2014-04-25T14:13:38+08:00\",\"committer_date\":\"2014-04-25T14:13:38+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/05e363382bb48376b39781995363a0104aaa4f5f\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add user and authentication relationship\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"05e363382bb48376b39781995363a0104aaa4f5f\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-25T14:46:11+08:00\",\"committer_date\":\"2014-04-25T14:46:11+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/53b25d772f786e0b7492083b729485f9b0da1877\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Config omniauth and add sample secrets.yml\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"53b25d772f786e0b7492083b729485f9b0da1877\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-25T14:50:46+08:00\",\"committer_date\":\"2014-04-25T14:50:46+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/3d2af6a60d9225995552b70303e0cd9cd600bfb3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Update readme\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"3d2af6a60d9225995552b70303e0cd9cd600bfb3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Adds test spec for authentication (iCloud)\",\"author_date\":\"2014-04-25T18:45:40+08:00\",\"committer_date\":\"2014-04-25T18:45:40+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/0dcad5a7428a78a3a8da867870281486fadbaa11\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Ability to add oauth services (WIP)\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"0dcad5a7428a78a3a8da867870281486fadbaa11\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-25T19:10:26+08:00\",\"committer_date\":\"2014-04-25T19:10:26+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/32bab596fa53565d26205af54e042e67b8de4d77\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Update text\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"32bab596fa53565d26205af54e042e67b8de4d77\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-25T19:33:02+08:00\",\"committer_date\":\"2014-04-25T19:33:02+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/3dc0048e297ccd5c57d677541bf68163a55f1fdd\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Use dotenv instead of secrets.yml\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"3dc0048e297ccd5c57d677541bf68163a55f1fdd\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-25T19:35:14+08:00\",\"committer_date\":\"2014-04-25T19:35:14+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/3ce2bec869da9b5bf22efe4d94087d74c67019e6\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Fix copy and paste typo \xF0\x9F\x98\x9D\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"3ce2bec869da9b5bf22efe4d94087d74c67019e6\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-28T13:09:11+08:00\",\"committer_date\":\"2014-04-28T13:09:11+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/e231bff03eff0c01dde96d91c2dae86db716c514\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds pry-remote\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"e231bff03eff0c01dde96d91c2dae86db716c514\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-28T14:51:41+08:00\",\"committer_date\":\"2014-04-28T14:51:41+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/564849089208f940c11465d1b0323d16dd8d6757\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Makes windows live and google works\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"564849089208f940c11465d1b0323d16dd8d6757\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-28T21:57:28+08:00\",\"committer_date\":\"2014-04-28T21:57:28+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/90a08978f146fb25566cf69014ecf72e5853d2a1\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Fix google oauth callback issue\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"90a08978f146fb25566cf69014ecf72e5853d2a1\",\"author_name\":\"shinn\"},{\"committer_name\":\"Shinn Chong\",\"branch\":\"master\",\"body\":\"Third-party authentication services\",\"author_date\":\"2014-04-28T23:01:55+08:00\",\"committer_date\":\"2014-04-28T23:01:55+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/7ee1528d0ae0014ff4529b0c5b3c0d7e7152541a\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Merge pull request #7 from tinkerbox/feature/external\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"7ee1528d0ae0014ff4529b0c5b3c0d7e7152541a\",\"author_name\":\"Shinn Chong\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/24\",\"feature_flags\":{},\"author_name\":\"Shinn Chong\",\"queued_at\":\"2014-04-28T15:02:00.187Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-28T13:57:47.960Z\",\"branch\":\"feature/external\",\"body\":\"\",\"author_date\":\"2014-04-28T21:57:28+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64772,\"public_ip_addr\":\"54.198.64.245\"}],\"committer_date\":\"2014-04-28T21:57:28+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/564849089208...90a08978f146\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":25410,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-28T13:57:48.173Z\",\"stop_time\":\"2014-04-28T13:58:13.583Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Fix google oauth callback issue\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":34761,\"status\":\"success\",\"build_num\":22},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"90a08978f146fb25566cf69014ecf72e5853d2a1\",\"build_num\":23,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":34761,\"status\":\"success\",\"build_num\":22},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"\",\"author_date\":\"2014-04-28T21:57:28+08:00\",\"committer_date\":\"2014-04-28T21:57:28+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/90a08978f146fb25566cf69014ecf72e5853d2a1\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Fix google oauth callback issue\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"90a08978f146fb25566cf69014ecf72e5853d2a1\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/23\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-28T13:57:48.068Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-28T07:03:34.077Z\",\"branch\":\"feature/external\",\"body\":\"\",\"author_date\":\"2014-04-28T14:51:41+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64751,\"public_ip_addr\":\"54.197.63.225\"}],\"committer_date\":\"2014-04-28T14:51:41+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/3ce2bec869da...564849089208\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":34761,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-28T07:03:34.121Z\",\"stop_time\":\"2014-04-28T07:04:08.882Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Makes windows live and google works\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":40106,\"status\":\"success\",\"build_num\":21},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"564849089208f940c11465d1b0323d16dd8d6757\",\"build_num\":22,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":40106,\"status\":\"success\",\"build_num\":21},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"\",\"author_date\":\"2014-04-28T13:09:11+08:00\",\"committer_date\":\"2014-04-28T13:09:11+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/e231bff03eff0c01dde96d91c2dae86db716c514\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds pry-remote\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"e231bff03eff0c01dde96d91c2dae86db716c514\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"\",\"author_date\":\"2014-04-28T14:51:41+08:00\",\"committer_date\":\"2014-04-28T14:51:41+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/564849089208f940c11465d1b0323d16dd8d6757\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Makes windows live and google works\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"564849089208f940c11465d1b0323d16dd8d6757\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/22\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-28T07:03:34.031Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-25T11:38:00.637Z\",\"branch\":\"feature/external\",\"body\":\"\",\"author_date\":\"2014-04-25T19:35:14+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64546,\"public_ip_addr\":\"54.227.122.28\"}],\"committer_date\":\"2014-04-25T19:35:14+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/3dc0048e297c...3ce2bec869da\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":40106,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-25T11:38:00.814Z\",\"stop_time\":\"2014-04-25T11:38:40.920Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Fix copy and paste typo \xF0\x9F\x98\x9D\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":39315,\"status\":\"fixed\",\"build_num\":20},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"3ce2bec869da9b5bf22efe4d94087d74c67019e6\",\"build_num\":21,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":39315,\"status\":\"fixed\",\"build_num\":20},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"\",\"author_date\":\"2014-04-25T19:35:14+08:00\",\"committer_date\":\"2014-04-25T19:35:14+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/3ce2bec869da9b5bf22efe4d94087d74c67019e6\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Fix copy and paste typo \xF0\x9F\x98\x9D\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"3ce2bec869da9b5bf22efe4d94087d74c67019e6\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/21\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-25T11:38:00.719Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-25T11:33:17.694Z\",\"branch\":\"feature/external\",\"body\":\"\",\"author_date\":\"2014-04-25T19:33:02+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64628,\"public_ip_addr\":\"23.22.190.165\"}],\"committer_date\":\"2014-04-25T19:33:02+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/32bab596fa53...3dc0048e297c\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":39315,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-25T11:33:17.831Z\",\"stop_time\":\"2014-04-25T11:33:57.146Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Use dotenv instead of secrets.yml\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":31555,\"status\":\"success\",\"build_num\":17},\"outcome\":\"success\",\"status\":\"fixed\",\"vcs_revision\":\"3dc0048e297ccd5c57d677541bf68163a55f1fdd\",\"build_num\":20,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":45121,\"status\":\"failed\",\"build_num\":19},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"\",\"author_date\":\"2014-04-25T19:33:02+08:00\",\"committer_date\":\"2014-04-25T19:33:02+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/3dc0048e297ccd5c57d677541bf68163a55f1fdd\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Use dotenv instead of secrets.yml\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"3dc0048e297ccd5c57d677541bf68163a55f1fdd\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/20\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-25T11:33:17.754Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-25T11:10:41.391Z\",\"branch\":\"feature/external\",\"body\":\"\",\"author_date\":\"2014-04-25T19:10:26+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64774,\"public_ip_addr\":\"54.198.9.193\"}],\"committer_date\":\"2014-04-25T19:10:26+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/0dcad5a7428a...32bab596fa53\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":45121,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-25T11:10:41.622Z\",\"stop_time\":\"2014-04-25T11:11:26.743Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Update text\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":31555,\"status\":\"success\",\"build_num\":17},\"outcome\":\"failed\",\"status\":\"failed\",\"vcs_revision\":\"32bab596fa53565d26205af54e042e67b8de4d77\",\"build_num\":19,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":36802,\"status\":\"failed\",\"build_num\":18},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"\",\"author_date\":\"2014-04-25T19:10:26+08:00\",\"committer_date\":\"2014-04-25T19:10:26+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/32bab596fa53565d26205af54e042e67b8de4d77\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Update text\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"32bab596fa53565d26205af54e042e67b8de4d77\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":true,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/19\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-25T11:10:41.522Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-25T10:46:54.422Z\",\"branch\":\"feature/external\",\"body\":\"- Adds test spec for authentication (iCloud)\",\"author_date\":\"2014-04-25T18:45:40+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64684,\"public_ip_addr\":\"54.204.178.135\"}],\"committer_date\":\"2014-04-25T18:45:40+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/260c4688baff^...0dcad5a7428a\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":36802,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-25T10:49:56.155Z\",\"stop_time\":\"2014-04-25T10:50:32.957Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Ability to add oauth services (WIP)\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":31555,\"status\":\"success\",\"build_num\":17},\"outcome\":\"failed\",\"status\":\"failed\",\"vcs_revision\":\"0dcad5a7428a78a3a8da867870281486fadbaa11\",\"build_num\":18,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":null,\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"- Remove secrets.yml from git\",\"author_date\":\"2014-04-25T14:12:11+08:00\",\"committer_date\":\"2014-04-25T14:12:11+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/260c4688baff60f6d8ea7140ce3d6d6e46ff995c\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds omniauth stratergies\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"260c4688baff60f6d8ea7140ce3d6d6e46ff995c\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"- Remove unnecessary dependency for sorcery\",\"author_date\":\"2014-04-25T14:13:38+08:00\",\"committer_date\":\"2014-04-25T14:13:38+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/05e363382bb48376b39781995363a0104aaa4f5f\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add user and authentication relationship\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"05e363382bb48376b39781995363a0104aaa4f5f\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"\",\"author_date\":\"2014-04-25T14:46:11+08:00\",\"committer_date\":\"2014-04-25T14:46:11+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/53b25d772f786e0b7492083b729485f9b0da1877\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Config omniauth and add sample secrets.yml\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"53b25d772f786e0b7492083b729485f9b0da1877\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"\",\"author_date\":\"2014-04-25T14:50:46+08:00\",\"committer_date\":\"2014-04-25T14:50:46+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/3d2af6a60d9225995552b70303e0cd9cd600bfb3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Update readme\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"3d2af6a60d9225995552b70303e0cd9cd600bfb3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"external\",\"body\":\"- Adds test spec for authentication (iCloud)\",\"author_date\":\"2014-04-25T18:45:40+08:00\",\"committer_date\":\"2014-04-25T18:45:40+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/0dcad5a7428a78a3a8da867870281486fadbaa11\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Ability to add oauth services (WIP)\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"0dcad5a7428a78a3a8da867870281486fadbaa11\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":true,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/18\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-25T10:49:56.024Z\"},{\"dont_build\":null,\"committer_name\":\"Shinn Chong\",\"usage_queued_at\":\"2014-04-25T03:06:32.991Z\",\"branch\":\"master\",\"body\":\"Implements encryption\",\"author_date\":\"2014-04-25T11:06:31+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64760,\"public_ip_addr\":\"54.82.81.141\"}],\"committer_date\":\"2014-04-25T11:06:31+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/e5f1614e1e0e...bce9536f154d\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":31555,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-25T03:06:33.375Z\",\"stop_time\":\"2014-04-25T03:07:04.930Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Merge pull request #6 from tinkerbox/feature/encryption\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":39138,\"status\":\"success\",\"build_num\":14},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"bce9536f154d3ea79c27addfb0cd0ac36c692617\",\"build_num\":17,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":39138,\"status\":\"success\",\"build_num\":14},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-22T13:49:25+08:00\",\"committer_date\":\"2014-04-22T13:49:25+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/f0c662706a4384c005b32eb5cb317b7175854298\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds Forge\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"f0c662706a4384c005b32eb5cb317b7175854298\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-22T15:43:59+08:00\",\"committer_date\":\"2014-04-22T15:43:59+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/12addc9dc6201d769eb7db6c85449cb7e02912ab\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Update authentication schema\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"12addc9dc6201d769eb7db6c85449cb7e02912ab\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Adds Authentication controller\\n - Better iPhone supports\",\"author_date\":\"2014-04-22T17:31:00+08:00\",\"committer_date\":\"2014-04-22T17:31:00+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/5c4e47269c78e97a7a4ee143d8b742b0879ffb86\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds new service pageAdd new service page\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"5c4e47269c78e97a7a4ee143d8b742b0879ffb86\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-22T17:54:53+08:00\",\"committer_date\":\"2014-04-22T17:54:53+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/cab2d63fb37816020fc0656eea8dd891b8fcff75\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add gon\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"cab2d63fb37816020fc0656eea8dd891b8fcff75\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Adds jquery-cookie\\n - Patch util.js \\\\#100 to accept string data\",\"author_date\":\"2014-04-23T18:57:00+08:00\",\"committer_date\":\"2014-04-23T18:57:00+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/aced3be9b10a13f10e54c122a9b5af8340ceb4a2\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Change forge's path\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"aced3be9b10a13f10e54c122a9b5af8340ceb4a2\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- rename authencation_controller to authentications_controller\\n - add user relation to authentications\",\"author_date\":\"2014-04-23T18:59:05+08:00\",\"committer_date\":\"2014-04-23T18:59:05+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/3f70b5a3b76f1d2648adcfbbd1c431ae43c456e5\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds vi to authentications\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"3f70b5a3b76f1d2648adcfbbd1c431ae43c456e5\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Encrypt password fields using master password\\n - Functionality done, WIP to finalize\",\"author_date\":\"2014-04-23T19:01:27+08:00\",\"committer_date\":\"2014-04-23T19:01:27+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/51c471b2ea11b79d02c0ddebf692a313d19998df\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Implements master_password encryption\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"51c471b2ea11b79d02c0ddebf692a313d19998df\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-24T11:43:28+08:00\",\"committer_date\":\"2014-04-24T11:43:28+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/4f0dca72cbaac4574878f5924ff31f751f6629f3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add validations on master password\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"4f0dca72cbaac4574878f5924ff31f751f6629f3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-24T11:48:44+08:00\",\"committer_date\":\"2014-04-24T11:48:44+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/684eeb0c9307c1a5e011c30ef8dfd7ab2a6aab57\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add ActiveRecord::Migration.maintain_test_schema! for rails 4.1\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"684eeb0c9307c1a5e011c30ef8dfd7ab2a6aab57\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-24T17:39:55+08:00\",\"committer_date\":\"2014-04-24T17:39:55+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/41a23fcd6d6a7e53cb6e5e88e8be422991c545b3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds bitmask_attributes\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"41a23fcd6d6a7e53cb6e5e88e8be422991c545b3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-24T17:45:52+08:00\",\"committer_date\":\"2014-04-24T17:45:52+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/84dae1f0410812e1577bb1804da41edaa88ee3a3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"User bitmark instead of enum for sync_status\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"84dae1f0410812e1577bb1804da41edaa88ee3a3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-24T18:34:09+08:00\",\"committer_date\":\"2014-04-24T18:34:09+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/89d98432413f0af3a1ea6d96a6ef14e0ad253de6\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds html5 validation on form submission\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"89d98432413f0af3a1ea6d96a6ef14e0ad253de6\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-24T18:37:46+08:00\",\"committer_date\":\"2014-04-24T18:37:46+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/a7a03cf85c41a599103c41103e12453031cafefb\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Fix typo\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"a7a03cf85c41a599103c41103e12453031cafefb\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-24T18:49:50+08:00\",\"committer_date\":\"2014-04-24T18:49:50+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/e7ba7a8f394b1e730538c57ba78b52a148b86890\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Display all created accounts\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"e7ba7a8f394b1e730538c57ba78b52a148b86890\",\"author_name\":\"shinn\"},{\"committer_name\":\"Shinn Chong\",\"branch\":\"master\",\"body\":\"Implements encryption\",\"author_date\":\"2014-04-25T11:06:31+08:00\",\"committer_date\":\"2014-04-25T11:06:31+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/bce9536f154d3ea79c27addfb0cd0ac36c692617\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Merge pull request #6 from tinkerbox/feature/encryption\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"bce9536f154d3ea79c27addfb0cd0ac36c692617\",\"author_name\":\"Shinn Chong\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/17\",\"feature_flags\":{},\"author_name\":\"Shinn Chong\",\"queued_at\":\"2014-04-25T03:06:33.177Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-24T10:50:22.088Z\",\"branch\":\"feature/encryption\",\"body\":\"\",\"author_date\":\"2014-04-24T18:49:50+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64632,\"public_ip_addr\":\"54.82.252.221\"}],\"committer_date\":\"2014-04-24T18:49:50+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/51c471b2ea11...e7ba7a8f394b\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":35638,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-24T10:50:22.285Z\",\"stop_time\":\"2014-04-24T10:50:57.923Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Display all created accounts\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":34488,\"status\":\"success\",\"build_num\":15},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"e7ba7a8f394b1e730538c57ba78b52a148b86890\",\"build_num\":16,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":34488,\"status\":\"success\",\"build_num\":15},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-24T11:43:28+08:00\",\"committer_date\":\"2014-04-24T11:43:28+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/4f0dca72cbaac4574878f5924ff31f751f6629f3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add validations on master password\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"4f0dca72cbaac4574878f5924ff31f751f6629f3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-24T11:48:44+08:00\",\"committer_date\":\"2014-04-24T11:48:44+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/684eeb0c9307c1a5e011c30ef8dfd7ab2a6aab57\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add ActiveRecord::Migration.maintain_test_schema! for rails 4.1\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"684eeb0c9307c1a5e011c30ef8dfd7ab2a6aab57\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-24T17:39:55+08:00\",\"committer_date\":\"2014-04-24T17:39:55+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/41a23fcd6d6a7e53cb6e5e88e8be422991c545b3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds bitmask_attributes\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"41a23fcd6d6a7e53cb6e5e88e8be422991c545b3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-24T17:45:52+08:00\",\"committer_date\":\"2014-04-24T17:45:52+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/84dae1f0410812e1577bb1804da41edaa88ee3a3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"User bitmark instead of enum for sync_status\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"84dae1f0410812e1577bb1804da41edaa88ee3a3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-24T18:34:09+08:00\",\"committer_date\":\"2014-04-24T18:34:09+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/89d98432413f0af3a1ea6d96a6ef14e0ad253de6\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds html5 validation on form submission\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"89d98432413f0af3a1ea6d96a6ef14e0ad253de6\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-24T18:37:46+08:00\",\"committer_date\":\"2014-04-24T18:37:46+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/a7a03cf85c41a599103c41103e12453031cafefb\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Fix typo\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"a7a03cf85c41a599103c41103e12453031cafefb\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-24T18:49:50+08:00\",\"committer_date\":\"2014-04-24T18:49:50+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/e7ba7a8f394b1e730538c57ba78b52a148b86890\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Display all created accounts\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"e7ba7a8f394b1e730538c57ba78b52a148b86890\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/16\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-24T10:50:22.177Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-23T11:02:30.300Z\",\"branch\":\"feature/encryption\",\"body\":\"- Encrypt password fields using master password\\n - Functionality done, WIP to finalize\",\"author_date\":\"2014-04-23T19:01:27+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64561,\"public_ip_addr\":\"54.81.155.110\"}],\"committer_date\":\"2014-04-23T19:01:27+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/f0c662706a43^...51c471b2ea11\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":34488,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-23T11:02:30.555Z\",\"stop_time\":\"2014-04-23T11:03:05.043Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Implements master_password encryption\",\"messages\":[{\"type\":\"warning\",\"message\":\"Your version of Simplecov has a serious bug affecting exit codes! It can cause your build to pass even when you have failing tests, see <a href='https://github.com/colszowka/simplecov/issues/281'>colszowka/simplecov #281</a>. Please use <code>gem 'simplecov', '~> 0.7.1'</code> until this is resolved.\"}],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":39138,\"status\":\"success\",\"build_num\":14},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"51c471b2ea11b79d02c0ddebf692a313d19998df\",\"build_num\":15,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":null,\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-22T13:49:25+08:00\",\"committer_date\":\"2014-04-22T13:49:25+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/f0c662706a4384c005b32eb5cb317b7175854298\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds Forge\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"f0c662706a4384c005b32eb5cb317b7175854298\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-22T15:43:59+08:00\",\"committer_date\":\"2014-04-22T15:43:59+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/12addc9dc6201d769eb7db6c85449cb7e02912ab\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Update authentication schema\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"12addc9dc6201d769eb7db6c85449cb7e02912ab\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"- Adds Authentication controller\\n - Better iPhone supports\",\"author_date\":\"2014-04-22T17:31:00+08:00\",\"committer_date\":\"2014-04-22T17:31:00+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/5c4e47269c78e97a7a4ee143d8b742b0879ffb86\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds new service pageAdd new service page\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"5c4e47269c78e97a7a4ee143d8b742b0879ffb86\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"\",\"author_date\":\"2014-04-22T17:54:53+08:00\",\"committer_date\":\"2014-04-22T17:54:53+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/cab2d63fb37816020fc0656eea8dd891b8fcff75\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add gon\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"cab2d63fb37816020fc0656eea8dd891b8fcff75\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"- Adds jquery-cookie\\n - Patch util.js \\\\#100 to accept string data\",\"author_date\":\"2014-04-23T18:57:00+08:00\",\"committer_date\":\"2014-04-23T18:57:00+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/aced3be9b10a13f10e54c122a9b5af8340ceb4a2\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Change forge's path\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"aced3be9b10a13f10e54c122a9b5af8340ceb4a2\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"- rename authencation_controller to authentications_controller\\n - add user relation to authentications\",\"author_date\":\"2014-04-23T18:59:05+08:00\",\"committer_date\":\"2014-04-23T18:59:05+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/3f70b5a3b76f1d2648adcfbbd1c431ae43c456e5\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds vi to authentications\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"3f70b5a3b76f1d2648adcfbbd1c431ae43c456e5\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"encryption\",\"body\":\"- Encrypt password fields using master password\\n - Functionality done, WIP to finalize\",\"author_date\":\"2014-04-23T19:01:27+08:00\",\"committer_date\":\"2014-04-23T19:01:27+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/51c471b2ea11b79d02c0ddebf692a313d19998df\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Implements master_password encryption\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"51c471b2ea11b79d02c0ddebf692a313d19998df\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/15\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-23T11:02:30.444Z\"},{\"dont_build\":null,\"committer_name\":\"Shinn Chong\",\"usage_queued_at\":\"2014-04-17T07:54:17.737Z\",\"branch\":\"master\",\"body\":\"Adds authority on admin page\",\"author_date\":\"2014-04-17T15:54:16+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64779,\"public_ip_addr\":\"54.205.53.249\"}],\"committer_date\":\"2014-04-17T15:54:16+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/8bbe224d408b...e5f1614e1e0e\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":39138,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-17T07:54:18.116Z\",\"stop_time\":\"2014-04-17T07:54:57.254Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Merge pull request #5 from tinkerbox/feature/setup\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":30987,\"status\":\"success\",\"build_num\":12},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"e5f1614e1e0ef87aeec7445fe239a47ef8be3192\",\"build_num\":14,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":30987,\"status\":\"success\",\"build_num\":12},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Adds account services page\",\"author_date\":\"2014-04-17T14:32:28+08:00\",\"committer_date\":\"2014-04-17T14:32:28+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/c86cfd91fbffb004558e997014a75dd0f39037be\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds authority on admin page\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"c86cfd91fbffb004558e997014a75dd0f39037be\",\"author_name\":\"shinn\"},{\"committer_name\":\"Shinn Chong\",\"branch\":\"master\",\"body\":\"Adds authority on admin page\",\"author_date\":\"2014-04-17T15:54:16+08:00\",\"committer_date\":\"2014-04-17T15:54:16+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/e5f1614e1e0ef87aeec7445fe239a47ef8be3192\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Merge pull request #5 from tinkerbox/feature/setup\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"e5f1614e1e0ef87aeec7445fe239a47ef8be3192\",\"author_name\":\"Shinn Chong\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/14\",\"feature_flags\":{},\"author_name\":\"Shinn Chong\",\"queued_at\":\"2014-04-17T07:54:17.938Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-17T07:53:38.023Z\",\"branch\":\"feature/setup\",\"body\":\"- Adds account services page\",\"author_date\":\"2014-04-17T14:32:28+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64652,\"public_ip_addr\":\"54.225.21.121\"}],\"committer_date\":\"2014-04-17T14:32:28+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/commit/c86cfd91fbff\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":37804,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-17T07:53:38.317Z\",\"stop_time\":\"2014-04-17T07:54:16.121Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Adds authority on admin page\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":29389,\"status\":\"success\",\"build_num\":11},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"c86cfd91fbffb004558e997014a75dd0f39037be\",\"build_num\":13,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":29389,\"status\":\"success\",\"build_num\":11},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"setup\",\"body\":\"- Adds account services page\",\"author_date\":\"2014-04-17T14:32:28+08:00\",\"committer_date\":\"2014-04-17T14:32:28+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/c86cfd91fbffb004558e997014a75dd0f39037be\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds authority on admin page\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"c86cfd91fbffb004558e997014a75dd0f39037be\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/13\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-17T07:53:38.160Z\"},{\"dont_build\":null,\"committer_name\":\"Shinn Chong\",\"usage_queued_at\":\"2014-04-16T11:42:21.769Z\",\"branch\":\"master\",\"body\":\"Twinning, master password\",\"author_date\":\"2014-04-16T19:42:11+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64612,\"public_ip_addr\":\"23.23.65.75\"}],\"committer_date\":\"2014-04-16T19:42:11+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/d868bd78e251...8bbe224d408b\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":30987,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-16T11:42:22.071Z\",\"stop_time\":\"2014-04-16T11:42:53.058Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Merge pull request #4 from tinkerbox/feature/setup\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":29758,\"status\":\"success\",\"build_num\":10},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"8bbe224d408be5e16ee4c7168e89603bfd761864\",\"build_num\":12,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":29758,\"status\":\"success\",\"build_num\":10},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-16T17:58:01+08:00\",\"committer_date\":\"2014-04-16T17:58:01+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/146f3d76d6983ac6288aae1262e70fc4c8352055\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Setup twinning and master password pages\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"146f3d76d6983ac6288aae1262e70fc4c8352055\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Update login button to show user name\",\"author_date\":\"2014-04-16T19:33:47+08:00\",\"committer_date\":\"2014-04-16T19:33:47+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/dcd4654725e8454afdd44bf0ee539007bd80dac9\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add master password page\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"dcd4654725e8454afdd44bf0ee539007bd80dac9\",\"author_name\":\"shinn\"},{\"committer_name\":\"Shinn Chong\",\"branch\":\"master\",\"body\":\"Twinning, master password\",\"author_date\":\"2014-04-16T19:42:11+08:00\",\"committer_date\":\"2014-04-16T19:42:11+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/8bbe224d408be5e16ee4c7168e89603bfd761864\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Merge pull request #4 from tinkerbox/feature/setup\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"8bbe224d408be5e16ee4c7168e89603bfd761864\",\"author_name\":\"Shinn Chong\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/12\",\"feature_flags\":{},\"author_name\":\"Shinn Chong\",\"queued_at\":\"2014-04-16T11:42:21.958Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-16T11:34:44.242Z\",\"branch\":\"feature/setup\",\"body\":\"- Update login button to show user name\",\"author_date\":\"2014-04-16T19:33:47+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64556,\"public_ip_addr\":\"54.196.30.147\"}],\"committer_date\":\"2014-04-16T19:33:47+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/146f3d76d698^...dcd4654725e8\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":29389,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-16T11:34:44.459Z\",\"stop_time\":\"2014-04-16T11:35:13.848Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Add master password page\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":29758,\"status\":\"success\",\"build_num\":10},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"dcd4654725e8454afdd44bf0ee539007bd80dac9\",\"build_num\":11,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":null,\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"setup\",\"body\":\"\",\"author_date\":\"2014-04-16T17:58:01+08:00\",\"committer_date\":\"2014-04-16T17:58:01+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/146f3d76d6983ac6288aae1262e70fc4c8352055\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Setup twinning and master password pages\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"146f3d76d6983ac6288aae1262e70fc4c8352055\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"setup\",\"body\":\"- Update login button to show user name\",\"author_date\":\"2014-04-16T19:33:47+08:00\",\"committer_date\":\"2014-04-16T19:33:47+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/dcd4654725e8454afdd44bf0ee539007bd80dac9\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add master password page\",\"committer_login\":\"shinnyx\",\"author_login\":\"shinnyx\",\"commit\":\"dcd4654725e8454afdd44bf0ee539007bd80dac9\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/11\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-16T11:34:44.341Z\"},{\"dont_build\":null,\"committer_name\":\"Shinn Chong\",\"usage_queued_at\":\"2014-04-15T11:35:07.393Z\",\"branch\":\"master\",\"body\":\"Reset password\",\"author_date\":\"2014-04-15T19:35:06+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64719,\"public_ip_addr\":\"54.198.13.61\"}],\"committer_date\":\"2014-04-15T19:35:06+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/28d77d4af363...d868bd78e251\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":29758,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-15T11:35:07.768Z\",\"stop_time\":\"2014-04-15T11:35:37.526Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Merge pull request #3 from tinkerbox/feature/reset_password\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":53004,\"status\":\"success\",\"build_num\":8},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"d868bd78e251cc8a495a25fa73f8d99bf0331a3d\",\"build_num\":10,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":53004,\"status\":\"success\",\"build_num\":8},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-15T19:32:18+08:00\",\"committer_date\":\"2014-04-15T19:32:18+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/81281cf9412b5cc6b6b30b36ef439a40303edf3a\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Reset password\",\"commit\":\"81281cf9412b5cc6b6b30b36ef439a40303edf3a\",\"author_name\":\"shinn\"},{\"committer_name\":\"Shinn Chong\",\"branch\":\"master\",\"body\":\"Reset password\",\"author_date\":\"2014-04-15T19:35:06+08:00\",\"committer_date\":\"2014-04-15T19:35:06+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/d868bd78e251cc8a495a25fa73f8d99bf0331a3d\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Merge pull request #3 from tinkerbox/feature/reset_password\",\"commit\":\"d868bd78e251cc8a495a25fa73f8d99bf0331a3d\",\"author_name\":\"Shinn Chong\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/10\",\"feature_flags\":{},\"author_name\":\"Shinn Chong\",\"queued_at\":\"2014-04-15T11:35:07.616Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-15T11:32:41.181Z\",\"branch\":\"feature/reset_password\",\"body\":\"\",\"author_date\":\"2014-04-15T19:32:18+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64787,\"public_ip_addr\":\"54.198.72.255\"}],\"committer_date\":\"2014-04-15T19:32:18+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/commit/81281cf9412b\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":38504,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-15T11:32:41.380Z\",\"stop_time\":\"2014-04-15T11:33:19.884Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Reset password\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":53004,\"status\":\"success\",\"build_num\":8},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"81281cf9412b5cc6b6b30b36ef439a40303edf3a\",\"build_num\":9,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":null,\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"reset_password\",\"body\":\"\",\"author_date\":\"2014-04-15T19:32:18+08:00\",\"committer_date\":\"2014-04-15T19:32:18+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/81281cf9412b5cc6b6b30b36ef439a40303edf3a\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Reset password\",\"commit\":\"81281cf9412b5cc6b6b30b36ef439a40303edf3a\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/9\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-15T11:32:41.265Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-15T10:38:06.758Z\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-15T18:29:14+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64638,\"public_ip_addr\":\"54.80.176.113\"}],\"committer_date\":\"2014-04-15T18:29:14+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/633ddfcb08b4...28d77d4af363\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":53004,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-15T10:38:07.622Z\",\"stop_time\":\"2014-04-15T10:39:00.626Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Implements user registration\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":25944,\"status\":\"success\",\"build_num\":7},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"28d77d4af363c86db49ebdaccc73c690d672b77f\",\"build_num\":8,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":25944,\"status\":\"success\",\"build_num\":7},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-15T16:35:15+08:00\",\"committer_date\":\"2014-04-15T16:35:15+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/c34f7a26d45414dcdd1e118b2a92d89289911451\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Minor UI update, with responsive layout\",\"commit\":\"c34f7a26d45414dcdd1e118b2a92d89289911451\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-15T16:57:20+08:00\",\"committer_date\":\"2014-04-15T16:57:20+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/fbe9958d6fdfcb41466debab3cb83b1d3e2cff08\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add sign in form\",\"commit\":\"fbe9958d6fdfcb41466debab3cb83b1d3e2cff08\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-15T17:27:39+08:00\",\"committer_date\":\"2014-04-15T17:27:39+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/4b29457f6b227e96329384d402a8c3e19ee8a977\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Create users_controller\",\"commit\":\"4b29457f6b227e96329384d402a8c3e19ee8a977\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-15T18:29:14+08:00\",\"committer_date\":\"2014-04-15T18:29:14+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/28d77d4af363c86db49ebdaccc73c690d672b77f\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Implements user registration\",\"commit\":\"28d77d4af363c86db49ebdaccc73c690d672b77f\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/8\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-15T10:38:07.001Z\"},{\"dont_build\":null,\"committer_name\":\"Shinn Chong\",\"usage_queued_at\":\"2014-04-14T09:31:06.663Z\",\"branch\":\"master\",\"body\":\"user login and admin backend\",\"author_date\":\"2014-04-14T17:31:04+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64693,\"public_ip_addr\":\"54.197.71.194\"}],\"committer_date\":\"2014-04-14T17:31:04+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/70d78f1a38de...633ddfcb08b4\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":25944,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-14T09:31:16.829Z\",\"stop_time\":\"2014-04-14T09:31:42.773Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Merge pull request #2 from tinkerbox/feature/backend\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":30555,\"status\":\"success\",\"build_num\":5},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"633ddfcb08b49c32e1ce15917e8374260345b323\",\"build_num\":7,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":30555,\"status\":\"success\",\"build_num\":5},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-14T12:26:35+08:00\",\"committer_date\":\"2014-04-14T12:26:35+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/ddbb041a10ab93805fea57b3ca73273656e46260\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds user login modal\",\"commit\":\"ddbb041a10ab93805fea57b3ca73273656e46260\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-14T14:51:09+08:00\",\"committer_date\":\"2014-04-14T14:51:09+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/6729789f0916fdffaea5a73f0f5edd3ace3d2ccc\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Implements user login\",\"commit\":\"6729789f0916fdffaea5a73f0f5edd3ace3d2ccc\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-14T16:42:17+08:00\",\"committer_date\":\"2014-04-14T16:42:17+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/31be5f5e6089f5b3eaac654614e1d94c7d2cfc5e\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Update spec\",\"commit\":\"31be5f5e6089f5b3eaac654614e1d94c7d2cfc5e\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Add user role\",\"author_date\":\"2014-04-14T17:04:17+08:00\",\"committer_date\":\"2014-04-14T17:04:17+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/d7f8f38466b719a537745683ebd3e1e6a96ff667\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add basic user authority\",\"commit\":\"d7f8f38466b719a537745683ebd3e1e6a96ff667\",\"author_name\":\"shinn\"},{\"committer_name\":\"Shinn Chong\",\"branch\":\"master\",\"body\":\"user login and admin backend\",\"author_date\":\"2014-04-14T17:31:04+08:00\",\"committer_date\":\"2014-04-14T17:31:04+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/633ddfcb08b49c32e1ce15917e8374260345b323\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Merge pull request #2 from tinkerbox/feature/backend\",\"commit\":\"633ddfcb08b49c32e1ce15917e8374260345b323\",\"author_name\":\"Shinn Chong\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/7\",\"feature_flags\":{},\"author_name\":\"Shinn Chong\",\"queued_at\":\"2014-04-14T09:31:16.650Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-14T09:29:34.342Z\",\"branch\":\"feature/backend\",\"body\":\"- Add user role\",\"author_date\":\"2014-04-14T17:04:17+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64580,\"public_ip_addr\":\"54.197.71.194\"}],\"committer_date\":\"2014-04-14T17:04:17+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/ddbb041a10ab^...d7f8f38466b7\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":33882,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-14T09:29:34.562Z\",\"stop_time\":\"2014-04-14T09:30:08.444Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Add basic user authority\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":35502,\"status\":\"success\",\"build_num\":4},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"d7f8f38466b719a537745683ebd3e1e6a96ff667\",\"build_num\":6,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":35502,\"status\":\"success\",\"build_num\":4},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"backend\",\"body\":\"\",\"author_date\":\"2014-04-14T12:26:35+08:00\",\"committer_date\":\"2014-04-14T12:26:35+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/ddbb041a10ab93805fea57b3ca73273656e46260\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Adds user login modal\",\"commit\":\"ddbb041a10ab93805fea57b3ca73273656e46260\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"backend\",\"body\":\"\",\"author_date\":\"2014-04-14T14:51:09+08:00\",\"committer_date\":\"2014-04-14T14:51:09+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/6729789f0916fdffaea5a73f0f5edd3ace3d2ccc\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Implements user login\",\"commit\":\"6729789f0916fdffaea5a73f0f5edd3ace3d2ccc\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"backend\",\"body\":\"\",\"author_date\":\"2014-04-14T16:42:17+08:00\",\"committer_date\":\"2014-04-14T16:42:17+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/31be5f5e6089f5b3eaac654614e1d94c7d2cfc5e\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Update spec\",\"commit\":\"31be5f5e6089f5b3eaac654614e1d94c7d2cfc5e\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"backend\",\"body\":\"- Add user role\",\"author_date\":\"2014-04-14T17:04:17+08:00\",\"committer_date\":\"2014-04-14T17:04:17+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/d7f8f38466b719a537745683ebd3e1e6a96ff667\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Add basic user authority\",\"commit\":\"d7f8f38466b719a537745683ebd3e1e6a96ff667\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/6\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-14T09:29:34.425Z\"},{\"dont_build\":null,\"committer_name\":\"Shinn Chong\",\"usage_queued_at\":\"2014-04-11T10:53:27.477Z\",\"branch\":\"master\",\"body\":\"Backend implementation #1\",\"author_date\":\"2014-04-11T18:53:26+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64583,\"public_ip_addr\":\"54.81.155.110\"}],\"committer_date\":\"2014-04-11T18:53:26+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/4c96ed888c24...70d78f1a38de\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":30555,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-11T10:53:30.173Z\",\"stop_time\":\"2014-04-11T10:54:00.728Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Merge pull request #1 from tinkerbox/feature/backend\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":38025,\"status\":\"success\",\"build_num\":3},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"70d78f1a38de222ffbab42e2363ce9e9cdfec20d\",\"build_num\":5,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":38025,\"status\":\"success\",\"build_num\":3},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- With admin namespaced\\n - Update readme\",\"author_date\":\"2014-04-11T16:21:53+08:00\",\"committer_date\":\"2014-04-11T16:21:53+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/37e1d4393726fe0636225042965a44316868aaec\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Scaffold user backend\",\"commit\":\"37e1d4393726fe0636225042965a44316868aaec\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-11T17:07:48+08:00\",\"committer_date\":\"2014-04-11T17:07:48+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/c4da5b28816d2c91c6d306f3e9974db90b5669c3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Create responsive nav bar\",\"commit\":\"c4da5b28816d2c91c6d306f3e9974db90b5669c3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-11T18:50:19+08:00\",\"committer_date\":\"2014-04-11T18:50:19+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/85bc90b9cf8df09ce7f09de88009e1756d4500b3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Create admin index page\",\"commit\":\"85bc90b9cf8df09ce7f09de88009e1756d4500b3\",\"author_name\":\"shinn\"},{\"committer_name\":\"Shinn Chong\",\"branch\":\"master\",\"body\":\"Backend implementation #1\",\"author_date\":\"2014-04-11T18:53:26+08:00\",\"committer_date\":\"2014-04-11T18:53:26+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/70d78f1a38de222ffbab42e2363ce9e9cdfec20d\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Merge pull request #1 from tinkerbox/feature/backend\",\"commit\":\"70d78f1a38de222ffbab42e2363ce9e9cdfec20d\",\"author_name\":\"Shinn Chong\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/5\",\"feature_flags\":{},\"author_name\":\"Shinn Chong\",\"queued_at\":\"2014-04-11T10:53:27.746Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-11T10:51:22.687Z\",\"branch\":\"feature/backend\",\"body\":\"\",\"author_date\":\"2014-04-11T18:50:19+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64592,\"public_ip_addr\":\"54.80.48.156\"}],\"committer_date\":\"2014-04-11T18:50:19+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/37e1d4393726^...85bc90b9cf8d\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":35502,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-11T10:51:22.796Z\",\"stop_time\":\"2014-04-11T10:51:58.298Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Create admin index page\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":38025,\"status\":\"success\",\"build_num\":3},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"85bc90b9cf8df09ce7f09de88009e1756d4500b3\",\"build_num\":4,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":null,\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"backend\",\"body\":\"- With admin namespaced\\n - Update readme\",\"author_date\":\"2014-04-11T16:21:53+08:00\",\"committer_date\":\"2014-04-11T16:21:53+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/37e1d4393726fe0636225042965a44316868aaec\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Scaffold user backend\",\"commit\":\"37e1d4393726fe0636225042965a44316868aaec\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"backend\",\"body\":\"\",\"author_date\":\"2014-04-11T17:07:48+08:00\",\"committer_date\":\"2014-04-11T17:07:48+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/c4da5b28816d2c91c6d306f3e9974db90b5669c3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Create responsive nav bar\",\"commit\":\"c4da5b28816d2c91c6d306f3e9974db90b5669c3\",\"author_name\":\"shinn\"},{\"committer_name\":\"shinn\",\"branch\":\"backend\",\"body\":\"\",\"author_date\":\"2014-04-11T18:50:19+08:00\",\"committer_date\":\"2014-04-11T18:50:19+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/85bc90b9cf8df09ce7f09de88009e1756d4500b3\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Create admin index page\",\"commit\":\"85bc90b9cf8df09ce7f09de88009e1756d4500b3\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/4\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-11T10:51:22.755Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-11T06:25:23.370Z\",\"branch\":\"master\",\"body\":\"- Add badges\\n - Add test coverage indicator\",\"author_date\":\"2014-04-11T14:24:43+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64544,\"public_ip_addr\":\"54.198.168.35\"}],\"committer_date\":\"2014-04-11T14:24:43+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/cdc652b831eb...4c96ed888c24\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":38025,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-11T06:25:24.149Z\",\"stop_time\":\"2014-04-11T06:26:02.174Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Update readme\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":{\"build_time_millis\":24420,\"status\":\"fixed\",\"build_num\":2},\"outcome\":\"success\",\"status\":\"success\",\"vcs_revision\":\"4c96ed888c24bd3ecc4ab189dbc2af8aa1084e64\",\"build_num\":3,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":24420,\"status\":\"fixed\",\"build_num\":2},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"- Add badges\\n - Add test coverage indicator\",\"author_date\":\"2014-04-11T14:24:43+08:00\",\"committer_date\":\"2014-04-11T14:24:43+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/4c96ed888c24bd3ecc4ab189dbc2af8aa1084e64\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Update readme\",\"commit\":\"4c96ed888c24bd3ecc4ab189dbc2af8aa1084e64\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/3\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-11T06:25:23.587Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-11T05:39:13.276Z\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-11T13:38:12+08:00\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64537,\"public_ip_addr\":\"54.196.214.78\"}],\"committer_date\":\"2014-04-11T13:38:12+08:00\",\"compare\":\"https://github.com/tinkerbox/iamplus/compare/168c7549dedb...cdc652b831eb\",\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":24420,\"why\":\"github\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-11T05:39:13.537Z\",\"stop_time\":\"2014-04-11T05:39:37.957Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Fix failing test\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":null,\"outcome\":\"success\",\"status\":\"fixed\",\"vcs_revision\":\"cdc652b831eb646af4a9c94c13cbd3d591798007\",\"build_num\":2,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":{\"build_time_millis\":243008,\"status\":\"failed\",\"build_num\":1},\"all_commit_details\":[{\"committer_name\":\"shinn\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-11T13:38:12+08:00\",\"committer_date\":\"2014-04-11T13:38:12+08:00\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/cdc652b831eb646af4a9c94c13cbd3d591798007\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Fix failing test\",\"commit\":\"cdc652b831eb646af4a9c94c13cbd3d591798007\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":null,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/2\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-11T05:39:13.423Z\"},{\"dont_build\":null,\"committer_name\":\"shinn\",\"usage_queued_at\":\"2014-04-11T04:24:25.098Z\",\"branch\":\"master\",\"body\":\"\",\"author_date\":\"2014-04-11T03:35:46Z\",\"node\":[{\"username\":\"ubuntu\",\"ssh_enabled\":null,\"port\":64788,\"public_ip_addr\":\"54.227.156.243\"}],\"committer_date\":\"2014-04-11T03:35:46Z\",\"compare\":null,\"retries\":null,\"parallel\":1,\"committer_email\":\"[email protected]\",\"build_time_millis\":243008,\"why\":\"first-build\",\"author_email\":\"[email protected]\",\"ssh_enabled\":null,\"start_time\":\"2014-04-11T04:24:25.375Z\",\"stop_time\":\"2014-04-11T04:28:28.383Z\",\"lifecycle\":\"finished\",\"user\":{\"is_user\":true,\"login\":\"shinnyx\",\"name\":\"Shinn Chong\",\"email\":\"[email protected]\"},\"subject\":\"Apply bootstrap styling\",\"messages\":[],\"job_name\":null,\"retry_of\":null,\"previous_successful_build\":null,\"outcome\":\"failed\",\"status\":\"failed\",\"vcs_revision\":\"168c7549dedbf607bd0a5d179fd2d266853bcafb\",\"build_num\":1,\"username\":\"tinkerbox\",\"vcs_url\":\"https://github.com/tinkerbox/iamplus\",\"timedout\":false,\"previous\":null,\"all_commit_details\":[{\"committer_name\":\"shinn\",\"body\":\"\",\"author_date\":\"2014-04-11T03:35:46Z\",\"committer_date\":\"2014-04-11T03:35:46Z\",\"commit_url\":\"https://github.com/tinkerbox/iamplus/commit/168c7549dedbf607bd0a5d179fd2d266853bcafb\",\"committer_email\":\"[email protected]\",\"author_email\":\"[email protected]\",\"subject\":\"Apply bootstrap styling\",\"commit\":\"168c7549dedbf607bd0a5d179fd2d266853bcafb\",\"author_name\":\"shinn\"}],\"canceled\":false,\"infrastructure_fail\":false,\"failed\":true,\"reponame\":\"iamplus\",\"build_url\":\"https://circleci.com/gh/tinkerbox/iamplus/1\",\"feature_flags\":{},\"author_name\":\"shinn\",\"queued_at\":\"2014-04-11T04:24:25.244Z\"}]"
from circleci.
Could you edit your comment to use code fences? If you put ```` before and after it, it'll be formatted correctly:
````
This is code!
````
from circleci.
I tried, it cannot be recognized by the parser.
But the problem is quite simple, there are extra " and " marks around the array so it becomes a string.
from circleci.
After some research, I tried the following code in terminal:
JSON.parse(res.body)
Then I got this exception:
Encoding::InvalidByteSequenceError: "\xE2" on US-ASCII
from /Users/David/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/json/common.rb:155:in `encode'
I think the response.body cannot be parsed into an Array by JSON, because there are some rare characters in the build message.
from circleci.
Aha. We serve our JSON as utf-8; it looks like the gem is decoding that wrong. There's some curly quotes (’
) in tinkerbox/uniclimb, which I think are causing the problem.
from circleci.
So a few things
- I wrapped that long text in a markdown code block
- I was unable to reproduce an
Encoding::InvalidByteSequenceError
- I tried to reproduce on ruby 1.9.3, 2.0.0, and 2.1.1
- Forcing a string to be
US-ASCII
on the example you gave\xE2
could still be parsed
- If Circle is returning everything as
UTF-8
then at some point when the string is coming into ruby code it is determining it to be some kind of binary string format for whatever reason. - I am not sure the curly quote is a problem. I think that is a unicode character which is covered under
UTF-8
. I could be wrong though.
PR #8 addresses a fix for making sure all strings are forced to be encoded in UTF-8
. It also will now return a non-successful response if JSON cannot be parsed as pointed out by @startling to be confusing and inconsistent.
@ugoa Please try version 0.0.5
and let me know if things are fixed.
from circleci.
Hi @mtchavez , sorry for replying late. Yeah they are fixed in v0.0.5, many thanks for your work. And @startling thank you too. 👍
from circleci.
Cool good to hear.
from circleci.
Thanks for sorting this out!
from circleci.
Related Issues (20)
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- GET requests failing with 403 Forbidden HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from circleci.