{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/dotnet-apiport/issues/592","repository_url":"https://api.github.com/repos/Microsoft/dotnet-apiport","labels_url":"https://api.github.com/repos/Microsoft/dotnet-apiport/issues/592/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/dotnet-apiport/issues/592/comments","events_url":"https://api.github.com/repos/Microsoft/dotnet-apiport/issues/592/events","html_url":"https://github.com/Microsoft/dotnet-apiport/pull/592","id":304831587,"number":592,"title":"User Stories 566983\\571103: Workflow queue messaging","user":{"login":"nicolehaugen79","id":10600161,"avatar_url":"https://avatars1.githubusercontent.com/u/10600161?v=4","gravatar_id":"","url":"https://api.github.com/users/nicolehaugen79","html_url":"https://github.com/nicolehaugen79","followers_url":"https://api.github.com/users/nicolehaugen79/followers","following_url":"https://api.github.com/users/nicolehaugen79/following{/other_user}","gists_url":"https://api.github.com/users/nicolehaugen79/gists{/gist_id}","starred_url":"https://api.github.com/users/nicolehaugen79/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicolehaugen79/subscriptions","organizations_url":"https://api.github.com/users/nicolehaugen79/orgs","repos_url":"https://api.github.com/users/nicolehaugen79/repos","events_url":"https://api.github.com/users/nicolehaugen79/events{/privacy}","received_events_url":"https://api.github.com/users/nicolehaugen79/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-03-13T16:09:45Z","updated_at":"2018-03-14T18:58:13Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/Microsoft/dotnet-apiport/pulls/592","html_url":"https://github.com/Microsoft/dotnet-apiport/pull/592","diff_url":"https://github.com/Microsoft/dotnet-apiport/pull/592.diff","patch_url":"https://github.com/Microsoft/dotnet-apiport/pull/592.patch"},"body":"This PR completes the work described in [user story 566983](https://devdiv.visualstudio.com/DevDiv/_workitems/edit/566983) and part of the work for [user story 571103](https://devdiv.visualstudio.com/DevDiv/_workitems/edit/566983).\r\n\r\nSpecific changes include:\r\n1. Added Workflow Manager that manages the stages for the workflow queue (stored in a storage queue) and invokes calls to underlying services for each stage in the workflow (such as the analysis engine).  As part of this design, the services are loosely coupled to allow easy changes to APIs as needed.\r\n2. Updated the Analyze function to add messages to the workflow queue.\r\n3. Added a ProcessWorkflowQueue function that processes messages in the queue.\r\n4. Added unit tests.\r\n\r\nOne other subtle change that I made is to have the functions pass in an ILogger instance instead of Tracewriter.  ILogger provides better structural logging which is why it is recommended over TraceWriter.\r\n\r\nThere are also several tasks that still need to be completed - these will be addressed in the next sprint:\r\n1. Handle queue errors (poison message queue)\r\n2. Better logging and error handling in general\r\n\r\nHere is the [detailed design for this work](https://microsoft.sharepoint.com/teams/DevDivCustomerEngagement/_layouts/15/WopiFrame.aspx?sourcedoc={3b1775ea-bbf4-4c8a-9299-2eb368bc7390}&action=edit&wd=target%28%2F%2FModernization.one%7Cc9150b50-339d-463c-852c-2f89c2c7619f%2FQueue%5C%5CWorkflow%20Design%7C54d07347-b34f-462a-9ff9-f6fcbe7b86e3%2F%29&wdorigin=onocopylinktopage)"},"comment":{"url":"https://api.github.com/repos/Microsoft/dotnet-apiport/issues/comments/373137458","html_url":"https://github.com/Microsoft/dotnet-apiport/pull/592#issuecomment-373137458","issue_url":"https://api.github.com/repos/Microsoft/dotnet-apiport/issues/592","id":373137458,"user":{"login":"twsouthwick","id":583206,"avatar_url":"https://avatars1.githubusercontent.com/u/583206?v=4","gravatar_id":"","url":"https://api.github.com/users/twsouthwick","html_url":"https://github.com/twsouthwick","followers_url":"https://api.github.com/users/twsouthwick/followers","following_url":"https://api.github.com/users/twsouthwick/following{/other_user}","gists_url":"https://api.github.com/users/twsouthwick/gists{/gist_id}","starred_url":"https://api.github.com/users/twsouthwick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/twsouthwick/subscriptions","organizations_url":"https://api.github.com/users/twsouthwick/orgs","repos_url":"https://api.github.com/users/twsouthwick/repos","events_url":"https://api.github.com/users/twsouthwick/events{/privacy}","received_events_url":"https://api.github.com/users/twsouthwick/received_events","type":"User","site_admin":false},"created_at":"2018-03-14T18:58:13Z","updated_at":"2018-03-14T18:58:13Z","author_association":"MEMBER","body":"@nicolehaugen79 We force squashing in the branch. GitHub does some weird stuff with commit messages by including all the intermediate commits which make the final commit message have unnecessary information. Please verify the message carefully before committing."}}
{"actor":{"display_login":"twsouthwick"}}