{"action":"closed","number":77,"pull_request":{"url":"https://api.github.com/repos/Azure/buffalo-azure/pulls/77","id":202426800,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAyNDI2ODAw","html_url":"https://github.com/Azure/buffalo-azure/pull/77","diff_url":"https://github.com/Azure/buffalo-azure/pull/77.diff","patch_url":"https://github.com/Azure/buffalo-azure/pull/77.patch","issue_url":"https://api.github.com/repos/Azure/buffalo-azure/issues/77","number":77,"state":"closed","locked":false,"title":"Adding Service Bus Worker","user":{"login":"marstr","id":11203166,"node_id":"MDQ6VXNlcjExMjAzMTY2","avatar_url":"https://avatars0.githubusercontent.com/u/11203166?v=4","gravatar_id":"","url":"https://api.github.com/users/marstr","html_url":"https://github.com/marstr","followers_url":"https://api.github.com/users/marstr/followers","following_url":"https://api.github.com/users/marstr/following{/other_user}","gists_url":"https://api.github.com/users/marstr/gists{/gist_id}","starred_url":"https://api.github.com/users/marstr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marstr/subscriptions","organizations_url":"https://api.github.com/users/marstr/orgs","repos_url":"https://api.github.com/users/marstr/repos","events_url":"https://api.github.com/users/marstr/events{/privacy}","received_events_url":"https://api.github.com/users/marstr/received_events","type":"User","site_admin":false},"body":"Adding an implementation of [`github.com/gobuffalo/buffalo/worker.Worker`](https://godoc.org/github.com/gobuffalo/buffalo/worker#Worker) that uses Azure Service Bus to persist Jobs, distribute them between available machines, and provide Job status monitoring.\r\n\r\nReviewers, some open questions I still have:\r\n- Is `github.com/Azure/buffalo-azure/worker` a good package name for this? Would `github.com/Azure/buffalo-azure/sdk/worker` be better? I'm leaning towards the latter.\r\n- Is tying together the notion of `Queue` as its defined in [`worker.Job`](https://godoc.org/github.com/gobuffalo/buffalo/worker#Job) and a Service Bus Queue, as I've done here, appropriate?\r\n- For `ServiceBusPublisher`, should I add a \"DefaultQueue\" that will override which overrides the empty string if that's what's present in a Job?\r\n- How is the documentation I've added here? Any other examples I should add?\r\n- Is it clear why I broke up my implementation of the `Worker` interface into two halves? \r\n\r\n@arschles @markbates ","created_at":"2018-07-19T02:10:13Z","updated_at":"2018-08-14T16:08:31Z","closed_at":"2018-08-14T16:08:31Z","merged_at":"2018-08-14T16:08:31Z","merge_commit_sha":"7d08649f6c152f8e3a6f9ec09313927398e248a8","assignee":{"login":"marstr","id":11203166,"node_id":"MDQ6VXNlcjExMjAzMTY2","avatar_url":"https://avatars0.githubusercontent.com/u/11203166?v=4","gravatar_id":"","url":"https://api.github.com/users/marstr","html_url":"https://github.com/marstr","followers_url":"https://api.github.com/users/marstr/followers","following_url":"https://api.github.com/users/marstr/following{/other_user}","gists_url":"https://api.github.com/users/marstr/gists{/gist_id}","starred_url":"https://api.github.com/users/marstr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marstr/subscriptions","organizations_url":"https://api.github.com/users/marstr/orgs","repos_url":"https://api.github.com/users/marstr/repos","events_url":"https://api.github.com/users/marstr/events{/privacy}","received_events_url":"https://api.github.com/users/marstr/received_events","type":"User","site_admin":false},"assignees":[{"login":"marstr","id":11203166,"node_id":"MDQ6VXNlcjExMjAzMTY2","avatar_url":"https://avatars0.githubusercontent.com/u/11203166?v=4","gravatar_id":"","url":"https://api.github.com/users/marstr","html_url":"https://github.com/marstr","followers_url":"https://api.github.com/users/marstr/followers","following_url":"https://api.github.com/users/marstr/following{/other_user}","gists_url":"https://api.github.com/users/marstr/gists{/gist_id}","starred_url":"https://api.github.com/users/marstr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marstr/subscriptions","organizations_url":"https://api.github.com/users/marstr/orgs","repos_url":"https://api.github.com/users/marstr/repos","events_url":"https://api.github.com/users/marstr/events{/privacy}","received_events_url":"https://api.github.com/users/marstr/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":986111442,"node_id":"MDU6TGFiZWw5ODYxMTE0NDI=","url":"https://api.github.com/repos/Azure/buffalo-azure/labels/Sprint-121","name":"Sprint-121","color":"d4c5f9","default":false},{"id":904012793,"node_id":"MDU6TGFiZWw5MDQwMTI3OTM=","url":"https://api.github.com/repos/Azure/buffalo-azure/labels/review","name":"review","color":"ededed","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/Azure/buffalo-azure/pulls/77/commits","review_comments_url":"https://api.github.com/repos/Azure/buffalo-azure/pulls/77/comments","review_comment_url":"https://api.github.com/repos/Azure/buffalo-azure/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Azure/buffalo-azure/issues/77/comments","statuses_url":"https://api.github.com/repos/Azure/buffalo-azure/statuses/38e1d18f1a6a0a0f175655b281ecc703815b3580","head":{"label":"marstr:addServiceBusWorker","ref":"addServiceBusWorker","sha":"38e1d18f1a6a0a0f175655b281ecc703815b3580","user":{"login":"marstr","id":11203166,"node_id":"MDQ6VXNlcjExMjAzMTY2","avatar_url":"https://avatars0.githubusercontent.com/u/11203166?v=4","gravatar_id":"","url":"https://api.github.com/users/marstr","html_url":"https://github.com/marstr","followers_url":"https://api.github.com/users/marstr/followers","following_url":"https://api.github.com/users/marstr/following{/other_user}","gists_url":"https://api.github.com/users/marstr/gists{/gist_id}","starred_url":"https://api.github.com/users/marstr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marstr/subscriptions","organizations_url":"https://api.github.com/users/marstr/orgs","repos_url":"https://api.github.com/users/marstr/repos","events_url":"https://api.github.com/users/marstr/events{/privacy}","received_events_url":"https://api.github.com/users/marstr/received_events","type":"User","site_admin":false},"repo":{"id":130901076,"node_id":"MDEwOlJlcG9zaXRvcnkxMzA5MDEwNzY=","name":"buffalo-azure","full_name":"marstr/buffalo-azure","owner":{"login":"marstr","id":11203166,"node_id":"MDQ6VXNlcjExMjAzMTY2","avatar_url":"https://avatars0.githubusercontent.com/u/11203166?v=4","gravatar_id":"","url":"https://api.github.com/users/marstr","html_url":"https://github.com/marstr","followers_url":"https://api.github.com/users/marstr/followers","following_url":"https://api.github.com/users/marstr/following{/other_user}","gists_url":"https://api.github.com/users/marstr/gists{/gist_id}","starred_url":"https://api.github.com/users/marstr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marstr/subscriptions","organizations_url":"https://api.github.com/users/marstr/orgs","repos_url":"https://api.github.com/users/marstr/repos","events_url":"https://api.github.com/users/marstr/events{/privacy}","received_events_url":"https://api.github.com/users/marstr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/marstr/buffalo-azure","description":"A gobuffalo plugin for working with Azure.","fork":true,"url":"https://api.github.com/repos/marstr/buffalo-azure","forks_url":"https://api.github.com/repos/marstr/buffalo-azure/forks","keys_url":"https://api.github.com/repos/marstr/buffalo-azure/keys{/key_id}","collaborators_url":"https://api.github.com/repos/marstr/buffalo-azure/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/marstr/buffalo-azure/teams","hooks_url":"https://api.github.com/repos/marstr/buffalo-azure/hooks","issue_events_url":"https://api.github.com/repos/marstr/buffalo-azure/issues/events{/number}","events_url":"https://api.github.com/repos/marstr/buffalo-azure/events","assignees_url":"https://api.github.com/repos/marstr/buffalo-azure/assignees{/user}","branches_url":"https://api.github.com/repos/marstr/buffalo-azure/branches{/branch}","tags_url":"https://api.github.com/repos/marstr/buffalo-azure/tags","blobs_url":"https://api.github.com/repos/marstr/buffalo-azure/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/marstr/buffalo-azure/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/marstr/buffalo-azure/git/refs{/sha}","trees_url":"https://api.github.com/repos/marstr/buffalo-azure/git/trees{/sha}","statuses_url":"https://api.github.com/repos/marstr/buffalo-azure/statuses/{sha}","languages_url":"https://api.github.com/repos/marstr/buffalo-azure/languages","stargazers_url":"https://api.github.com/repos/marstr/buffalo-azure/stargazers","contributors_url":"https://api.github.com/repos/marstr/buffalo-azure/contributors","subscribers_url":"https://api.github.com/repos/marstr/buffalo-azure/subscribers","subscription_url":"https://api.github.com/repos/marstr/buffalo-azure/subscription","commits_url":"https://api.github.com/repos/marstr/buffalo-azure/commits{/sha}","git_commits_url":"https://api.github.com/repos/marstr/buffalo-azure/git/commits{/sha}","comments_url":"https://api.github.com/repos/marstr/buffalo-azure/comments{/number}","issue_comment_url":"https://api.github.com/repos/marstr/buffalo-azure/issues/comments{/number}","contents_url":"https://api.github.com/repos/marstr/buffalo-azure/contents/{+path}","compare_url":"https://api.github.com/repos/marstr/buffalo-azure/compare/{base}...{head}","merges_url":"https://api.github.com/repos/marstr/buffalo-azure/merges","archive_url":"https://api.github.com/repos/marstr/buffalo-azure/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/marstr/buffalo-azure/downloads","issues_url":"https://api.github.com/repos/marstr/buffalo-azure/issues{/number}","pulls_url":"https://api.github.com/repos/marstr/buffalo-azure/pulls{/number}","milestones_url":"https://api.github.com/repos/marstr/buffalo-azure/milestones{/number}","notifications_url":"https://api.github.com/repos/marstr/buffalo-azure/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/marstr/buffalo-azure/labels{/name}","releases_url":"https://api.github.com/repos/marstr/buffalo-azure/releases{/id}","deployments_url":"https://api.github.com/repos/marstr/buffalo-azure/deployments","created_at":"2018-04-24T19:00:09Z","updated_at":"2018-07-12T15:44:42Z","pushed_at":"2018-08-02T16:10:17Z","git_url":"git://github.com/marstr/buffalo-azure.git","ssh_url":"git@github.com:marstr/buffalo-azure.git","clone_url":"https://github.com/marstr/buffalo-azure.git","svn_url":"https://github.com/marstr/buffalo-azure","homepage":"https://gobuffalo.io/en/docs/plugins","size":170,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Azure:dev","ref":"dev","sha":"63757398a483a41f568b162c0734b3a1dd321af4","user":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"repo":{"id":129439238,"node_id":"MDEwOlJlcG9zaXRvcnkxMjk0MzkyMzg=","name":"buffalo-azure","full_name":"Azure/buffalo-azure","owner":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Azure/buffalo-azure","description":"A gobuffalo plugin for working with Azure.","fork":false,"url":"https://api.github.com/repos/Azure/buffalo-azure","forks_url":"https://api.github.com/repos/Azure/buffalo-azure/forks","keys_url":"https://api.github.com/repos/Azure/buffalo-azure/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Azure/buffalo-azure/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Azure/buffalo-azure/teams","hooks_url":"https://api.github.com/repos/Azure/buffalo-azure/hooks","issue_events_url":"https://api.github.com/repos/Azure/buffalo-azure/issues/events{/number}","events_url":"https://api.github.com/repos/Azure/buffalo-azure/events","assignees_url":"https://api.github.com/repos/Azure/buffalo-azure/assignees{/user}","branches_url":"https://api.github.com/repos/Azure/buffalo-azure/branches{/branch}","tags_url":"https://api.github.com/repos/Azure/buffalo-azure/tags","blobs_url":"https://api.github.com/repos/Azure/buffalo-azure/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Azure/buffalo-azure/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Azure/buffalo-azure/git/refs{/sha}","trees_url":"https://api.github.com/repos/Azure/buffalo-azure/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Azure/buffalo-azure/statuses/{sha}","languages_url":"https://api.github.com/repos/Azure/buffalo-azure/languages","stargazers_url":"https://api.github.com/repos/Azure/buffalo-azure/stargazers","contributors_url":"https://api.github.com/repos/Azure/buffalo-azure/contributors","subscribers_url":"https://api.github.com/repos/Azure/buffalo-azure/subscribers","subscription_url":"https://api.github.com/repos/Azure/buffalo-azure/subscription","commits_url":"https://api.github.com/repos/Azure/buffalo-azure/commits{/sha}","git_commits_url":"https://api.github.com/repos/Azure/buffalo-azure/git/commits{/sha}","comments_url":"https://api.github.com/repos/Azure/buffalo-azure/comments{/number}","issue_comment_url":"https://api.github.com/repos/Azure/buffalo-azure/issues/comments{/number}","contents_url":"https://api.github.com/repos/Azure/buffalo-azure/contents/{+path}","compare_url":"https://api.github.com/repos/Azure/buffalo-azure/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Azure/buffalo-azure/merges","archive_url":"https://api.github.com/repos/Azure/buffalo-azure/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Azure/buffalo-azure/downloads","issues_url":"https://api.github.com/repos/Azure/buffalo-azure/issues{/number}","pulls_url":"https://api.github.com/repos/Azure/buffalo-azure/pulls{/number}","milestones_url":"https://api.github.com/repos/Azure/buffalo-azure/milestones{/number}","notifications_url":"https://api.github.com/repos/Azure/buffalo-azure/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Azure/buffalo-azure/labels{/name}","releases_url":"https://api.github.com/repos/Azure/buffalo-azure/releases{/id}","deployments_url":"https://api.github.com/repos/Azure/buffalo-azure/deployments","created_at":"2018-04-13T18:24:43Z","updated_at":"2018-07-25T00:40:38Z","pushed_at":"2018-08-14T16:08:31Z","git_url":"git://github.com/Azure/buffalo-azure.git","ssh_url":"git@github.com:Azure/buffalo-azure.git","clone_url":"https://github.com/Azure/buffalo-azure.git","svn_url":"https://github.com/Azure/buffalo-azure","homepage":"https://gobuffalo.io/en/docs/plugins","size":185,"stargazers_count":17,"watchers_count":17,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":18,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":2,"open_issues":18,"watchers":17,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Azure/buffalo-azure/pulls/77"},"html":{"href":"https://github.com/Azure/buffalo-azure/pull/77"},"issue":{"href":"https://api.github.com/repos/Azure/buffalo-azure/issues/77"},"comments":{"href":"https://api.github.com/repos/Azure/buffalo-azure/issues/77/comments"},"review_comments":{"href":"https://api.github.com/repos/Azure/buffalo-azure/pulls/77/comments"},"review_comment":{"href":"https://api.github.com/repos/Azure/buffalo-azure/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Azure/buffalo-azure/pulls/77/commits"},"statuses":{"href":"https://api.github.com/repos/Azure/buffalo-azure/statuses/38e1d18f1a6a0a0f175655b281ecc703815b3580"}},"author_association":"MEMBER","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"marstr","id":11203166,"node_id":"MDQ6VXNlcjExMjAzMTY2","avatar_url":"https://avatars0.githubusercontent.com/u/11203166?v=4","gravatar_id":"","url":"https://api.github.com/users/marstr","html_url":"https://github.com/marstr","followers_url":"https://api.github.com/users/marstr/followers","following_url":"https://api.github.com/users/marstr/following{/other_user}","gists_url":"https://api.github.com/users/marstr/gists{/gist_id}","starred_url":"https://api.github.com/users/marstr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marstr/subscriptions","organizations_url":"https://api.github.com/users/marstr/orgs","repos_url":"https://api.github.com/users/marstr/repos","events_url":"https://api.github.com/users/marstr/events{/privacy}","received_events_url":"https://api.github.com/users/marstr/received_events","type":"User","site_admin":false},"comments":0,"review_comments":4,"maintainer_can_modify":false,"commits":3,"additions":615,"deletions":15,"changed_files":8}}
{"actor":{"display_login":"marstr"}}