{"action":"created","issue":{"url":"https://api.github.com/repos/Particular/NServiceBus/issues/3099","labels_url":"https://api.github.com/repos/Particular/NServiceBus/issues/3099/labels{/name}","comments_url":"https://api.github.com/repos/Particular/NServiceBus/issues/3099/comments","events_url":"https://api.github.com/repos/Particular/NServiceBus/issues/3099/events","html_url":"https://github.com/Particular/NServiceBus/pull/3099","id":118020510,"number":3099,"title":"Make pipelines explicit","user":{"login":"SzymonPobiega","id":163318,"avatar_url":"https://avatars.githubusercontent.com/u/163318?v=3","gravatar_id":"","url":"https://api.github.com/users/SzymonPobiega","html_url":"https://github.com/SzymonPobiega","followers_url":"https://api.github.com/users/SzymonPobiega/followers","following_url":"https://api.github.com/users/SzymonPobiega/following{/other_user}","gists_url":"https://api.github.com/users/SzymonPobiega/gists{/gist_id}","starred_url":"https://api.github.com/users/SzymonPobiega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SzymonPobiega/subscriptions","organizations_url":"https://api.github.com/users/SzymonPobiega/orgs","repos_url":"https://api.github.com/users/SzymonPobiega/repos","events_url":"https://api.github.com/users/SzymonPobiega/events{/privacy}","received_events_url":"https://api.github.com/users/SzymonPobiega/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Particular/NServiceBus/labels/State:%20In%20Progress","name":"State: In Progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-11-20T11:23:52Z","updated_at":"2015-11-20T11:50:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Particular/NServiceBus/pulls/3099","html_url":"https://github.com/Particular/NServiceBus/pull/3099","diff_url":"https://github.com/Particular/NServiceBus/pull/3099.diff","patch_url":"https://github.com/Particular/NServiceBus/pull/3099.patch"},"body":"This pull makes `PipelineBase<>` an abstract class forcing creating an explicit type for each pipeline. Each such pipeline is registered in the container so that we can avoid creating pipelines in place.\r\n\r\nAnother change is that the behavior contexts do not directly implement `IMessageHandlingContext` and `IMessageProcessingContext` so that when a behavior wants to use a pipeline, it needs to explicitly depend on proper `IPipeInlet<T>`. This change allows us to generate nice pipeline graphs like this one:\r\n\r\n![the pipeline 2](https://cloud.githubusercontent.com/assets/163318/11298757/854e9a62-8f81-11e5-9215-c5a5d4121ce6.png)\r\n"},"comment":{"url":"https://api.github.com/repos/Particular/NServiceBus/issues/comments/158373758","html_url":"https://github.com/Particular/NServiceBus/pull/3099#issuecomment-158373758","issue_url":"https://api.github.com/repos/Particular/NServiceBus/issues/3099","id":158373758,"user":{"login":"SzymonPobiega","id":163318,"avatar_url":"https://avatars.githubusercontent.com/u/163318?v=3","gravatar_id":"","url":"https://api.github.com/users/SzymonPobiega","html_url":"https://github.com/SzymonPobiega","followers_url":"https://api.github.com/users/SzymonPobiega/followers","following_url":"https://api.github.com/users/SzymonPobiega/following{/other_user}","gists_url":"https://api.github.com/users/SzymonPobiega/gists{/gist_id}","starred_url":"https://api.github.com/users/SzymonPobiega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SzymonPobiega/subscriptions","organizations_url":"https://api.github.com/users/SzymonPobiega/orgs","repos_url":"https://api.github.com/users/SzymonPobiega/repos","events_url":"https://api.github.com/users/SzymonPobiega/events{/privacy}","received_events_url":"https://api.github.com/users/SzymonPobiega/received_events","type":"User","site_admin":false},"created_at":"2015-11-20T11:50:38Z","updated_at":"2015-11-20T11:50:38Z","body":"Any time you want @danielmarbach :)"}}