{"action":"created","issue":{"url":"https://api.github.com/repos/snowplow/snowplow/issues/1965","labels_url":"https://api.github.com/repos/snowplow/snowplow/issues/1965/labels{/name}","comments_url":"https://api.github.com/repos/snowplow/snowplow/issues/1965/comments","events_url":"https://api.github.com/repos/snowplow/snowplow/issues/1965/events","html_url":"https://github.com/snowplow/snowplow/issues/1965","id":101395865,"number":1965,"title":"Scala Common Enrich: new enrichment to derive an event fingerprint","user":{"login":"bogaert","id":1975872,"avatar_url":"https://avatars.githubusercontent.com/u/1975872?v=3","gravatar_id":"","url":"https://api.github.com/users/bogaert","html_url":"https://github.com/bogaert","followers_url":"https://api.github.com/users/bogaert/followers","following_url":"https://api.github.com/users/bogaert/following{/other_user}","gists_url":"https://api.github.com/users/bogaert/gists{/gist_id}","starred_url":"https://api.github.com/users/bogaert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bogaert/subscriptions","organizations_url":"https://api.github.com/users/bogaert/orgs","repos_url":"https://api.github.com/users/bogaert/repos","events_url":"https://api.github.com/users/bogaert/events{/privacy}","received_events_url":"https://api.github.com/users/bogaert/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/snowplow/snowplow/labels/enhancement","name":"enhancement","color":"DDDDDD"}],"state":"open","locked":false,"assignee":{"login":"fblundun","id":5892914,"avatar_url":"https://avatars.githubusercontent.com/u/5892914?v=3","gravatar_id":"","url":"https://api.github.com/users/fblundun","html_url":"https://github.com/fblundun","followers_url":"https://api.github.com/users/fblundun/followers","following_url":"https://api.github.com/users/fblundun/following{/other_user}","gists_url":"https://api.github.com/users/fblundun/gists{/gist_id}","starred_url":"https://api.github.com/users/fblundun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fblundun/subscriptions","organizations_url":"https://api.github.com/users/fblundun/orgs","repos_url":"https://api.github.com/users/fblundun/repos","events_url":"https://api.github.com/users/fblundun/events{/privacy}","received_events_url":"https://api.github.com/users/fblundun/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/snowplow/snowplow/milestones/90","html_url":"https://github.com/snowplow/snowplow/milestones/Release%2071%20[HAD]%20Bird%20TBC","labels_url":"https://api.github.com/repos/snowplow/snowplow/milestones/90/labels","id":1173631,"number":90,"title":"Release 71 [HAD] Bird TBC","description":"","creator":{"login":"alexanderdean","id":200511,"avatar_url":"https://avatars.githubusercontent.com/u/200511?v=3","gravatar_id":"","url":"https://api.github.com/users/alexanderdean","html_url":"https://github.com/alexanderdean","followers_url":"https://api.github.com/users/alexanderdean/followers","following_url":"https://api.github.com/users/alexanderdean/following{/other_user}","gists_url":"https://api.github.com/users/alexanderdean/gists{/gist_id}","starred_url":"https://api.github.com/users/alexanderdean/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexanderdean/subscriptions","organizations_url":"https://api.github.com/users/alexanderdean/orgs","repos_url":"https://api.github.com/users/alexanderdean/repos","events_url":"https://api.github.com/users/alexanderdean/events{/privacy}","received_events_url":"https://api.github.com/users/alexanderdean/received_events","type":"User","site_admin":false},"open_issues":28,"closed_issues":4,"state":"open","created_at":"2015-06-20T19:26:59Z","updated_at":"2015-08-17T12:22:09Z","due_on":null,"closed_at":null},"comments":10,"created_at":"2015-08-17T10:53:50Z","updated_at":"2015-08-17T13:46:08Z","closed_at":null,"body":"It would be helpful to have an event fingerprint that is generated using all client-sent fields (except perhaps device timestamp, maybe others - TBD). This can perhaps be done as a Javascript enrichment?\r\n\r\nThis would be helpful because the unstructured event and context fields need to be taken into account  when distinguishing between natural and synthetic duplicates. In Redshift, joining these tables is tricky because event ID is duplicated, and the JSON columns will be removed from atomic.events in a future version.\r\n\r\nInterested in hearing thoughts on this."},"comment":{"url":"https://api.github.com/repos/snowplow/snowplow/issues/comments/131821770","html_url":"https://github.com/snowplow/snowplow/issues/1965#issuecomment-131821770","issue_url":"https://api.github.com/repos/snowplow/snowplow/issues/1965","id":131821770,"user":{"login":"alexanderdean","id":200511,"avatar_url":"https://avatars.githubusercontent.com/u/200511?v=3","gravatar_id":"","url":"https://api.github.com/users/alexanderdean","html_url":"https://github.com/alexanderdean","followers_url":"https://api.github.com/users/alexanderdean/followers","following_url":"https://api.github.com/users/alexanderdean/following{/other_user}","gists_url":"https://api.github.com/users/alexanderdean/gists{/gist_id}","starred_url":"https://api.github.com/users/alexanderdean/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexanderdean/subscriptions","organizations_url":"https://api.github.com/users/alexanderdean/orgs","repos_url":"https://api.github.com/users/alexanderdean/repos","events_url":"https://api.github.com/users/alexanderdean/events{/privacy}","received_events_url":"https://api.github.com/users/alexanderdean/received_events","type":"User","site_admin":false},"created_at":"2015-08-17T13:46:08Z","updated_at":"2015-08-17T13:46:08Z","body":"For this enrichment, I think let's have a couple of configuration options:\r\n\r\n```\r\n  \"hashAlgorithm\": \"xxx\"\r\n  \"excludeParameters\": [\"stm\"]\r\n```\r\n\r\nObviously we will only support one hash algorithm for launch."}}