{"action":"created","comment":{"url":"https://api.github.com/repos/mozilla/mozregression/pulls/comments/33888629","id":33888629,"diff_hunk":"@@ -174,47 +173,55 @@ def set_inbound_branch(self, inbound_branch):\n         if inbound_branch:\n             self.inbound_branch = inbound_branch\n \n-    def inbound_base_urls(self):\n+    def tk_inbound_route(self, changeset):\n+        \"\"\"\n+        Returns a taskcluster route for a specific changeset.\n+        \"\"\"\n         raise NotImplementedError\n \n \n-class FirefoxInboundConfigMixin(InboundConfigMixin):\n-    build_base_os_part = {\n-        'linux': {32: 'linux', 64: 'linux64'},\n-        'win': {32: 'win32', 64: 'win64'},\n-        'mac': {64: 'macosx64'}\n-    }\n-    root_build_base_url = ('http://inbound-archive.pub.build.mozilla.org/pub'\n-                           '/mozilla.org/firefox/tinderbox-builds/%s-%s/')\n+def _common_tk_part(inbound_conf):\n+    # private method to avoid copy/paste for building taskcluster route part.\n+    if inbound_conf.os == 'linux':\n+        part = 'linux'\n+        if inbound_conf.bits == 64:\n+            part += str(inbound_conf.bits)\n+    elif inbound_conf.os == 'mac':\n+        part = 'macosx64'\n+    else:\n+        # windows\n+        part = '%s%s' % (inbound_conf.os, inbound_conf.bits)\n+    return part\n \n-    def inbound_base_urls(self):\n-        return [self.root_build_base_url\n-                % (self.inbound_branch,\n-                   self.build_base_os_part[self.os][self.bits])]\n+\n+class FirefoxInboundConfigMixin(InboundConfigMixin):\n+    def tk_inbound_route(self, changeset):\n+        return 'buildbot.revisions.%s.%s.%s' % (","path":"mozregression/fetch_configs.py","position":48,"original_position":48,"commit_id":"5fc6e386c62dd45c6e5765c98d27559db8fe5e82","original_commit_id":"5fc6e386c62dd45c6e5765c98d27559db8fe5e82","user":{"login":"wlach","id":20569,"avatar_url":"https://avatars.githubusercontent.com/u/20569?v=3","gravatar_id":"","url":"https://api.github.com/users/wlach","html_url":"https://github.com/wlach","followers_url":"https://api.github.com/users/wlach/followers","following_url":"https://api.github.com/users/wlach/following{/other_user}","gists_url":"https://api.github.com/users/wlach/gists{/gist_id}","starred_url":"https://api.github.com/users/wlach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wlach/subscriptions","organizations_url":"https://api.github.com/users/wlach/orgs","repos_url":"https://api.github.com/users/wlach/repos","events_url":"https://api.github.com/users/wlach/events{/privacy}","received_events_url":"https://api.github.com/users/wlach/received_events","type":"User","site_admin":false},"body":"lately I've been more into using format for this sort of thing (i.e. `return 'buildbot.revisions.{}.{}.{}'.format(...)`) as I think it's a little easier to read/understand","created_at":"2015-07-04T16:49:19Z","updated_at":"2015-07-04T16:49:19Z","html_url":"https://github.com/mozilla/mozregression/pull/248#discussion_r33888629","pull_request_url":"https://api.github.com/repos/mozilla/mozregression/pulls/248","_links":{"self":{"href":"https://api.github.com/repos/mozilla/mozregression/pulls/comments/33888629"},"html":{"href":"https://github.com/mozilla/mozregression/pull/248#discussion_r33888629"},"pull_request":{"href":"https://api.github.com/repos/mozilla/mozregression/pulls/248"}}},"pull_request":{"url":"https://api.github.com/repos/mozilla/mozregression/pulls/248","id":39177805,"html_url":"https://github.com/mozilla/mozregression/pull/248","diff_url":"https://github.com/mozilla/mozregression/pull/248.diff","patch_url":"https://github.com/mozilla/mozregression/pull/248.patch","issue_url":"https://api.github.com/repos/mozilla/mozregression/issues/248","number":248,"state":"open","locked":false,"title":"Taskcluster inbound","user":{"login":"parkouss","id":7723923,"avatar_url":"https://avatars.githubusercontent.com/u/7723923?v=3","gravatar_id":"","url":"https://api.github.com/users/parkouss","html_url":"https://github.com/parkouss","followers_url":"https://api.github.com/users/parkouss/followers","following_url":"https://api.github.com/users/parkouss/following{/other_user}","gists_url":"https://api.github.com/users/parkouss/gists{/gist_id}","starred_url":"https://api.github.com/users/parkouss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/parkouss/subscriptions","organizations_url":"https://api.github.com/users/parkouss/orgs","repos_url":"https://api.github.com/users/parkouss/repos","events_url":"https://api.github.com/users/parkouss/events{/privacy}","received_events_url":"https://api.github.com/users/parkouss/received_events","type":"User","site_admin":false},"body":"Yup, that's it - integration of taskcluster for inbound. :)","created_at":"2015-07-03T14:03:44Z","updated_at":"2015-07-04T16:49:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1f4412547f6b485d84f0117257bff5b46dd4368f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mozilla/mozregression/pulls/248/commits","review_comments_url":"https://api.github.com/repos/mozilla/mozregression/pulls/248/comments","review_comment_url":"https://api.github.com/repos/mozilla/mozregression/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mozilla/mozregression/issues/248/comments","statuses_url":"https://api.github.com/repos/mozilla/mozregression/statuses/5fc6e386c62dd45c6e5765c98d27559db8fe5e82","head":{"label":"parkouss:taskcluster-inbound","ref":"taskcluster-inbound","sha":"5fc6e386c62dd45c6e5765c98d27559db8fe5e82","user":{"login":"parkouss","id":7723923,"avatar_url":"https://avatars.githubusercontent.com/u/7723923?v=3","gravatar_id":"","url":"https://api.github.com/users/parkouss","html_url":"https://github.com/parkouss","followers_url":"https://api.github.com/users/parkouss/followers","following_url":"https://api.github.com/users/parkouss/following{/other_user}","gists_url":"https://api.github.com/users/parkouss/gists{/gist_id}","starred_url":"https://api.github.com/users/parkouss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/parkouss/subscriptions","organizations_url":"https://api.github.com/users/parkouss/orgs","repos_url":"https://api.github.com/users/parkouss/repos","events_url":"https://api.github.com/users/parkouss/events{/privacy}","received_events_url":"https://api.github.com/users/parkouss/received_events","type":"User","site_admin":false},"repo":{"id":20301061,"name":"mozregression","full_name":"parkouss/mozregression","owner":{"login":"parkouss","id":7723923,"avatar_url":"https://avatars.githubusercontent.com/u/7723923?v=3","gravatar_id":"","url":"https://api.github.com/users/parkouss","html_url":"https://github.com/parkouss","followers_url":"https://api.github.com/users/parkouss/followers","following_url":"https://api.github.com/users/parkouss/following{/other_user}","gists_url":"https://api.github.com/users/parkouss/gists{/gist_id}","starred_url":"https://api.github.com/users/parkouss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/parkouss/subscriptions","organizations_url":"https://api.github.com/users/parkouss/orgs","repos_url":"https://api.github.com/users/parkouss/repos","events_url":"https://api.github.com/users/parkouss/events{/privacy}","received_events_url":"https://api.github.com/users/parkouss/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/parkouss/mozregression","description":"Regression range finder for Mozilla nightly builds","fork":true,"url":"https://api.github.com/repos/parkouss/mozregression","forks_url":"https://api.github.com/repos/parkouss/mozregression/forks","keys_url":"https://api.github.com/repos/parkouss/mozregression/keys{/key_id}","collaborators_url":"https://api.github.com/repos/parkouss/mozregression/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/parkouss/mozregression/teams","hooks_url":"https://api.github.com/repos/parkouss/mozregression/hooks","issue_events_url":"https://api.github.com/repos/parkouss/mozregression/issues/events{/number}","events_url":"https://api.github.com/repos/parkouss/mozregression/events","assignees_url":"https://api.github.com/repos/parkouss/mozregression/assignees{/user}","branches_url":"https://api.github.com/repos/parkouss/mozregression/branches{/branch}","tags_url":"https://api.github.com/repos/parkouss/mozregression/tags","blobs_url":"https://api.github.com/repos/parkouss/mozregression/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/parkouss/mozregression/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/parkouss/mozregression/git/refs{/sha}","trees_url":"https://api.github.com/repos/parkouss/mozregression/git/trees{/sha}","statuses_url":"https://api.github.com/repos/parkouss/mozregression/statuses/{sha}","languages_url":"https://api.github.com/repos/parkouss/mozregression/languages","stargazers_url":"https://api.github.com/repos/parkouss/mozregression/stargazers","contributors_url":"https://api.github.com/repos/parkouss/mozregression/contributors","subscribers_url":"https://api.github.com/repos/parkouss/mozregression/subscribers","subscription_url":"https://api.github.com/repos/parkouss/mozregression/subscription","commits_url":"https://api.github.com/repos/parkouss/mozregression/commits{/sha}","git_commits_url":"https://api.github.com/repos/parkouss/mozregression/git/commits{/sha}","comments_url":"https://api.github.com/repos/parkouss/mozregression/comments{/number}","issue_comment_url":"https://api.github.com/repos/parkouss/mozregression/issues/comments{/number}","contents_url":"https://api.github.com/repos/parkouss/mozregression/contents/{+path}","compare_url":"https://api.github.com/repos/parkouss/mozregression/compare/{base}...{head}","merges_url":"https://api.github.com/repos/parkouss/mozregression/merges","archive_url":"https://api.github.com/repos/parkouss/mozregression/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/parkouss/mozregression/downloads","issues_url":"https://api.github.com/repos/parkouss/mozregression/issues{/number}","pulls_url":"https://api.github.com/repos/parkouss/mozregression/pulls{/number}","milestones_url":"https://api.github.com/repos/parkouss/mozregression/milestones{/number}","notifications_url":"https://api.github.com/repos/parkouss/mozregression/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/parkouss/mozregression/labels{/name}","releases_url":"https://api.github.com/repos/parkouss/mozregression/releases{/id}","created_at":"2014-05-29T16:53:07Z","updated_at":"2015-05-04T06:08:28Z","pushed_at":"2015-07-03T14:01:17Z","git_url":"git://github.com/parkouss/mozregression.git","ssh_url":"git@github.com:parkouss/mozregression.git","clone_url":"https://github.com/parkouss/mozregression.git","svn_url":"https://github.com/parkouss/mozregression","homepage":"http://mozilla.github.com/mozregression","size":2410,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mozilla:master","ref":"master","sha":"f9fbe155a2247b866dc94692a4c3aa1cb74ae2f3","user":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"repo":{"id":512679,"name":"mozregression","full_name":"mozilla/mozregression","owner":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mozilla/mozregression","description":"Regression range finder for Mozilla nightly builds","fork":false,"url":"https://api.github.com/repos/mozilla/mozregression","forks_url":"https://api.github.com/repos/mozilla/mozregression/forks","keys_url":"https://api.github.com/repos/mozilla/mozregression/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mozilla/mozregression/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mozilla/mozregression/teams","hooks_url":"https://api.github.com/repos/mozilla/mozregression/hooks","issue_events_url":"https://api.github.com/repos/mozilla/mozregression/issues/events{/number}","events_url":"https://api.github.com/repos/mozilla/mozregression/events","assignees_url":"https://api.github.com/repos/mozilla/mozregression/assignees{/user}","branches_url":"https://api.github.com/repos/mozilla/mozregression/branches{/branch}","tags_url":"https://api.github.com/repos/mozilla/mozregression/tags","blobs_url":"https://api.github.com/repos/mozilla/mozregression/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mozilla/mozregression/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mozilla/mozregression/git/refs{/sha}","trees_url":"https://api.github.com/repos/mozilla/mozregression/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mozilla/mozregression/statuses/{sha}","languages_url":"https://api.github.com/repos/mozilla/mozregression/languages","stargazers_url":"https://api.github.com/repos/mozilla/mozregression/stargazers","contributors_url":"https://api.github.com/repos/mozilla/mozregression/contributors","subscribers_url":"https://api.github.com/repos/mozilla/mozregression/subscribers","subscription_url":"https://api.github.com/repos/mozilla/mozregression/subscription","commits_url":"https://api.github.com/repos/mozilla/mozregression/commits{/sha}","git_commits_url":"https://api.github.com/repos/mozilla/mozregression/git/commits{/sha}","comments_url":"https://api.github.com/repos/mozilla/mozregression/comments{/number}","issue_comment_url":"https://api.github.com/repos/mozilla/mozregression/issues/comments{/number}","contents_url":"https://api.github.com/repos/mozilla/mozregression/contents/{+path}","compare_url":"https://api.github.com/repos/mozilla/mozregression/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mozilla/mozregression/merges","archive_url":"https://api.github.com/repos/mozilla/mozregression/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mozilla/mozregression/downloads","issues_url":"https://api.github.com/repos/mozilla/mozregression/issues{/number}","pulls_url":"https://api.github.com/repos/mozilla/mozregression/pulls{/number}","milestones_url":"https://api.github.com/repos/mozilla/mozregression/milestones{/number}","notifications_url":"https://api.github.com/repos/mozilla/mozregression/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mozilla/mozregression/labels{/name}","releases_url":"https://api.github.com/repos/mozilla/mozregression/releases{/id}","created_at":"2010-02-11T05:49:14Z","updated_at":"2015-07-02T17:47:27Z","pushed_at":"2015-07-03T14:03:44Z","git_url":"git://github.com/mozilla/mozregression.git","ssh_url":"git@github.com:mozilla/mozregression.git","clone_url":"https://github.com/mozilla/mozregression.git","svn_url":"https://github.com/mozilla/mozregression","homepage":"http://mozilla.github.com/mozregression","size":2781,"stargazers_count":49,"watchers_count":49,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":44,"mirror_url":null,"open_issues_count":4,"forks":44,"open_issues":4,"watchers":49,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mozilla/mozregression/pulls/248"},"html":{"href":"https://github.com/mozilla/mozregression/pull/248"},"issue":{"href":"https://api.github.com/repos/mozilla/mozregression/issues/248"},"comments":{"href":"https://api.github.com/repos/mozilla/mozregression/issues/248/comments"},"review_comments":{"href":"https://api.github.com/repos/mozilla/mozregression/pulls/248/comments"},"review_comment":{"href":"https://api.github.com/repos/mozilla/mozregression/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mozilla/mozregression/pulls/248/commits"},"statuses":{"href":"https://api.github.com/repos/mozilla/mozregression/statuses/5fc6e386c62dd45c6e5765c98d27559db8fe5e82"}}}}