{"action":"created","comment":{"url":"https://api.github.com/repos/coreos/quay-docs/pulls/comments/28743139","id":28743139,"diff_hunk":"@@ -0,0 +1,63 @@\n+---\n+layout: doc\n+sublayout: guide\n+title: Setting up a Custom Git Trigger\n+---\n+<p>\n+  A Custom Git Trigger is a generic way for any git server to act as a build trigger.<br>\n+  It relies solely on SSH keys and its webhook endpoint; everything else is left to the user to implement.\n+</p>\n+\n+<h3>Creating a Trigger</h3>\n+\n+<p>Creating a Custom Git Trigger is similar to the creation of any other trigger with a few subtle differences:</p>\n+<ol>\n+  <li>It is not possible for Quay.io to automatically detect the proper robot account to use with the trigger. This must be done manually in the creation process.</li>\n+  <li>There are extra steps after the creation of the trigger that must be done in order to use the trigger. These steps are detailed below.</li>\n+</ol>\n+\n+<h3>Post-creation setup</h3>\n+\n+<p>Once a trigger has been created, there are 2 additional steps required before the trigger can be used:</p>\n+<ol>\n+  <li>Provide read access to the <b>SSH public key</b> generated when creating the trigger.</li>\n+  <li>Setup a <b>webhook</b> that POSTs to the Quay.io endpoint to trigger a build.</li>\n+</ol>\n+<p>The key and the URL are both available at all times by selecting 'View Credentials' from the gear located in the trigger listing.</p>\n+\n+<div class=\"article-image\">\n+  <a href=\"view-credentials.png\"><img src=\"view-credentials.png\" style=\"height:50%; width:50%\"></a>\n+</div>\n+\n+<h4>SSH public key access</h4>\n+\n+<p>Depending on the git server setup, there are various ways to install the SSH public key that Quay.io generates for a custom git trigger. For example, <a href=\"https://git-scm.herokuapp.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server\">the git documentation</a> describes a small server setup in which simply adding the key to <code>$HOME/.ssh/authorize_keys</code> would provide access for builders to clone the repository. For any git repository management software that isn't officially supported, there is usually a location to input the key often labeled as \"Deploy Keys\".</p>","path":"guides/custom-trigger.html","position":34,"original_position":34,"commit_id":"50d6a804e042eb6498d8d236560a0ee94621e2cd","original_commit_id":"50d6a804e042eb6498d8d236560a0ee94621e2cd","user":{"login":"josephschorr","id":4073002,"avatar_url":"https://avatars.githubusercontent.com/u/4073002?v=3","gravatar_id":"","url":"https://api.github.com/users/josephschorr","html_url":"https://github.com/josephschorr","followers_url":"https://api.github.com/users/josephschorr/followers","following_url":"https://api.github.com/users/josephschorr/following{/other_user}","gists_url":"https://api.github.com/users/josephschorr/gists{/gist_id}","starred_url":"https://api.github.com/users/josephschorr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josephschorr/subscriptions","organizations_url":"https://api.github.com/users/josephschorr/orgs","repos_url":"https://api.github.com/users/josephschorr/repos","events_url":"https://api.github.com/users/josephschorr/events{/privacy}","received_events_url":"https://api.github.com/users/josephschorr/received_events","type":"User","site_admin":false},"body":"maybe add `target=\"_blank\"` to the link?","created_at":"2015-04-21T01:04:48Z","updated_at":"2015-04-21T01:04:48Z","html_url":"https://github.com/coreos/quay-docs/pull/3#discussion_r28743139","pull_request_url":"https://api.github.com/repos/coreos/quay-docs/pulls/3","_links":{"self":{"href":"https://api.github.com/repos/coreos/quay-docs/pulls/comments/28743139"},"html":{"href":"https://github.com/coreos/quay-docs/pull/3#discussion_r28743139"},"pull_request":{"href":"https://api.github.com/repos/coreos/quay-docs/pulls/3"}}},"pull_request":{"url":"https://api.github.com/repos/coreos/quay-docs/pulls/3","id":33483900,"html_url":"https://github.com/coreos/quay-docs/pull/3","diff_url":"https://github.com/coreos/quay-docs/pull/3.diff","patch_url":"https://github.com/coreos/quay-docs/pull/3.patch","issue_url":"https://api.github.com/repos/coreos/quay-docs/issues/3","number":3,"state":"open","locked":false,"title":"add custom trigger guide","user":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-04-16T19:23:56Z","updated_at":"2015-04-21T01:04:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"109345b0e99e4ac12cf6690d08c62791fe07f669","assignee":{"login":"josephschorr","id":4073002,"avatar_url":"https://avatars.githubusercontent.com/u/4073002?v=3","gravatar_id":"","url":"https://api.github.com/users/josephschorr","html_url":"https://github.com/josephschorr","followers_url":"https://api.github.com/users/josephschorr/followers","following_url":"https://api.github.com/users/josephschorr/following{/other_user}","gists_url":"https://api.github.com/users/josephschorr/gists{/gist_id}","starred_url":"https://api.github.com/users/josephschorr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josephschorr/subscriptions","organizations_url":"https://api.github.com/users/josephschorr/orgs","repos_url":"https://api.github.com/users/josephschorr/repos","events_url":"https://api.github.com/users/josephschorr/events{/privacy}","received_events_url":"https://api.github.com/users/josephschorr/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/coreos/quay-docs/pulls/3/commits","review_comments_url":"https://api.github.com/repos/coreos/quay-docs/pulls/3/comments","review_comment_url":"https://api.github.com/repos/coreos/quay-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/coreos/quay-docs/issues/3/comments","statuses_url":"https://api.github.com/repos/coreos/quay-docs/statuses/50d6a804e042eb6498d8d236560a0ee94621e2cd","head":{"label":"coreos:custom-trigger","ref":"custom-trigger","sha":"50d6a804e042eb6498d8d236560a0ee94621e2cd","user":{"login":"coreos","id":3730757,"avatar_url":"https://avatars.githubusercontent.com/u/3730757?v=3","gravatar_id":"","url":"https://api.github.com/users/coreos","html_url":"https://github.com/coreos","followers_url":"https://api.github.com/users/coreos/followers","following_url":"https://api.github.com/users/coreos/following{/other_user}","gists_url":"https://api.github.com/users/coreos/gists{/gist_id}","starred_url":"https://api.github.com/users/coreos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreos/subscriptions","organizations_url":"https://api.github.com/users/coreos/orgs","repos_url":"https://api.github.com/users/coreos/repos","events_url":"https://api.github.com/users/coreos/events{/privacy}","received_events_url":"https://api.github.com/users/coreos/received_events","type":"Organization","site_admin":false},"repo":{"id":16294589,"name":"quay-docs","full_name":"coreos/quay-docs","owner":{"login":"coreos","id":3730757,"avatar_url":"https://avatars.githubusercontent.com/u/3730757?v=3","gravatar_id":"","url":"https://api.github.com/users/coreos","html_url":"https://github.com/coreos","followers_url":"https://api.github.com/users/coreos/followers","following_url":"https://api.github.com/users/coreos/following{/other_user}","gists_url":"https://api.github.com/users/coreos/gists{/gist_id}","starred_url":"https://api.github.com/users/coreos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreos/subscriptions","organizations_url":"https://api.github.com/users/coreos/orgs","repos_url":"https://api.github.com/users/coreos/repos","events_url":"https://api.github.com/users/coreos/events{/privacy}","received_events_url":"https://api.github.com/users/coreos/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/coreos/quay-docs","description":"Documentation for Quay.io","fork":false,"url":"https://api.github.com/repos/coreos/quay-docs","forks_url":"https://api.github.com/repos/coreos/quay-docs/forks","keys_url":"https://api.github.com/repos/coreos/quay-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/coreos/quay-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/coreos/quay-docs/teams","hooks_url":"https://api.github.com/repos/coreos/quay-docs/hooks","issue_events_url":"https://api.github.com/repos/coreos/quay-docs/issues/events{/number}","events_url":"https://api.github.com/repos/coreos/quay-docs/events","assignees_url":"https://api.github.com/repos/coreos/quay-docs/assignees{/user}","branches_url":"https://api.github.com/repos/coreos/quay-docs/branches{/branch}","tags_url":"https://api.github.com/repos/coreos/quay-docs/tags","blobs_url":"https://api.github.com/repos/coreos/quay-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/coreos/quay-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/coreos/quay-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/coreos/quay-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/coreos/quay-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/coreos/quay-docs/languages","stargazers_url":"https://api.github.com/repos/coreos/quay-docs/stargazers","contributors_url":"https://api.github.com/repos/coreos/quay-docs/contributors","subscribers_url":"https://api.github.com/repos/coreos/quay-docs/subscribers","subscription_url":"https://api.github.com/repos/coreos/quay-docs/subscription","commits_url":"https://api.github.com/repos/coreos/quay-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/coreos/quay-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/coreos/quay-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/coreos/quay-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/coreos/quay-docs/contents/{+path}","compare_url":"https://api.github.com/repos/coreos/quay-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/coreos/quay-docs/merges","archive_url":"https://api.github.com/repos/coreos/quay-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/coreos/quay-docs/downloads","issues_url":"https://api.github.com/repos/coreos/quay-docs/issues{/number}","pulls_url":"https://api.github.com/repos/coreos/quay-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/coreos/quay-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/coreos/quay-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/coreos/quay-docs/labels{/name}","releases_url":"https://api.github.com/repos/coreos/quay-docs/releases{/id}","created_at":"2014-01-27T22:08:51Z","updated_at":"2015-04-14T21:43:54Z","pushed_at":"2015-04-16T19:51:19Z","git_url":"git://github.com/coreos/quay-docs.git","ssh_url":"git@github.com:coreos/quay-docs.git","clone_url":"https://github.com/coreos/quay-docs.git","svn_url":"https://github.com/coreos/quay-docs","homepage":null,"size":939,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":3,"default_branch":"gh-pages"}},"base":{"label":"coreos:gh-pages","ref":"gh-pages","sha":"f7f587b6732b379ca95de03251c68f1a89f1fd8e","user":{"login":"coreos","id":3730757,"avatar_url":"https://avatars.githubusercontent.com/u/3730757?v=3","gravatar_id":"","url":"https://api.github.com/users/coreos","html_url":"https://github.com/coreos","followers_url":"https://api.github.com/users/coreos/followers","following_url":"https://api.github.com/users/coreos/following{/other_user}","gists_url":"https://api.github.com/users/coreos/gists{/gist_id}","starred_url":"https://api.github.com/users/coreos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreos/subscriptions","organizations_url":"https://api.github.com/users/coreos/orgs","repos_url":"https://api.github.com/users/coreos/repos","events_url":"https://api.github.com/users/coreos/events{/privacy}","received_events_url":"https://api.github.com/users/coreos/received_events","type":"Organization","site_admin":false},"repo":{"id":16294589,"name":"quay-docs","full_name":"coreos/quay-docs","owner":{"login":"coreos","id":3730757,"avatar_url":"https://avatars.githubusercontent.com/u/3730757?v=3","gravatar_id":"","url":"https://api.github.com/users/coreos","html_url":"https://github.com/coreos","followers_url":"https://api.github.com/users/coreos/followers","following_url":"https://api.github.com/users/coreos/following{/other_user}","gists_url":"https://api.github.com/users/coreos/gists{/gist_id}","starred_url":"https://api.github.com/users/coreos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreos/subscriptions","organizations_url":"https://api.github.com/users/coreos/orgs","repos_url":"https://api.github.com/users/coreos/repos","events_url":"https://api.github.com/users/coreos/events{/privacy}","received_events_url":"https://api.github.com/users/coreos/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/coreos/quay-docs","description":"Documentation for Quay.io","fork":false,"url":"https://api.github.com/repos/coreos/quay-docs","forks_url":"https://api.github.com/repos/coreos/quay-docs/forks","keys_url":"https://api.github.com/repos/coreos/quay-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/coreos/quay-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/coreos/quay-docs/teams","hooks_url":"https://api.github.com/repos/coreos/quay-docs/hooks","issue_events_url":"https://api.github.com/repos/coreos/quay-docs/issues/events{/number}","events_url":"https://api.github.com/repos/coreos/quay-docs/events","assignees_url":"https://api.github.com/repos/coreos/quay-docs/assignees{/user}","branches_url":"https://api.github.com/repos/coreos/quay-docs/branches{/branch}","tags_url":"https://api.github.com/repos/coreos/quay-docs/tags","blobs_url":"https://api.github.com/repos/coreos/quay-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/coreos/quay-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/coreos/quay-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/coreos/quay-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/coreos/quay-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/coreos/quay-docs/languages","stargazers_url":"https://api.github.com/repos/coreos/quay-docs/stargazers","contributors_url":"https://api.github.com/repos/coreos/quay-docs/contributors","subscribers_url":"https://api.github.com/repos/coreos/quay-docs/subscribers","subscription_url":"https://api.github.com/repos/coreos/quay-docs/subscription","commits_url":"https://api.github.com/repos/coreos/quay-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/coreos/quay-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/coreos/quay-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/coreos/quay-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/coreos/quay-docs/contents/{+path}","compare_url":"https://api.github.com/repos/coreos/quay-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/coreos/quay-docs/merges","archive_url":"https://api.github.com/repos/coreos/quay-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/coreos/quay-docs/downloads","issues_url":"https://api.github.com/repos/coreos/quay-docs/issues{/number}","pulls_url":"https://api.github.com/repos/coreos/quay-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/coreos/quay-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/coreos/quay-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/coreos/quay-docs/labels{/name}","releases_url":"https://api.github.com/repos/coreos/quay-docs/releases{/id}","created_at":"2014-01-27T22:08:51Z","updated_at":"2015-04-14T21:43:54Z","pushed_at":"2015-04-16T19:51:19Z","git_url":"git://github.com/coreos/quay-docs.git","ssh_url":"git@github.com:coreos/quay-docs.git","clone_url":"https://github.com/coreos/quay-docs.git","svn_url":"https://github.com/coreos/quay-docs","homepage":null,"size":939,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":3,"default_branch":"gh-pages"}},"_links":{"self":{"href":"https://api.github.com/repos/coreos/quay-docs/pulls/3"},"html":{"href":"https://github.com/coreos/quay-docs/pull/3"},"issue":{"href":"https://api.github.com/repos/coreos/quay-docs/issues/3"},"comments":{"href":"https://api.github.com/repos/coreos/quay-docs/issues/3/comments"},"review_comments":{"href":"https://api.github.com/repos/coreos/quay-docs/pulls/3/comments"},"review_comment":{"href":"https://api.github.com/repos/coreos/quay-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/coreos/quay-docs/pulls/3/commits"},"statuses":{"href":"https://api.github.com/repos/coreos/quay-docs/statuses/50d6a804e042eb6498d8d236560a0ee94621e2cd"}}}}