{"action":"closed","issue":{"url":"https://api.github.com/repos/elixir-ecto/ecto/issues/2508","repository_url":"https://api.github.com/repos/elixir-ecto/ecto","labels_url":"https://api.github.com/repos/elixir-ecto/ecto/issues/2508/labels{/name}","comments_url":"https://api.github.com/repos/elixir-ecto/ecto/issues/2508/comments","events_url":"https://api.github.com/repos/elixir-ecto/ecto/issues/2508/events","html_url":"https://github.com/elixir-ecto/ecto/issues/2508","id":314310143,"number":2508,"title":"Allow functions to be given to insert/update/delete/insert_or_update in Ecto.Multi","user":{"login":"josevalim","id":9582,"avatar_url":"https://avatars0.githubusercontent.com/u/9582?v=4","gravatar_id":"","url":"https://api.github.com/users/josevalim","html_url":"https://github.com/josevalim","followers_url":"https://api.github.com/users/josevalim/followers","following_url":"https://api.github.com/users/josevalim/following{/other_user}","gists_url":"https://api.github.com/users/josevalim/gists{/gist_id}","starred_url":"https://api.github.com/users/josevalim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josevalim/subscriptions","organizations_url":"https://api.github.com/users/josevalim/orgs","repos_url":"https://api.github.com/users/josevalim/repos","events_url":"https://api.github.com/users/josevalim/events{/privacy}","received_events_url":"https://api.github.com/users/josevalim/received_events","type":"User","site_admin":false},"labels":[{"id":43220259,"url":"https://api.github.com/repos/elixir-ecto/ecto/labels/Kind:Enhancement","name":"Kind:Enhancement","color":"207de5","default":false},{"id":169894583,"url":"https://api.github.com/repos/elixir-ecto/ecto/labels/Level:Intermediate","name":"Level:Intermediate","color":"fad8c7","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-04-14T08:15:05Z","updated_at":"2018-05-22T07:41:35Z","closed_at":"2018-05-22T07:41:35Z","author_association":"MEMBER","body":"The function should receive the changes so far and return a struct/changeset. They should be equivalent to calling `run/3`.\r\n\r\nWe also need to change the module docs for Ecto.Multi to make it clear that we only pre-validate functions that explicitly receive a changeset when the changeset is built."}}
{"actor":{"display_login":"josevalim"}}