Giter Site home page Giter Site logo

anonydog / anonydog Goto Github PK

View Code? Open in Web Editor NEW
145.0 145.0 6.0 777 KB

On the internet, nobody knows you're a dog

Home Page: anonydog-git-master.anonydog.vercel.app

License: MIT License

Ruby 32.38% Shell 7.72% HTML 19.52% CSS 3.05% JavaScript 16.51% HCL 20.64% Mustache 0.19%
bots developer-tools hacktoberfest

anonydog's Issues

multi-server support

The frontend and webhook webapps are currently served by one thin server process each. I'm pretty sure that github treats the webhook requests as "fire and forget", so that won't be a huge problem. But a slow user-facing frontend app can be very annoying (even if used only for requesting new forks).

Por favor faça um logo para a gente

O avatar que o bot usa é de uma foto grátis de catálogo. Seria legal ter um logo para o projeto.

O logo precisa idealmente:

  • Lembrar um cachorro
  • Lembrar um robô
  • Passar a idéia de anonimidade

Publish extension for Chrome

Anonydog has a browser extension that helps people remember to use it by changing the new PR page. It currently is only published in the Firefox store. But it was written using WebExtensions API, which makes it theoretically functional in Chrome also.

We need to verify that the extension really works in Chrome and publish it to the Chrome store.

browser extension: missing privacy policy

AMO says:

Please add a privacy policy to this add-on that details which remote API calls are being made and to what services. If your add-on makes it apparent to websites that it is installed, this must also be mentioned. The policy should be about the extension only, not a copy of the website's privacy policy. It should also be the actual text, as opposed to a link to a privacy policy on a website.

The original message from AMO can be found at https://gist.github.com/thiagoarrais/de5885c92d461b210468a0261c9bc0d2

get that readme working!

  • anonydog.org doesn't even exist
  • check if the github api lets the bot do what we're saying it'll do
  • decide how to deanonimize contributor

https for webapp and webhook

We're currently serving everything with plain http. Although there isn't any known security issue It would be nice to use some Let's Encrypt cert or something.

The webhook requests that arrive to webhook.anonydog.org are signed by github using a shared secret. This prevents a random attacker from impersonating github and triggering a fake webhook action. But I'm not really sure about replay attacks.

comments don't get echoed

the bot could echo comments on the pull request pages back and forth. that would allow the contributor and the upstream team to talk without breaking anonymity.

echo reviews

when someone comments on a line of code, anonydog should echo it back and forth to the original PR.

related to #2

browser extension

Remembering to send pull requests to anonydog is too cumbersome. It would be nice to have the computer remember that for us.

I propose a browser extension that watches over github's pull request pages and augments the "create pull request" button to "create anonymous pull request".

Rebase did not get synchronized

Anonydog didn't synchronize the rebase below despite having received the webhook call correctly.

I think that the issue happens because anonydog uses its own fork master ref as base for the anonymization instead of the upstream master.

The issue was observed with pull request number 1 at anonydog/ruby-bench-web.

The anonymized pull request is number 233 at ruby-bench/ruby-bench-web.

The original (before rebase) branch tip was 1ebe381dbb449c41054a333c47b134911ead6023

The resulting (after rebase) branch tip was 8de94dbeeb68fa9c8096244852fa57cfa2fd64af

The original (before rebase) base was af145315330babc39066bf622645cb64f6b25be6

The new (after rebase) base was 0658fc75fcce9a31ab82c765be4089e6e671e13f

The bot fork master was at af145315330babc39066bf622645cb64f6b25be6 (which is also the original base)

Here is the webhook payload:

{
  "action": "synchronize",
  "number": 1,
  "pull_request": {
    "url": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls/1",
    "id": 131533048,
    "html_url": "https://github.com/anonydog/ruby-bench-web/pull/1",
    "diff_url": "https://github.com/anonydog/ruby-bench-web/pull/1.diff",
    "patch_url": "https://github.com/anonydog/ruby-bench-web/pull/1.patch",
    "issue_url": "https://api.github.com/repos/anonydog/ruby-bench-web/issues/1",
    "number": 1,
    "state": "open",
    "locked": false,
    "title": "Styling for error pages",
    "user": {
      "login": "thiagoarrais",
      "id": 3014,
      "avatar_url": "https://avatars3.githubusercontent.com/u/3014?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/thiagoarrais",
      "html_url": "https://github.com/thiagoarrais",
      "followers_url": "https://api.github.com/users/thiagoarrais/followers",
      "following_url": "https://api.github.com/users/thiagoarrais/following{/other_user}",
      "gists_url": "https://api.github.com/users/thiagoarrais/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/thiagoarrais/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/thiagoarrais/subscriptions",
      "organizations_url": "https://api.github.com/users/thiagoarrais/orgs",
      "repos_url": "https://api.github.com/users/thiagoarrais/repos",
      "events_url": "https://api.github.com/users/thiagoarrais/events{/privacy}",
      "received_events_url": "https://api.github.com/users/thiagoarrais/received_events",
      "type": "User",
      "site_admin": false
    },
    "body": "I'm trying to fix #46 \r\n\r\nThe pull request is currently just a first draft. I intend to build something\r\ntogether with you people.\r\n\r\nPlease take a look at my modified 404 page.\r\n\r\nI've started from the HTML for the \"Contributing\" page  and changed it to make a 404 message. Is this a step in the right direction? I mean... In the visual style sense?\r\n\r\n--------\r\n\r\nThis pull request was sent anonymously through anonydog.\r\n\r\nThere is a person behind the curtain. But the bot hides the real author.\r\n\r\nAnonydog wants to allow people to watch how Github project maintainers behave when they don't know who is behind the keyboard.\r\n\r\nBut the code is still in its early testing stages. I want to ask you to please spend some minutes trying to identify who is the real author of this pull request. In case you manage to do it, please open an issue with the `deanonymization` label in the `anonydog/anonydog` project telling me how did you do it.\r\n",
    "created_at": "2017-07-20T11:39:51Z",
    "updated_at": "2017-08-18T12:59:47Z",
    "closed_at": null,
    "merged_at": null,
    "merge_commit_sha": "66261f5b8e4486116d5a42741ed7d473357b4e42",
    "assignee": null,
    "assignees": [

    ],
    "requested_reviewers": [

    ],
    "milestone": null,
    "commits_url": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls/1/commits",
    "review_comments_url": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls/1/comments",
    "review_comment_url": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls/comments{/number}",
    "comments_url": "https://api.github.com/repos/anonydog/ruby-bench-web/issues/1/comments",
    "statuses_url": "https://api.github.com/repos/anonydog/ruby-bench-web/statuses/8de94dbeeb68fa9c8096244852fa57cfa2fd64af",
    "head": {
      "label": "thiagoarrais:styling-error-pages",
      "ref": "styling-error-pages",
      "sha": "8de94dbeeb68fa9c8096244852fa57cfa2fd64af",
      "user": {
        "login": "thiagoarrais",
        "id": 3014,
        "avatar_url": "https://avatars3.githubusercontent.com/u/3014?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/thiagoarrais",
        "html_url": "https://github.com/thiagoarrais",
        "followers_url": "https://api.github.com/users/thiagoarrais/followers",
        "following_url": "https://api.github.com/users/thiagoarrais/following{/other_user}",
        "gists_url": "https://api.github.com/users/thiagoarrais/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/thiagoarrais/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/thiagoarrais/subscriptions",
        "organizations_url": "https://api.github.com/users/thiagoarrais/orgs",
        "repos_url": "https://api.github.com/users/thiagoarrais/repos",
        "events_url": "https://api.github.com/users/thiagoarrais/events{/privacy}",
        "received_events_url": "https://api.github.com/users/thiagoarrais/received_events",
        "type": "User",
        "site_admin": false
      },
      "repo": {
        "id": 97649081,
        "name": "ruby-bench-web",
        "full_name": "thiagoarrais/ruby-bench-web",
        "owner": {
          "login": "thiagoarrais",
          "id": 3014,
          "avatar_url": "https://avatars3.githubusercontent.com/u/3014?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/thiagoarrais",
          "html_url": "https://github.com/thiagoarrais",
          "followers_url": "https://api.github.com/users/thiagoarrais/followers",
          "following_url": "https://api.github.com/users/thiagoarrais/following{/other_user}",
          "gists_url": "https://api.github.com/users/thiagoarrais/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/thiagoarrais/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/thiagoarrais/subscriptions",
          "organizations_url": "https://api.github.com/users/thiagoarrais/orgs",
          "repos_url": "https://api.github.com/users/thiagoarrais/repos",
          "events_url": "https://api.github.com/users/thiagoarrais/events{/privacy}",
          "received_events_url": "https://api.github.com/users/thiagoarrais/received_events",
          "type": "User",
          "site_admin": false
        },
        "private": false,
        "html_url": "https://github.com/thiagoarrais/ruby-bench-web",
        "description": "Long Running Ruby Benchmarks",
        "fork": true,
        "url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web",
        "forks_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/forks",
        "keys_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/keys{/key_id}",
        "collaborators_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/collaborators{/collaborator}",
        "teams_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/teams",
        "hooks_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/hooks",
        "issue_events_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/issues/events{/number}",
        "events_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/events",
        "assignees_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/assignees{/user}",
        "branches_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/branches{/branch}",
        "tags_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/tags",
        "blobs_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/git/blobs{/sha}",
        "git_tags_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/git/tags{/sha}",
        "git_refs_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/git/refs{/sha}",
        "trees_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/git/trees{/sha}",
        "statuses_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/statuses/{sha}",
        "languages_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/languages",
        "stargazers_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/stargazers",
        "contributors_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/contributors",
        "subscribers_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/subscribers",
        "subscription_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/subscription",
        "commits_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/commits{/sha}",
        "git_commits_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/git/commits{/sha}",
        "comments_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/comments{/number}",
        "issue_comment_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/issues/comments{/number}",
        "contents_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/contents/{+path}",
        "compare_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/compare/{base}...{head}",
        "merges_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/merges",
        "archive_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/{archive_format}{/ref}",
        "downloads_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/downloads",
        "issues_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/issues{/number}",
        "pulls_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/pulls{/number}",
        "milestones_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/milestones{/number}",
        "notifications_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/notifications{?since,all,participating}",
        "labels_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/labels{/name}",
        "releases_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/releases{/id}",
        "deployments_url": "https://api.github.com/repos/thiagoarrais/ruby-bench-web/deployments",
        "created_at": "2017-07-18T22:23:43Z",
        "updated_at": "2017-07-18T22:23:44Z",
        "pushed_at": "2017-08-18T12:59:47Z",
        "git_url": "git://github.com/thiagoarrais/ruby-bench-web.git",
        "ssh_url": "[email protected]:thiagoarrais/ruby-bench-web.git",
        "clone_url": "https://github.com/thiagoarrais/ruby-bench-web.git",
        "svn_url": "https://github.com/thiagoarrais/ruby-bench-web",
        "homepage": "https://rubybench.org",
        "size": 5011,
        "stargazers_count": 0,
        "watchers_count": 0,
        "language": "Ruby",
        "has_issues": false,
        "has_projects": true,
        "has_downloads": true,
        "has_wiki": true,
        "has_pages": false,
        "forks_count": 0,
        "mirror_url": null,
        "open_issues_count": 0,
        "forks": 0,
        "open_issues": 0,
        "watchers": 0,
        "default_branch": "master"
      }
    },
    "base": {
      "label": "anonydog:master",
      "ref": "master",
      "sha": "af145315330babc39066bf622645cb64f6b25be6",
      "user": {
        "login": "anonydog",
        "id": 24738062,
        "avatar_url": "https://avatars1.githubusercontent.com/u/24738062?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/anonydog",
        "html_url": "https://github.com/anonydog",
        "followers_url": "https://api.github.com/users/anonydog/followers",
        "following_url": "https://api.github.com/users/anonydog/following{/other_user}",
        "gists_url": "https://api.github.com/users/anonydog/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/anonydog/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/anonydog/subscriptions",
        "organizations_url": "https://api.github.com/users/anonydog/orgs",
        "repos_url": "https://api.github.com/users/anonydog/repos",
        "events_url": "https://api.github.com/users/anonydog/events{/privacy}",
        "received_events_url": "https://api.github.com/users/anonydog/received_events",
        "type": "User",
        "site_admin": false
      },
      "repo": {
        "id": 97828461,
        "name": "ruby-bench-web",
        "full_name": "anonydog/ruby-bench-web",
        "owner": {
          "login": "anonydog",
          "id": 24738062,
          "avatar_url": "https://avatars1.githubusercontent.com/u/24738062?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/anonydog",
          "html_url": "https://github.com/anonydog",
          "followers_url": "https://api.github.com/users/anonydog/followers",
          "following_url": "https://api.github.com/users/anonydog/following{/other_user}",
          "gists_url": "https://api.github.com/users/anonydog/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/anonydog/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/anonydog/subscriptions",
          "organizations_url": "https://api.github.com/users/anonydog/orgs",
          "repos_url": "https://api.github.com/users/anonydog/repos",
          "events_url": "https://api.github.com/users/anonydog/events{/privacy}",
          "received_events_url": "https://api.github.com/users/anonydog/received_events",
          "type": "User",
          "site_admin": false
        },
        "private": false,
        "html_url": "https://github.com/anonydog/ruby-bench-web",
        "description": "Long Running Ruby Benchmarks",
        "fork": true,
        "url": "https://api.github.com/repos/anonydog/ruby-bench-web",
        "forks_url": "https://api.github.com/repos/anonydog/ruby-bench-web/forks",
        "keys_url": "https://api.github.com/repos/anonydog/ruby-bench-web/keys{/key_id}",
        "collaborators_url": "https://api.github.com/repos/anonydog/ruby-bench-web/collaborators{/collaborator}",
        "teams_url": "https://api.github.com/repos/anonydog/ruby-bench-web/teams",
        "hooks_url": "https://api.github.com/repos/anonydog/ruby-bench-web/hooks",
        "issue_events_url": "https://api.github.com/repos/anonydog/ruby-bench-web/issues/events{/number}",
        "events_url": "https://api.github.com/repos/anonydog/ruby-bench-web/events",
        "assignees_url": "https://api.github.com/repos/anonydog/ruby-bench-web/assignees{/user}",
        "branches_url": "https://api.github.com/repos/anonydog/ruby-bench-web/branches{/branch}",
        "tags_url": "https://api.github.com/repos/anonydog/ruby-bench-web/tags",
        "blobs_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/blobs{/sha}",
        "git_tags_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/tags{/sha}",
        "git_refs_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/refs{/sha}",
        "trees_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/trees{/sha}",
        "statuses_url": "https://api.github.com/repos/anonydog/ruby-bench-web/statuses/{sha}",
        "languages_url": "https://api.github.com/repos/anonydog/ruby-bench-web/languages",
        "stargazers_url": "https://api.github.com/repos/anonydog/ruby-bench-web/stargazers",
        "contributors_url": "https://api.github.com/repos/anonydog/ruby-bench-web/contributors",
        "subscribers_url": "https://api.github.com/repos/anonydog/ruby-bench-web/subscribers",
        "subscription_url": "https://api.github.com/repos/anonydog/ruby-bench-web/subscription",
        "commits_url": "https://api.github.com/repos/anonydog/ruby-bench-web/commits{/sha}",
        "git_commits_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/commits{/sha}",
        "comments_url": "https://api.github.com/repos/anonydog/ruby-bench-web/comments{/number}",
        "issue_comment_url": "https://api.github.com/repos/anonydog/ruby-bench-web/issues/comments{/number}",
        "contents_url": "https://api.github.com/repos/anonydog/ruby-bench-web/contents/{+path}",
        "compare_url": "https://api.github.com/repos/anonydog/ruby-bench-web/compare/{base}...{head}",
        "merges_url": "https://api.github.com/repos/anonydog/ruby-bench-web/merges",
        "archive_url": "https://api.github.com/repos/anonydog/ruby-bench-web/{archive_format}{/ref}",
        "downloads_url": "https://api.github.com/repos/anonydog/ruby-bench-web/downloads",
        "issues_url": "https://api.github.com/repos/anonydog/ruby-bench-web/issues{/number}",
        "pulls_url": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls{/number}",
        "milestones_url": "https://api.github.com/repos/anonydog/ruby-bench-web/milestones{/number}",
        "notifications_url": "https://api.github.com/repos/anonydog/ruby-bench-web/notifications{?since,all,participating}",
        "labels_url": "https://api.github.com/repos/anonydog/ruby-bench-web/labels{/name}",
        "releases_url": "https://api.github.com/repos/anonydog/ruby-bench-web/releases{/id}",
        "deployments_url": "https://api.github.com/repos/anonydog/ruby-bench-web/deployments",
        "created_at": "2017-07-20T11:38:57Z",
        "updated_at": "2017-07-20T11:38:59Z",
        "pushed_at": "2017-07-26T14:27:06Z",
        "git_url": "git://github.com/anonydog/ruby-bench-web.git",
        "ssh_url": "[email protected]:anonydog/ruby-bench-web.git",
        "clone_url": "https://github.com/anonydog/ruby-bench-web.git",
        "svn_url": "https://github.com/anonydog/ruby-bench-web",
        "homepage": "https://rubybench.org",
        "size": 5011,
        "stargazers_count": 0,
        "watchers_count": 0,
        "language": "Ruby",
        "has_issues": false,
        "has_projects": true,
        "has_downloads": true,
        "has_wiki": true,
        "has_pages": false,
        "forks_count": 0,
        "mirror_url": null,
        "open_issues_count": 1,
        "forks": 0,
        "open_issues": 1,
        "watchers": 0,
        "default_branch": "master"
      }
    },
    "_links": {
      "self": {
        "href": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls/1"
      },
      "html": {
        "href": "https://github.com/anonydog/ruby-bench-web/pull/1"
      },
      "issue": {
        "href": "https://api.github.com/repos/anonydog/ruby-bench-web/issues/1"
      },
      "comments": {
        "href": "https://api.github.com/repos/anonydog/ruby-bench-web/issues/1/comments"
      },
      "review_comments": {
        "href": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls/1/comments"
      },
      "review_comment": {
        "href": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls/comments{/number}"
      },
      "commits": {
        "href": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls/1/commits"
      },
      "statuses": {
        "href": "https://api.github.com/repos/anonydog/ruby-bench-web/statuses/8de94dbeeb68fa9c8096244852fa57cfa2fd64af"
      }
    },
    "merged": false,
    "mergeable": null,
    "rebaseable": null,
    "mergeable_state": "unknown",
    "merged_by": null,
    "comments": 20,
    "review_comments": 0,
    "maintainer_can_modify": true,
    "commits": 81,
    "additions": 1270,
    "deletions": 431,
    "changed_files": 57
  },
  "before": "1ebe381dbb449c41054a333c47b134911ead6023",
  "after": "8de94dbeeb68fa9c8096244852fa57cfa2fd64af",
  "repository": {
    "id": 97828461,
    "name": "ruby-bench-web",
    "full_name": "anonydog/ruby-bench-web",
    "owner": {
      "login": "anonydog",
      "id": 24738062,
      "avatar_url": "https://avatars1.githubusercontent.com/u/24738062?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/anonydog",
      "html_url": "https://github.com/anonydog",
      "followers_url": "https://api.github.com/users/anonydog/followers",
      "following_url": "https://api.github.com/users/anonydog/following{/other_user}",
      "gists_url": "https://api.github.com/users/anonydog/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/anonydog/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/anonydog/subscriptions",
      "organizations_url": "https://api.github.com/users/anonydog/orgs",
      "repos_url": "https://api.github.com/users/anonydog/repos",
      "events_url": "https://api.github.com/users/anonydog/events{/privacy}",
      "received_events_url": "https://api.github.com/users/anonydog/received_events",
      "type": "User",
      "site_admin": false
    },
    "private": false,
    "html_url": "https://github.com/anonydog/ruby-bench-web",
    "description": "Long Running Ruby Benchmarks",
    "fork": true,
    "url": "https://api.github.com/repos/anonydog/ruby-bench-web",
    "forks_url": "https://api.github.com/repos/anonydog/ruby-bench-web/forks",
    "keys_url": "https://api.github.com/repos/anonydog/ruby-bench-web/keys{/key_id}",
    "collaborators_url": "https://api.github.com/repos/anonydog/ruby-bench-web/collaborators{/collaborator}",
    "teams_url": "https://api.github.com/repos/anonydog/ruby-bench-web/teams",
    "hooks_url": "https://api.github.com/repos/anonydog/ruby-bench-web/hooks",
    "issue_events_url": "https://api.github.com/repos/anonydog/ruby-bench-web/issues/events{/number}",
    "events_url": "https://api.github.com/repos/anonydog/ruby-bench-web/events",
    "assignees_url": "https://api.github.com/repos/anonydog/ruby-bench-web/assignees{/user}",
    "branches_url": "https://api.github.com/repos/anonydog/ruby-bench-web/branches{/branch}",
    "tags_url": "https://api.github.com/repos/anonydog/ruby-bench-web/tags",
    "blobs_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/blobs{/sha}",
    "git_tags_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/tags{/sha}",
    "git_refs_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/refs{/sha}",
    "trees_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/trees{/sha}",
    "statuses_url": "https://api.github.com/repos/anonydog/ruby-bench-web/statuses/{sha}",
    "languages_url": "https://api.github.com/repos/anonydog/ruby-bench-web/languages",
    "stargazers_url": "https://api.github.com/repos/anonydog/ruby-bench-web/stargazers",
    "contributors_url": "https://api.github.com/repos/anonydog/ruby-bench-web/contributors",
    "subscribers_url": "https://api.github.com/repos/anonydog/ruby-bench-web/subscribers",
    "subscription_url": "https://api.github.com/repos/anonydog/ruby-bench-web/subscription",
    "commits_url": "https://api.github.com/repos/anonydog/ruby-bench-web/commits{/sha}",
    "git_commits_url": "https://api.github.com/repos/anonydog/ruby-bench-web/git/commits{/sha}",
    "comments_url": "https://api.github.com/repos/anonydog/ruby-bench-web/comments{/number}",
    "issue_comment_url": "https://api.github.com/repos/anonydog/ruby-bench-web/issues/comments{/number}",
    "contents_url": "https://api.github.com/repos/anonydog/ruby-bench-web/contents/{+path}",
    "compare_url": "https://api.github.com/repos/anonydog/ruby-bench-web/compare/{base}...{head}",
    "merges_url": "https://api.github.com/repos/anonydog/ruby-bench-web/merges",
    "archive_url": "https://api.github.com/repos/anonydog/ruby-bench-web/{archive_format}{/ref}",
    "downloads_url": "https://api.github.com/repos/anonydog/ruby-bench-web/downloads",
    "issues_url": "https://api.github.com/repos/anonydog/ruby-bench-web/issues{/number}",
    "pulls_url": "https://api.github.com/repos/anonydog/ruby-bench-web/pulls{/number}",
    "milestones_url": "https://api.github.com/repos/anonydog/ruby-bench-web/milestones{/number}",
    "notifications_url": "https://api.github.com/repos/anonydog/ruby-bench-web/notifications{?since,all,participating}",
    "labels_url": "https://api.github.com/repos/anonydog/ruby-bench-web/labels{/name}",
    "releases_url": "https://api.github.com/repos/anonydog/ruby-bench-web/releases{/id}",
    "deployments_url": "https://api.github.com/repos/anonydog/ruby-bench-web/deployments",
    "created_at": "2017-07-20T11:38:57Z",
    "updated_at": "2017-07-20T11:38:59Z",
    "pushed_at": "2017-07-26T14:27:06Z",
    "git_url": "git://github.com/anonydog/ruby-bench-web.git",
    "ssh_url": "[email protected]:anonydog/ruby-bench-web.git",
    "clone_url": "https://github.com/anonydog/ruby-bench-web.git",
    "svn_url": "https://github.com/anonydog/ruby-bench-web",
    "homepage": "https://rubybench.org",
    "size": 5011,
    "stargazers_count": 0,
    "watchers_count": 0,
    "language": "Ruby",
    "has_issues": false,
    "has_projects": true,
    "has_downloads": true,
    "has_wiki": true,
    "has_pages": false,
    "forks_count": 0,
    "mirror_url": null,
    "open_issues_count": 1,
    "forks": 0,
    "open_issues": 1,
    "watchers": 0,
    "default_branch": "master"
  },
  "sender": {
    "login": "thiagoarrais",
    "id": 3014,
    "avatar_url": "https://avatars3.githubusercontent.com/u/3014?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/thiagoarrais",
    "html_url": "https://github.com/thiagoarrais",
    "followers_url": "https://api.github.com/users/thiagoarrais/followers",
    "following_url": "https://api.github.com/users/thiagoarrais/following{/other_user}",
    "gists_url": "https://api.github.com/users/thiagoarrais/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/thiagoarrais/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/thiagoarrais/subscriptions",
    "organizations_url": "https://api.github.com/users/thiagoarrais/orgs",
    "repos_url": "https://api.github.com/users/thiagoarrais/repos",
    "events_url": "https://api.github.com/users/thiagoarrais/events{/privacy}",
    "received_events_url": "https://api.github.com/users/thiagoarrais/received_events",
    "type": "User",
    "site_admin": false
  }
}

Webhook call ref is 1d2e4240-8415-11e7-8406-54fe9b5358f5

Notify author when PR gets merged

The author currently does not get pinged when/if the anonymous pull request gets merged on the upstream repo.

Maybe closing the pull request is a good idea.

need to start apps manually

I need to start the sinatra apps + rabbitmq consumer manually after creating the production server. It would be nice to have a script that spins up a new server that "just works".

Cannot link to contributor comment (?)

Github linked the original pull request from the anonymized one saying that "anonydog referenced this pull request in anonydog/ruby-bench-web some time ago."

I think that happens because anonydog links to the original comment when relaying maintainer comments to the contributor pull request. Need to test that.

commits don't get added

the bot could add commits to its branch whenever the contributor added commits to theirs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.