{"action":"created","comment":{"url":"https://api.github.com/repos/nyaruka/goflow/pulls/comments/218609502","pull_request_review_id":156587205,"id":218609502,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxODYwOTUwMg==","diff_hunk":"@@ -32,16 +32,17 @@ type RunResultChangedEvent struct {\n \tBaseEvent\n \tcallerOrEngineEvent\n \n-\tName              string         `json:\"name\" validate:\"required\"`\n-\tValue             string         `json:\"value\"`\n-\tCategory          string         `json:\"category\"`\n-\tCategoryLocalized string         `json:\"category_localized,omitempty\"`\n-\tNodeUUID          flows.NodeUUID `json:\"node_uuid\" validate:\"required,uuid4\"`\n-\tInput             *string        `json:\"input,omitempty\"`\n+\tName              string            `json:\"name\" validate:\"required\"`\n+\tValue             string            `json:\"value\"`\n+\tCategory          string            `json:\"category\"`\n+\tCategoryLocalized string            `json:\"category_localized,omitempty\"`\n+\tNodeUUID          flows.NodeUUID    `json:\"node_uuid\" validate:\"required,uuid4\"`\n+\tInput             *string           `json:\"input,omitempty\"`\n+\tExtra             map[string]string `json:\"extra,omitempty\"`","path":"flows/events/run_result_changed.go","position":16,"original_position":16,"commit_id":"80246fbea8b5842aeb6cd2ccef25dc5325f326e0","original_commit_id":"80246fbea8b5842aeb6cd2ccef25dc5325f326e0","user":{"login":"rowanseymour","id":675558,"node_id":"MDQ6VXNlcjY3NTU1OA==","avatar_url":"https://avatars0.githubusercontent.com/u/675558?v=4","gravatar_id":"","url":"https://api.github.com/users/rowanseymour","html_url":"https://github.com/rowanseymour","followers_url":"https://api.github.com/users/rowanseymour/followers","following_url":"https://api.github.com/users/rowanseymour/following{/other_user}","gists_url":"https://api.github.com/users/rowanseymour/gists{/gist_id}","starred_url":"https://api.github.com/users/rowanseymour/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rowanseymour/subscriptions","organizations_url":"https://api.github.com/users/rowanseymour/orgs","repos_url":"https://api.github.com/users/rowanseymour/repos","events_url":"https://api.github.com/users/rowanseymour/events{/privacy}","received_events_url":"https://api.github.com/users/rowanseymour/received_events","type":"User","site_admin":false},"body":"For now this just occurs on the event and doesn't go into the actual result dict","created_at":"2018-09-18T21:59:56Z","updated_at":"2018-09-18T21:59:56Z","html_url":"https://github.com/nyaruka/goflow/pull/368#discussion_r218609502","pull_request_url":"https://api.github.com/repos/nyaruka/goflow/pulls/368","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/nyaruka/goflow/pulls/comments/218609502"},"html":{"href":"https://github.com/nyaruka/goflow/pull/368#discussion_r218609502"},"pull_request":{"href":"https://api.github.com/repos/nyaruka/goflow/pulls/368"}}},"pull_request":{"url":"https://api.github.com/repos/nyaruka/goflow/pulls/368","id":216132481,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE2MTMyNDgx","html_url":"https://github.com/nyaruka/goflow/pull/368","diff_url":"https://github.com/nyaruka/goflow/pull/368.diff","patch_url":"https://github.com/nyaruka/goflow/pull/368.patch","issue_url":"https://api.github.com/repos/nyaruka/goflow/issues/368","number":368,"state":"open","locked":false,"title":"👴🏻 Legacy @extra","user":{"login":"rowanseymour","id":675558,"node_id":"MDQ6VXNlcjY3NTU1OA==","avatar_url":"https://avatars0.githubusercontent.com/u/675558?v=4","gravatar_id":"","url":"https://api.github.com/users/rowanseymour","html_url":"https://github.com/rowanseymour","followers_url":"https://api.github.com/users/rowanseymour/followers","following_url":"https://api.github.com/users/rowanseymour/following{/other_user}","gists_url":"https://api.github.com/users/rowanseymour/gists{/gist_id}","starred_url":"https://api.github.com/users/rowanseymour/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rowanseymour/subscriptions","organizations_url":"https://api.github.com/users/rowanseymour/orgs","repos_url":"https://api.github.com/users/rowanseymour/repos","events_url":"https://api.github.com/users/rowanseymour/events{/privacy}","received_events_url":"https://api.github.com/users/rowanseymour/received_events","type":"User","site_admin":false},"body":"Adds `@legacy_extra` to the context which mimics `@extra` in legacy flows. Addresses #367. By looking at events on the run, it builds up extra from:\r\n\r\n1. Trigger params\r\n2. Webhook/resthook responses that can be parsed as JSON\r\n3. Results from `has_pattern` tests\r\n\r\nIt's constructed lazily when `@legacy_extra` occurs in an expression so no performance hit for flows not using this.","created_at":"2018-09-17T22:23:21Z","updated_at":"2018-09-18T21:59:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1c7075b219b1678452816dc576d3f2f65d05d728","assignee":null,"assignees":[],"requested_reviewers":[{"login":"nicpottier","id":168067,"node_id":"MDQ6VXNlcjE2ODA2Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/168067?v=4","gravatar_id":"","url":"https://api.github.com/users/nicpottier","html_url":"https://github.com/nicpottier","followers_url":"https://api.github.com/users/nicpottier/followers","following_url":"https://api.github.com/users/nicpottier/following{/other_user}","gists_url":"https://api.github.com/users/nicpottier/gists{/gist_id}","starred_url":"https://api.github.com/users/nicpottier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicpottier/subscriptions","organizations_url":"https://api.github.com/users/nicpottier/orgs","repos_url":"https://api.github.com/users/nicpottier/repos","events_url":"https://api.github.com/users/nicpottier/events{/privacy}","received_events_url":"https://api.github.com/users/nicpottier/received_events","type":"User","site_admin":false},{"login":"ericnewcomer","id":211652,"node_id":"MDQ6VXNlcjIxMTY1Mg==","avatar_url":"https://avatars2.githubusercontent.com/u/211652?v=4","gravatar_id":"","url":"https://api.github.com/users/ericnewcomer","html_url":"https://github.com/ericnewcomer","followers_url":"https://api.github.com/users/ericnewcomer/followers","following_url":"https://api.github.com/users/ericnewcomer/following{/other_user}","gists_url":"https://api.github.com/users/ericnewcomer/gists{/gist_id}","starred_url":"https://api.github.com/users/ericnewcomer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericnewcomer/subscriptions","organizations_url":"https://api.github.com/users/ericnewcomer/orgs","repos_url":"https://api.github.com/users/ericnewcomer/repos","events_url":"https://api.github.com/users/ericnewcomer/events{/privacy}","received_events_url":"https://api.github.com/users/ericnewcomer/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/nyaruka/goflow/pulls/368/commits","review_comments_url":"https://api.github.com/repos/nyaruka/goflow/pulls/368/comments","review_comment_url":"https://api.github.com/repos/nyaruka/goflow/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nyaruka/goflow/issues/368/comments","statuses_url":"https://api.github.com/repos/nyaruka/goflow/statuses/80246fbea8b5842aeb6cd2ccef25dc5325f326e0","head":{"label":"nyaruka:legacy_extra","ref":"legacy_extra","sha":"80246fbea8b5842aeb6cd2ccef25dc5325f326e0","user":{"login":"nyaruka","id":299256,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI5OTI1Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/299256?v=4","gravatar_id":"","url":"https://api.github.com/users/nyaruka","html_url":"https://github.com/nyaruka","followers_url":"https://api.github.com/users/nyaruka/followers","following_url":"https://api.github.com/users/nyaruka/following{/other_user}","gists_url":"https://api.github.com/users/nyaruka/gists{/gist_id}","starred_url":"https://api.github.com/users/nyaruka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nyaruka/subscriptions","organizations_url":"https://api.github.com/users/nyaruka/orgs","repos_url":"https://api.github.com/users/nyaruka/repos","events_url":"https://api.github.com/users/nyaruka/events{/privacy}","received_events_url":"https://api.github.com/users/nyaruka/received_events","type":"Organization","site_admin":false},"repo":{"id":90892160,"node_id":"MDEwOlJlcG9zaXRvcnk5MDg5MjE2MA==","name":"goflow","full_name":"nyaruka/goflow","private":false,"owner":{"login":"nyaruka","id":299256,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI5OTI1Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/299256?v=4","gravatar_id":"","url":"https://api.github.com/users/nyaruka","html_url":"https://github.com/nyaruka","followers_url":"https://api.github.com/users/nyaruka/followers","following_url":"https://api.github.com/users/nyaruka/following{/other_user}","gists_url":"https://api.github.com/users/nyaruka/gists{/gist_id}","starred_url":"https://api.github.com/users/nyaruka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nyaruka/subscriptions","organizations_url":"https://api.github.com/users/nyaruka/orgs","repos_url":"https://api.github.com/users/nyaruka/repos","events_url":"https://api.github.com/users/nyaruka/events{/privacy}","received_events_url":"https://api.github.com/users/nyaruka/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nyaruka/goflow","description":"Golang Flow Engine for RapidPro","fork":false,"url":"https://api.github.com/repos/nyaruka/goflow","forks_url":"https://api.github.com/repos/nyaruka/goflow/forks","keys_url":"https://api.github.com/repos/nyaruka/goflow/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nyaruka/goflow/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nyaruka/goflow/teams","hooks_url":"https://api.github.com/repos/nyaruka/goflow/hooks","issue_events_url":"https://api.github.com/repos/nyaruka/goflow/issues/events{/number}","events_url":"https://api.github.com/repos/nyaruka/goflow/events","assignees_url":"https://api.github.com/repos/nyaruka/goflow/assignees{/user}","branches_url":"https://api.github.com/repos/nyaruka/goflow/branches{/branch}","tags_url":"https://api.github.com/repos/nyaruka/goflow/tags","blobs_url":"https://api.github.com/repos/nyaruka/goflow/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nyaruka/goflow/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nyaruka/goflow/git/refs{/sha}","trees_url":"https://api.github.com/repos/nyaruka/goflow/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nyaruka/goflow/statuses/{sha}","languages_url":"https://api.github.com/repos/nyaruka/goflow/languages","stargazers_url":"https://api.github.com/repos/nyaruka/goflow/stargazers","contributors_url":"https://api.github.com/repos/nyaruka/goflow/contributors","subscribers_url":"https://api.github.com/repos/nyaruka/goflow/subscribers","subscription_url":"https://api.github.com/repos/nyaruka/goflow/subscription","commits_url":"https://api.github.com/repos/nyaruka/goflow/commits{/sha}","git_commits_url":"https://api.github.com/repos/nyaruka/goflow/git/commits{/sha}","comments_url":"https://api.github.com/repos/nyaruka/goflow/comments{/number}","issue_comment_url":"https://api.github.com/repos/nyaruka/goflow/issues/comments{/number}","contents_url":"https://api.github.com/repos/nyaruka/goflow/contents/{+path}","compare_url":"https://api.github.com/repos/nyaruka/goflow/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nyaruka/goflow/merges","archive_url":"https://api.github.com/repos/nyaruka/goflow/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nyaruka/goflow/downloads","issues_url":"https://api.github.com/repos/nyaruka/goflow/issues{/number}","pulls_url":"https://api.github.com/repos/nyaruka/goflow/pulls{/number}","milestones_url":"https://api.github.com/repos/nyaruka/goflow/milestones{/number}","notifications_url":"https://api.github.com/repos/nyaruka/goflow/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nyaruka/goflow/labels{/name}","releases_url":"https://api.github.com/repos/nyaruka/goflow/releases{/id}","deployments_url":"https://api.github.com/repos/nyaruka/goflow/deployments","created_at":"2017-05-10T17:43:06Z","updated_at":"2018-09-18T19:33:37Z","pushed_at":"2018-09-18T21:47:28Z","git_url":"git://github.com/nyaruka/goflow.git","ssh_url":"git@github.com:nyaruka/goflow.git","clone_url":"https://github.com/nyaruka/goflow.git","svn_url":"https://github.com/nyaruka/goflow","homepage":"","size":12447,"stargazers_count":15,"watchers_count":15,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":18,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":4,"open_issues":18,"watchers":15,"default_branch":"master"}},"base":{"label":"nyaruka:master","ref":"master","sha":"a35933418b0bd7f76bd350785cdb20cc435e6fce","user":{"login":"nyaruka","id":299256,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI5OTI1Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/299256?v=4","gravatar_id":"","url":"https://api.github.com/users/nyaruka","html_url":"https://github.com/nyaruka","followers_url":"https://api.github.com/users/nyaruka/followers","following_url":"https://api.github.com/users/nyaruka/following{/other_user}","gists_url":"https://api.github.com/users/nyaruka/gists{/gist_id}","starred_url":"https://api.github.com/users/nyaruka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nyaruka/subscriptions","organizations_url":"https://api.github.com/users/nyaruka/orgs","repos_url":"https://api.github.com/users/nyaruka/repos","events_url":"https://api.github.com/users/nyaruka/events{/privacy}","received_events_url":"https://api.github.com/users/nyaruka/received_events","type":"Organization","site_admin":false},"repo":{"id":90892160,"node_id":"MDEwOlJlcG9zaXRvcnk5MDg5MjE2MA==","name":"goflow","full_name":"nyaruka/goflow","private":false,"owner":{"login":"nyaruka","id":299256,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI5OTI1Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/299256?v=4","gravatar_id":"","url":"https://api.github.com/users/nyaruka","html_url":"https://github.com/nyaruka","followers_url":"https://api.github.com/users/nyaruka/followers","following_url":"https://api.github.com/users/nyaruka/following{/other_user}","gists_url":"https://api.github.com/users/nyaruka/gists{/gist_id}","starred_url":"https://api.github.com/users/nyaruka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nyaruka/subscriptions","organizations_url":"https://api.github.com/users/nyaruka/orgs","repos_url":"https://api.github.com/users/nyaruka/repos","events_url":"https://api.github.com/users/nyaruka/events{/privacy}","received_events_url":"https://api.github.com/users/nyaruka/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nyaruka/goflow","description":"Golang Flow Engine for RapidPro","fork":false,"url":"https://api.github.com/repos/nyaruka/goflow","forks_url":"https://api.github.com/repos/nyaruka/goflow/forks","keys_url":"https://api.github.com/repos/nyaruka/goflow/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nyaruka/goflow/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nyaruka/goflow/teams","hooks_url":"https://api.github.com/repos/nyaruka/goflow/hooks","issue_events_url":"https://api.github.com/repos/nyaruka/goflow/issues/events{/number}","events_url":"https://api.github.com/repos/nyaruka/goflow/events","assignees_url":"https://api.github.com/repos/nyaruka/goflow/assignees{/user}","branches_url":"https://api.github.com/repos/nyaruka/goflow/branches{/branch}","tags_url":"https://api.github.com/repos/nyaruka/goflow/tags","blobs_url":"https://api.github.com/repos/nyaruka/goflow/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nyaruka/goflow/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nyaruka/goflow/git/refs{/sha}","trees_url":"https://api.github.com/repos/nyaruka/goflow/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nyaruka/goflow/statuses/{sha}","languages_url":"https://api.github.com/repos/nyaruka/goflow/languages","stargazers_url":"https://api.github.com/repos/nyaruka/goflow/stargazers","contributors_url":"https://api.github.com/repos/nyaruka/goflow/contributors","subscribers_url":"https://api.github.com/repos/nyaruka/goflow/subscribers","subscription_url":"https://api.github.com/repos/nyaruka/goflow/subscription","commits_url":"https://api.github.com/repos/nyaruka/goflow/commits{/sha}","git_commits_url":"https://api.github.com/repos/nyaruka/goflow/git/commits{/sha}","comments_url":"https://api.github.com/repos/nyaruka/goflow/comments{/number}","issue_comment_url":"https://api.github.com/repos/nyaruka/goflow/issues/comments{/number}","contents_url":"https://api.github.com/repos/nyaruka/goflow/contents/{+path}","compare_url":"https://api.github.com/repos/nyaruka/goflow/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nyaruka/goflow/merges","archive_url":"https://api.github.com/repos/nyaruka/goflow/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nyaruka/goflow/downloads","issues_url":"https://api.github.com/repos/nyaruka/goflow/issues{/number}","pulls_url":"https://api.github.com/repos/nyaruka/goflow/pulls{/number}","milestones_url":"https://api.github.com/repos/nyaruka/goflow/milestones{/number}","notifications_url":"https://api.github.com/repos/nyaruka/goflow/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nyaruka/goflow/labels{/name}","releases_url":"https://api.github.com/repos/nyaruka/goflow/releases{/id}","deployments_url":"https://api.github.com/repos/nyaruka/goflow/deployments","created_at":"2017-05-10T17:43:06Z","updated_at":"2018-09-18T19:33:37Z","pushed_at":"2018-09-18T21:47:28Z","git_url":"git://github.com/nyaruka/goflow.git","ssh_url":"git@github.com:nyaruka/goflow.git","clone_url":"https://github.com/nyaruka/goflow.git","svn_url":"https://github.com/nyaruka/goflow","homepage":"","size":12447,"stargazers_count":15,"watchers_count":15,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":18,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":4,"open_issues":18,"watchers":15,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nyaruka/goflow/pulls/368"},"html":{"href":"https://github.com/nyaruka/goflow/pull/368"},"issue":{"href":"https://api.github.com/repos/nyaruka/goflow/issues/368"},"comments":{"href":"https://api.github.com/repos/nyaruka/goflow/issues/368/comments"},"review_comments":{"href":"https://api.github.com/repos/nyaruka/goflow/pulls/368/comments"},"review_comment":{"href":"https://api.github.com/repos/nyaruka/goflow/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nyaruka/goflow/pulls/368/commits"},"statuses":{"href":"https://api.github.com/repos/nyaruka/goflow/statuses/80246fbea8b5842aeb6cd2ccef25dc5325f326e0"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"rowanseymour"}}