mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	Split webhooks doc and move to particular directories.
This commit is contained in:
		
							
								
								
									
										26
									
								
								zerver/webhooks/airbrake/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								zerver/webhooks/airbrake/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
<p>Get Zulip notifications for your Airbrake bug tracker!</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Airbrake notifications, and
 | 
			
		||||
    subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    name <code>airbrake</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, on your {{ settings_html|safe }}, create an Airbrake bot. Construct the URL for
 | 
			
		||||
    the Airbrake bot using the API key and stream name:
 | 
			
		||||
    <code>{{ external_api_uri_subdomain }}/v1/external/airbrake?api_key=abcdefgh&stream=airbrake</code>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Now, go to your project's settings on the Airbrake site. Click
 | 
			
		||||
    on the <code>Integration</code> section.
 | 
			
		||||
    Choose <code>Webhook</code>, provide the above URL,
 | 
			
		||||
    check <code>Enabled</code>, and save. Your Webhook
 | 
			
		||||
    configuration should look similar to:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/airbrake/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p><b>Congratulations! You're done!</b><br/> Your messages may look like:</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/airbrake/002.png"/>
 | 
			
		||||
							
								
								
									
										40
									
								
								zerver/webhooks/appfollow/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								zerver/webhooks/appfollow/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Receive user reviews from your tracked apps on AppFolllow in Zulip
 | 
			
		||||
    using the Zulip AppFollow plugin!
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for AppFollow notifications, and
 | 
			
		||||
    subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    name <code>appfollow</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, on your {{ settings_html|safe }}, create an AppFollow bot.</p>
 | 
			
		||||
 | 
			
		||||
<p>Then, log into your account on <a href="http://appfollow.io">appfollow.io</a>, and:</p>
 | 
			
		||||
 | 
			
		||||
<ol>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Click on the app for which you'd like to receive reviews.
 | 
			
		||||
            Click on <b>Integrations</b> and then go to the <b>Others</b> tab.
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/appfollow/001.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            In the Webhook URL field, enter the following URL, replacing the bot API key
 | 
			
		||||
            and Zulip stream with the appropriate information.
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p><code>{{ external_api_uri_subdomain }}/v1/external/appfollow?api_key=<font color="#00A26F">test_api_key</font>&stream=<font color="#00A26F">appfollow</font></code></p>
 | 
			
		||||
    </li>
 | 
			
		||||
</ol>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Save changes</b> – all done!<br/>
 | 
			
		||||
    New reviews for your app will be delivered to your Zulip stream.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/appfollow/002.png"/>
 | 
			
		||||
							
								
								
									
										27
									
								
								zerver/webhooks/beanstalk/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								zerver/webhooks/beanstalk/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
<p>Zulip supports both SVN and Git notifications from Beanstalk.</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream <code>commits</code> and subscribe all
 | 
			
		||||
    interested parties to this stream.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, in the Beanstalk web application, go to the Setup page and choose the Integrations tab.
 | 
			
		||||
    Choose the <code>Webhooks</code> integration from the list presented.
 | 
			
		||||
    Make sure to replace the <code>@</code> in the
 | 
			
		||||
    bot's email address with <code>%40</code>,
 | 
			
		||||
    as Beanstalk's website will incorrectly refuse to parse a username containing a <code>@</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    In the URL field, enter
 | 
			
		||||
    <code>{{ external_uri_scheme }}bot_email:bot_api_key@{{ external_api_path_subdomain }}/v1/external/beanstalk</code>:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/beanstalk/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> Whenever you do a
 | 
			
		||||
    deployment, you'll get an automated notification that looks like
 | 
			
		||||
    this:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/beanstalk/002.png"/>
 | 
			
		||||
							
								
								
									
										39
									
								
								zerver/webhooks/bitbucket/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								zerver/webhooks/bitbucket/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Zulip supports both Git and Mercurial notifications from
 | 
			
		||||
    Bitbucket. This integration is for the old-style Bitbucket
 | 
			
		||||
    webhooks used by Bitbucket Enterprise.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Bitbucket notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. The integration will
 | 
			
		||||
    use the default stream <code>commits</code> if no stream is supplied in the
 | 
			
		||||
    hook; you still need to create the stream even if you are using this
 | 
			
		||||
    default.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, from your repository's web page, go to the Administration page and choose Hooks on the left-hand side.
 | 
			
		||||
    Choose the <code>POST</code> hook from the list presented and click "Add hook." Make sure to replace the
 | 
			
		||||
    <code>@</code> in the bot's email address with <code>%40</code>,
 | 
			
		||||
    as Bitbucket will not execute the hook if the username contains a <code>@</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    In the URL field, enter
 | 
			
		||||
    <code>{{ external_uri_scheme }}bot_email:bot_api_key@{{ external_api_path_subdomain }}/v1/external/bitbucket</code>:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/bitbucket/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    By default, notifications are sent to the <code>commits</code> stream.
 | 
			
		||||
    To send notifications to a different stream,
 | 
			
		||||
    append <code style="white-space: nowrap;">?stream=stream_name</code> to
 | 
			
		||||
    the URL.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> Whenever you push code to your repository,
 | 
			
		||||
    you'll get an automated notification that looks like this:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/bitbucket/002.png"/>
 | 
			
		||||
							
								
								
									
										34
									
								
								zerver/webhooks/bitbucket2/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								zerver/webhooks/bitbucket2/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Zulip supports both Git and Mercurial notifications from
 | 
			
		||||
    Bitbucket. This integration is for the new-style Bitbucket
 | 
			
		||||
    webhooks used by the Bitbucket SAAS service.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Bitbucket notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. The integration will
 | 
			
		||||
    use the default stream <code>bitbucket</code> if no stream is supplied in the
 | 
			
		||||
    hook; you still need to create the stream even if you are using this
 | 
			
		||||
    default.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>The URL you create will be in the following format:</p>
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/bitbucket2?api_key=abcdefgh&stream=bitbucket</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, from your repository's web page, go to the Settings page and choose Webhooks on the left-hand side.
 | 
			
		||||
    Click <code>Add webhook</code>, set URL to the URL you created above. Remember to click the 'active' checkbox.
 | 
			
		||||
    Click <code>Save</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    Example message:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/bitbucket/003.png"/>
 | 
			
		||||
							
								
								
									
										30
									
								
								zerver/webhooks/circleci/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								zerver/webhooks/circleci/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Zulip supports integration with CircleCI and can notify you of
 | 
			
		||||
    your build statuses.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for CircleCI notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the name <code>circleci</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/circleci?api_key=abcdefgh&stream=circleci</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, modify your <code>circle.yml</code> as described
 | 
			
		||||
    <a href="https://circleci.com/docs/configuration/#notify">here</a>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> When a build is done,
 | 
			
		||||
    you'll get a notification like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/circleci/001.png"/>
 | 
			
		||||
							
								
								
									
										34
									
								
								zerver/webhooks/codeship/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								zerver/webhooks/codeship/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Zulip supports integration with Codeship and can notify you of
 | 
			
		||||
    your build statuses.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Codeship notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the name <code>codeship</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/codeship?api_key=abcdefgh&stream=codeship</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, go to your project settings - notification settings
 | 
			
		||||
    page. The url should look like the following:
 | 
			
		||||
</p>
 | 
			
		||||
<p><code>https://codeship.com/projects/PROJECT_ID/configure_notifications</code></p>
 | 
			
		||||
<p>where <code>PROJECT_ID</code> is the id of your project in Codeship.</p>
 | 
			
		||||
<p>Scroll to the <code>Webhook</code> section and fill out the form as follows:</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/codeship/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> When a build is
 | 
			
		||||
    triggered, you'll get a notification like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/codeship/002.png"/>
 | 
			
		||||
							
								
								
									
										30
									
								
								zerver/webhooks/crashlytics/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								zerver/webhooks/crashlytics/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Zulip supports integration with Crashlytics and can notify you
 | 
			
		||||
    about Crashlytics issues.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Crashlytics notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the name <code>crashlytics</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/crashlytics?api_key=abcdefgh&stream=crashlytics</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Click on the app in
 | 
			
		||||
    your <a href="https://fabric.io/settings/apps">Crashlytics settings panel</a>.
 | 
			
		||||
    Next, on the integrations subpage, click “Web Hook,” enter the URL we created above and click
 | 
			
		||||
    <code>Verify</code>.
 | 
			
		||||
</p>
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> When an issue occurs,
 | 
			
		||||
    you'll get a notification like this:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/crashlytics/001.png"/>
 | 
			
		||||
							
								
								
									
										35
									
								
								zerver/webhooks/delighted/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								zerver/webhooks/delighted/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Zulip supports integration with Delighted and can notify you
 | 
			
		||||
    about updates in feedback responses organized by Delighted.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Delighted notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the name <code>delighted</code>. Next, create a bot named Delighted
 | 
			
		||||
    and retrive the API key of the bot and place it into the API parameter in the URL below.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/delighted?api_key=abcdefgh&stream=delighted</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Modify the parameters of the URL above, where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Go to your <a href="https://delighted.com/integrations/webhooks">Delighted Webhook Integration settings
 | 
			
		||||
    panel</a>.
 | 
			
		||||
    Under <code>Send webhook notifications for:</code>: input the above URL with the modifications into
 | 
			
		||||
    the URL textbox and press <code>Save and turn on</code> to finish.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/delighted/000.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> When an issue occurs,
 | 
			
		||||
    you'll get a notification like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/delighted/001.png"/>
 | 
			
		||||
							
								
								
									
										120
									
								
								zerver/webhooks/deskdotcom/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								zerver/webhooks/deskdotcom/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,120 @@
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Desk.com notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    stream name <code>desk</code>. Keep in mind you still need to
 | 
			
		||||
    create the stream first even if you are using this recommendation.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, in Desk.com, open your Admin view via the top-left corner
 | 
			
		||||
    dropdown. In the Admin view, click on Apps, then click Install under
 | 
			
		||||
    "Custom Action":
 | 
			
		||||
</p>
 | 
			
		||||
<img src="/static/images/integrations/desk/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    From there, click "Install Custom Action" and accept the terms. Fill
 | 
			
		||||
    in the form like this:
 | 
			
		||||
</p>
 | 
			
		||||
<ul>
 | 
			
		||||
    <li><b>Name</b>: Zulip</li>
 | 
			
		||||
    <li><b>Authentication Method</b>: Basic Auth</li>
 | 
			
		||||
    <li><b>URL</b>: <code>{{ external_api_uri_subdomain }}/v1/external/deskdotcom</code></li>
 | 
			
		||||
    <li><b>User name</b>: <em>your bot's user name, e.g.</em> <code>desk-bot@yourdomain.com</code></li>
 | 
			
		||||
    <li><b>Password</b>: <em>your bot's API key</em></li>
 | 
			
		||||
</ul>
 | 
			
		||||
 | 
			
		||||
<img src="/static/images/integrations/desk/002.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Click Create to save your settings. From the next screen, click Add
 | 
			
		||||
    Action add a new action. You'll do this for every action you want a
 | 
			
		||||
    notification on Zulip for. (To add another action later, look for your
 | 
			
		||||
    custom action on the Apps page under "Installed Apps."
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img src="/static/images/integrations/desk/003.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Let's say you want a notification each time a case is updated. Put
 | 
			
		||||
    in a descriptive name like "Announce case update", select "POST a string to a URL"
 | 
			
		||||
    for Action Type, and copy-paste this to the "Appended URL path":
 | 
			
		||||
</p>
 | 
			
		||||
{% raw %}
 | 
			
		||||
    <p><code>?stream=desk&topic={{ case.id }}:+{{ case.subject }}</code></p>
 | 
			
		||||
{% endraw %}
 | 
			
		||||
<p>
 | 
			
		||||
    The "appended URL path" will be the same for every notification —
 | 
			
		||||
    it makes sure the notification goes to the appropriate stream and topic
 | 
			
		||||
    within Zulip.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, copy this template Zulip message into "Message to
 | 
			
		||||
    POST":
 | 
			
		||||
</p>
 | 
			
		||||
{% raw %}
 | 
			
		||||
    <pre>
 | 
			
		||||
<code>Case [{{ case.id }}, {{ case.subject }}]({{ case.direct_url }}), was updated.
 | 
			
		||||
 | 
			
		||||
* Status: {{ case.status.name }}
 | 
			
		||||
* Priority: {{ case.priority }}
 | 
			
		||||
* Customer: {{ customer.name }}
 | 
			
		||||
* Company: {{ customer.company }}
 | 
			
		||||
* Description: {{ case.description }}
 | 
			
		||||
</code></pre>
 | 
			
		||||
    <p>
 | 
			
		||||
        You don't need to edit that, although you may if you wish. All
 | 
			
		||||
        the funny-looking stuff inside <code>{{</code> and <code>}}</code>
 | 
			
		||||
        will be filled in by Desk.com for each event. The dialog should look
 | 
			
		||||
        like this:
 | 
			
		||||
    </p>
 | 
			
		||||
{% endraw %}
 | 
			
		||||
 | 
			
		||||
<img src="/static/images/integrations/desk/004.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Click Add Action to save, and then on the next screen click the slider
 | 
			
		||||
    next to the action to enable it. This is important — actions are turned off
 | 
			
		||||
    by default!
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img src="/static/images/integrations/desk/005.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Now you need to create a rule that triggers this action. Desk.com's
 | 
			
		||||
    support center has a
 | 
			
		||||
    <a href="https://support.desk.com/customer/portal/articles/1376">lengthy
 | 
			
		||||
        article on rules</a>, but in short, click on "Cases" up at the top,
 | 
			
		||||
    "Rules" on the left side, and then the specific event you want to notify
 | 
			
		||||
    on — in our example, "Inbound Interaction".
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img src="/static/images/integrations/desk/006.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Select the types of interaction you want your rule to apply to,
 | 
			
		||||
    such as Chat. Specify the name and click on "Add Rule."
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img src="/static/images/integrations/desk/007.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    In the next screen, provide the details. First, click Add Actions to
 | 
			
		||||
    display the rule actions. Select "Trigger an App Action" in the dropdown, and
 | 
			
		||||
    then the name of the custom action you created earlier when the second
 | 
			
		||||
    dropdown appears. You can add additional "All" or "Any" conditions if desired.
 | 
			
		||||
    Also select when the rule should run (if not "Anytime") and enable it.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img src="/static/images/integrations/desk/008.png"/>
 | 
			
		||||
 | 
			
		||||
<p>Finally, click Update.</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> When a case is updated,
 | 
			
		||||
    you'll see a notification like the following, to the stream
 | 
			
		||||
    <code>desk</code>, with a topic that matches the case's subject name:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/desk/009.png"/>
 | 
			
		||||
							
								
								
									
										236
									
								
								zerver/webhooks/freshdesk/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										236
									
								
								zerver/webhooks/freshdesk/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,236 @@
 | 
			
		||||
<h4>Freshdesk</h4>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    See customer support interactions right in Zulip, with our Freshdesk
 | 
			
		||||
    integration! Note that this integration must be set up by an administrator
 | 
			
		||||
    for your Freshdesk instance.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Freshdesk notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    stream name <code>freshdesk</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, on your {{ settings_html|safe }}, create a Freshdesk bot.</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Now we can set up the Freshdesk events that will trigger
 | 
			
		||||
    Zulips. Freshdesk provides separate triggering mechanisms for ticket
 | 
			
		||||
    creation and ticket changes, so we'll set up these triggers in two
 | 
			
		||||
    parts.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<h4>Part 1: Zulip notifications for new Freshdesk tickets</h4>
 | 
			
		||||
 | 
			
		||||
<ol>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Visit your Freshdesk admin page. Under the <b>"Helpdesk
 | 
			
		||||
            Productivity"</b> section, click the <b>"Dispatch'r"</b> icon:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/freshdesk/001.png"/>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            Click the <b>"New rule"</b> button to create a new Dispatch'r rule
 | 
			
		||||
            that will send notifications to Zulip when Freshdesk tickets are
 | 
			
		||||
            opened.
 | 
			
		||||
        </p>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            On the Dispatch'r rule creation page, give the rule a name and
 | 
			
		||||
            description. Next, we need to specify the conditions under which to
 | 
			
		||||
            trigger Zulip notifications. There isn't a shortcut for "always
 | 
			
		||||
            generate a notification on ticket creation", so we'll instead fake it
 | 
			
		||||
            by picking two complementary conditions: when the source <b>is
 | 
			
		||||
            email</b>, and when the source <b>is not email</b>:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/freshdesk/002.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            In the <b>"Action"</b> section, add a new action of
 | 
			
		||||
            type <b>"Trigger Webhook"</b>. Set the <b>"Request Type"</b>
 | 
			
		||||
            to <b>"POST"</b>. Set the following <b>"Callback URL"</b>, replacing
 | 
			
		||||
            the Zulip stream with your desired stream:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            <code>{{ external_api_uri_subdomain }}/v1/external/freshdesk?stream=<font color="#00A26F">freshdesk</font></code>
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            Check the <b>"Requires Authentication"</b> box, and supply the bot
 | 
			
		||||
            e-mail address and API key.
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>The Action section should look like this so far:</p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/freshdesk/003.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Select <b>"JSON"</b> for the <b>"Encoding"</b>. Under the encoding, select
 | 
			
		||||
            <b>"Advanced"</b>. Paste the following JSON into the <b>"Content"</b>
 | 
			
		||||
            box:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <pre>{"freshdesk_webhook":
 | 
			
		||||
{
 | 
			
		||||
    "triggered_event":"{{triggered_event}}",
 | 
			
		||||
    "ticket_id":"{{ticket.id}}",
 | 
			
		||||
    "ticket_url":"{{ticket.url}}",
 | 
			
		||||
    "ticket_type":"{{ticket.ticket_type}}",
 | 
			
		||||
    "ticket_subject":"{{ticket.subject}}",
 | 
			
		||||
    "ticket_description":"{{ticket.description}}",
 | 
			
		||||
    "ticket_status":"{{ticket.status}}",
 | 
			
		||||
    "ticket_priority":"{{ticket.priority}}",
 | 
			
		||||
    "requester_name":"{{ticket.requester.name}}",
 | 
			
		||||
    "requester_email":"{{ticket.requester.email}}",
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
        </pre>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            These ticket details are what will be forwarded to Zulip. The
 | 
			
		||||
            pasted JSON should look like this:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/freshdesk/004.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Save your new Dispatch'r rule. The next time a Freshdesk ticket is
 | 
			
		||||
            opened, the team will get a notification in Zulip!
 | 
			
		||||
        </p>
 | 
			
		||||
    </li>
 | 
			
		||||
</ol>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    If you only want to receive Zulip notifications on ticket creation,
 | 
			
		||||
    stop here, you're done! If you also want notifications on important ticket
 | 
			
		||||
    changes, please continue to the next section.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<h4>Part 2: Zulip notifications on ticket changes</h4>
 | 
			
		||||
 | 
			
		||||
<ol>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Visit your Freshdesk admin page. Under the <b>"Helpdesk
 | 
			
		||||
            Productivity"</b> section, click the <b>"Observer"</b> icon:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/freshdesk/005.png"/>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            Click the <b>"New rule"</b> button to create a new Observer rule
 | 
			
		||||
            that will send notifications to Zulip when Freshdesk tickets are
 | 
			
		||||
            updated.
 | 
			
		||||
        </p>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            On the Observer rule creation page, give the rule a name and
 | 
			
		||||
            description. Under <b>"When Any Of These Events Occur"</b>, create
 | 
			
		||||
            these new rules:
 | 
			
		||||
        </p>
 | 
			
		||||
        <ul>
 | 
			
		||||
            <li><p>Priority is changed, from Any Priority, to Any Priority</p></li>
 | 
			
		||||
            <li><p>Status is changed, from Any Status, to Any Status</p></li>
 | 
			
		||||
            <li><p>Note is added, Type Any</p></li>
 | 
			
		||||
        </ul>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            If you do not want to receive Zulip notifications on one or more of
 | 
			
		||||
            these events, leave out the rule for that event.
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            Under <b>"And The Events Are Performed By"</b>,
 | 
			
		||||
            select <b>"Anyone"</b>.
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>So far, the rule should look like this:</p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/freshdesk/006.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Next, we need to specify the types of tickets that will trigger
 | 
			
		||||
            Zulip notifications. There isn't a shortcut for "always generate a
 | 
			
		||||
            notification on ticket update", so as before we'll instead fake it by
 | 
			
		||||
            picking two complementary conditions: when the source <b>is email</b>,
 | 
			
		||||
            and when the source <b>is not email</b>:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/freshdesk/007.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Under <b>"Perform These Actions"</b>, add a new action of
 | 
			
		||||
            type <b>"Trigger Webhook"</b>. Set the <b>"Request Type"</b>
 | 
			
		||||
            to <b>"POST"</b>. Set the following <b>"Callback URL"</b>, replacing
 | 
			
		||||
            the Zulip stream with your desired stream:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            <code>{{ external_api_uri_subdomain }}/v1/external/freshdesk?stream=<font color="#00A26F">freshdesk</font></code>
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            Check the <b>"Requires Authentication"</b> box, and supply the bot
 | 
			
		||||
            e-mail address and API key.
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>The Action section should look like this so far:</p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/freshdesk/008.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Select <b>"JSON"</b> for the <b>"Encoding"</b>. Under the encoding,
 | 
			
		||||
            select <b>"Advanced"</b>. Paste the following JSON into
 | 
			
		||||
            the <b>"Content"</b> box:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <pre>
 | 
			
		||||
{"freshdesk_webhook":
 | 
			
		||||
    {
 | 
			
		||||
        "triggered_event":"{{triggered_event}}",
 | 
			
		||||
        "ticket_id":"{{ticket.id}}",
 | 
			
		||||
        "ticket_url":"{{ticket.url}}",
 | 
			
		||||
        "ticket_type":"{{ticket.ticket_type}}",
 | 
			
		||||
        "ticket_subject":"{{ticket.subject}}",
 | 
			
		||||
        "ticket_description":"{{ticket.description}}",
 | 
			
		||||
        "ticket_status":"{{ticket.status}}",
 | 
			
		||||
        "ticket_priority":"{{ticket.priority}}",
 | 
			
		||||
        "requester_name":"{{ticket.requester.name}}",
 | 
			
		||||
        "requester_email":"{{ticket.requester.email}}",
 | 
			
		||||
    }
 | 
			
		||||
}</pre>
 | 
			
		||||
        <p>
 | 
			
		||||
            These ticket details are what will be forwarded to Zulip. The
 | 
			
		||||
            pasted JSON should look like this:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/freshdesk/009.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Save your new Observer rule. The next time a Freshdesk ticket is
 | 
			
		||||
            updated, the team will get a notification in Zulip!
 | 
			
		||||
        </p>
 | 
			
		||||
    </li>
 | 
			
		||||
</ol>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> You'll now see support
 | 
			
		||||
    progress in real time in Zulip:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/freshdesk/010.png"/>
 | 
			
		||||
							
								
								
									
										53
									
								
								zerver/webhooks/github/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								zerver/webhooks/github/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
<p>
 | 
			
		||||
    This webhook bases on deprecated concept that is
 | 
			
		||||
    <a href="https://github.com/github/github-services">GitHub Services</a>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for GitHub notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. The integration will
 | 
			
		||||
    use the default stream <code>commits</code> if no stream is supplied in
 | 
			
		||||
    the hook; you still need to create the stream even if you are using this
 | 
			
		||||
    default.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, go to your repository page and click <b>"Settings"</b>:</p>
 | 
			
		||||
<p><img src="/static/images/integrations/github/001.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>From there, select <b>"Webhooks & Services"</b>:</p>
 | 
			
		||||
<p><img src="/static/images/integrations/github/002.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>To find the Zulip hook, you have to click on <b>Configure services</b>.</p>
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/github/003.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Select <b>"Zulip"</b> from the list of service hooks. Fill in
 | 
			
		||||
    the API key and email address for your bot and check
 | 
			
		||||
    the <b>"active"</b> checkbox. Specify
 | 
			
		||||
    <code>{{ external_api_uri_subdomain }}/v1/external/github</code> as the <b>"Alternative
 | 
			
		||||
    endpoint"</b>. You can optionally supply the Zulip stream (the
 | 
			
		||||
    default is <code>commits</code>) and restrict Zulip
 | 
			
		||||
    notifications to a specified set of branches.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Further configuration is possible. By default, commits traffic (pushes, commit comments),
 | 
			
		||||
    GitHub issues traffic, and pull requests are enabled. You can exclude certain types of traffic
 | 
			
		||||
    via the checkboxes. If you want commit traffic, issue traffic, and pull requests to go to
 | 
			
		||||
    different places, you can use the <b>Commit Stream</b> and <b>Issue Stream</b> overrides;
 | 
			
		||||
    otherwise, it is safe to leave these fields blank and just have it default to the <b>Stream</b>
 | 
			
		||||
    setting.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Click the <b>"Update settings"</b> button to complete the
 | 
			
		||||
    configuration:
 | 
			
		||||
</p>
 | 
			
		||||
<p><img src="/static/images/integrations/github/004.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> When team members push to
 | 
			
		||||
    your repository, you'll get a Zulip notification that looks like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/github/005.png"/></p>
 | 
			
		||||
							
								
								
									
										36
									
								
								zerver/webhooks/github_webhook/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								zerver/webhooks/github_webhook/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for GitHub Webhook notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. The integration will
 | 
			
		||||
    use the default stream <code>github</code> if no stream is supplied in
 | 
			
		||||
    the hook; you still need to create the stream even if you are using this
 | 
			
		||||
    default.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, go to your repository page and click <b>"Settings"</b>:</p>
 | 
			
		||||
<p><img src="/static/images/integrations/github_webhook/001.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>From there, select <b>"Webhooks"</b>:</p>
 | 
			
		||||
<p><img src="/static/images/integrations/github_webhook/002.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>Click <b>"Add webhook"</b>.</p>
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/github_webhook/003.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>Authorize yourself and configure your webhook.</p>
 | 
			
		||||
 | 
			
		||||
<p>In the <b>"Payload URL"</b> field, enter a URL constructed like this:</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/webhook_github?api_key=abcdefgh&stream=github</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip
 | 
			
		||||
    bot. Select the actions that you want to result in a
 | 
			
		||||
    Zulip notification and click <b>Add Webhook</b>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    Your messages will look like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/github_webhook/004.png"/></p>
 | 
			
		||||
							
								
								
									
										33
									
								
								zerver/webhooks/gitlab/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								zerver/webhooks/gitlab/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for GitLab notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. The integration will
 | 
			
		||||
    use the default stream <code>gitlab</code> if no stream is supplied in
 | 
			
		||||
    the URL; you still need to create the stream even if you are using this
 | 
			
		||||
    default.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, go to your repository page and click gear icon.
 | 
			
		||||
    From there, select <b>Webhooks</b>:
 | 
			
		||||
</p>
 | 
			
		||||
<p><img src="/static/images/integrations/gitlab/001.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>In the URL field, enter a URL constructed like this: </p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/gitlab?api_key=abcdefgh&stream=gitlab</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip
 | 
			
		||||
    bot.
 | 
			
		||||
</p>
 | 
			
		||||
<p>
 | 
			
		||||
    Select the actions that you want to result in a
 | 
			
		||||
    Zulip notification and click <b>Add Webhook</b>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    Your messages will look like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/gitlab/002.png"/></p>
 | 
			
		||||
							
								
								
									
										39
									
								
								zerver/webhooks/gosquared/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								zerver/webhooks/gosquared/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
<p>
 | 
			
		||||
    First, create a stream for GoSquared for where you would like to receive GoSquared notifications
 | 
			
		||||
    and subscribe all interested parties to the stream. The integration will automatically
 | 
			
		||||
    use the default stream <code>gosquared</code> if no stream is supplied, though you will
 | 
			
		||||
    still need to create the stream manually even though it's the default.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, go to the Zulip settings page and create a bot named GoSquared. Go to the account settings page of
 | 
			
		||||
    your GoSquared account and under Project Settings > Services > Webhook > Add New.
 | 
			
		||||
    Add the below URL under the section 'Enter a URL to receive requests:' and name the integration, Zulip.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/gosquared?api_key=abcdefgh&stream=gosquared</code></p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/gosquared/001.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Note: <code>api_key</code> must be reconfigured to be the API key of your Zulip bot.<br/>
 | 
			
		||||
    If you want to change the stream default that receives notifications, change <code>stream=</code> in the URL.
 | 
			
		||||
    <br/>
 | 
			
		||||
    To change the topic displayed by the bot, simply append <code>&topic=name</code> to the end of the above
 | 
			
		||||
    URL.
 | 
			
		||||
    Where <code>name</code> is your topic.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Under notifications of your GoSquared account page, press <code>Add New Notification</code> and select when and
 | 
			
		||||
    why you
 | 
			
		||||
    want to be notified through Zulip. After you're done, remember to check the box of the webhook corresponding to
 | 
			
		||||
    Zulip.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're all set</b><br/>
 | 
			
		||||
    Your messages should look like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/gosquared/000.png"/></p>
 | 
			
		||||
							
								
								
									
										32
									
								
								zerver/webhooks/hellosign/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								zerver/webhooks/hellosign/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Configuring the HelloSign integration is easy. First, create a stream
 | 
			
		||||
    (we recommend a name like "hellosign").
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, go to the Zulip settings page and create a Zulip bot bot
 | 
			
		||||
    for the HelloSign integration. Note the bot API key and add
 | 
			
		||||
    it to the URL below as <code>api_key</code>, and including the
 | 
			
		||||
    name of the stream you'd like to receive the notifications
 | 
			
		||||
    as <code>stream=</code> in the URL. If you'd like to hardcode
 | 
			
		||||
    the topic used by the bot, simply append
 | 
			
		||||
    <code>&topic=topic_name</code> to the end of the above URL, where
 | 
			
		||||
    <code>topic_name</code> is your topic.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/hellosign?api_key=abcdefgh&stream=stream_name</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Go to the account settings page of your HelloSign account and
 | 
			
		||||
    under the Integrations tab, go to API and Account Callback.
 | 
			
		||||
    Add the above URL with your modifications under the section 'Account Callback'.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/hellosign/000.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're all set.</b><br/>
 | 
			
		||||
    Your messages should look like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/hellosign/001.png"/></p>
 | 
			
		||||
							
								
								
									
										31
									
								
								zerver/webhooks/helloworld/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								zerver/webhooks/helloworld/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
<p>Learn how Zulip integrations work with this simple Hello World example!</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    The Hello World webhook will use the <code>test</code> stream, which is
 | 
			
		||||
    created by default in the Zulip dev environment. If you are running
 | 
			
		||||
    Zulip in production, you should make sure this stream exists.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, on your {{ settings_html|safe }}, create a Hello World bot. Construct the URL for
 | 
			
		||||
    the Hello World bot using the API key and stream name:
 | 
			
		||||
    <code>{{ external_api_uri_subdomain }}/v1/external/helloworld?api_key=abcdefgh&stream=test</code>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>To trigger a notication using this webhook, use `send_webhook_fixture_message` from the Zulip command line:</p>
 | 
			
		||||
<div class="codehilite">
 | 
			
		||||
      <pre>(zulip-venv)vagrant@vagrant-ubuntu-trusty-64:/srv/zulip$
 | 
			
		||||
./manage.py send_webhook_fixture_message \
 | 
			
		||||
> --fixture=zerver/fixtures/helloworld/helloworld_hello.json \
 | 
			
		||||
> '--url=http://localhost:9991/api/v1/external/helloworld?api_key=<api_key>'
 | 
			
		||||
      </pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<p>Or, use curl:</p>
 | 
			
		||||
<div class="codehilite">
 | 
			
		||||
    <pre>curl -X POST -H "Content-Type: application/json" -d '{ "featured_title":"Marilyn Monroe", "featured_url":"https://en.wikipedia.org/wiki/Marilyn_Monroe" }' http://localhost:9991/api/v1/external/helloworld\?api_key\=<api_key></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<p><b>Congratulations! You're done!</b><br/> Your messages may look like:</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/helloworld/001.png"/>
 | 
			
		||||
							
								
								
									
										51
									
								
								zerver/webhooks/heroku/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								zerver/webhooks/heroku/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Receive notifications in Zulip whenever a new version of an app is pushed to Heroku
 | 
			
		||||
    using the Zulip Heroku plugin!
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Heroku notifications, and
 | 
			
		||||
    subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    name <code>heroku</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, on your {{ settings_html|safe }}, create a Heroku bot.</p>
 | 
			
		||||
 | 
			
		||||
<p>Then, log into your account on <a href="http://heroku.com">heroku.com</a>, and:</p>
 | 
			
		||||
 | 
			
		||||
<ol>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Visit the page for the project for which you'd like to generate
 | 
			
		||||
            Zulip notifications. Click the "Resources" tab, and add the "Deploy Hooks" addon.
 | 
			
		||||
            Choose the "HTTP Post Hook" plan, and click "Provision".
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/heroku/001.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Click on the "Deploy Hooks" add-on that you just added.
 | 
			
		||||
            You should be redirected to a page that looks like this:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p><img class="screenshot" style="border:1px solid #000000"
 | 
			
		||||
                src="/static/images/integrations/heroku/002.png"/></p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            Enter the following webhook URI, replacing the bot API key
 | 
			
		||||
            and Zulip stream with the appropriate information.
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            <code>{{ external_uri_scheme }}{{ external_api_path_subdomain }}/v1/external/heroku?api_key=<font color="#00A26F">test_api_key</font>&stream=<font color="#00A26F">heroku</font></code>
 | 
			
		||||
        </p>
 | 
			
		||||
    </li>
 | 
			
		||||
</ol>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    When you deploy to Heroku, the team can see these updates in real time in Zulip:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/heroku/003.png"/>
 | 
			
		||||
							
								
								
									
										46
									
								
								zerver/webhooks/ifttt/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								zerver/webhooks/ifttt/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
<p>Get notifications from every event supported by IFTTT.</p>
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for IFTTT notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/ifttt?api_key=abcdefgh&stream=ifttt</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, create an IFTTT recipe, picking the service you'd like
 | 
			
		||||
    to receive notifications from as <code>this</code>,
 | 
			
		||||
    and <code>Maker</code> as <code>that</code>.
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/ifttt/001.png"/>
 | 
			
		||||
<p>
 | 
			
		||||
    Choose the <code>Make a web request</code> action, and
 | 
			
		||||
    configure it as follows:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<ul>
 | 
			
		||||
    <li><code>URL</code> is the url we created above</li>
 | 
			
		||||
    <li><code>method</code> is POST</li>
 | 
			
		||||
    <li><code>Content Type</code> is <code>application/json</code></li>
 | 
			
		||||
</ul>
 | 
			
		||||
<p>
 | 
			
		||||
    Finally, configure the request body. You need to construct a JSON
 | 
			
		||||
    object with two parameters: <code>content</code>
 | 
			
		||||
    and <code>subject</code>.<br/>
 | 
			
		||||
    Example:
 | 
			
		||||
    <code>{"content": "message content", "subject": "message subject"}</code>
 | 
			
		||||
    <br/>
 | 
			
		||||
</p>
 | 
			
		||||
<p>
 | 
			
		||||
    You will most likely want to specify some IFTTT
 | 
			
		||||
    "Ingredients" (click the beaker to see the available
 | 
			
		||||
    options) to customize the subject and content of your
 | 
			
		||||
    messages; the below screenshot uses ingredients available
 | 
			
		||||
    if <code>this</code> is IFTTT's incoming email service.
 | 
			
		||||
</p>
 | 
			
		||||
<p>Example configuration:
 | 
			
		||||
    <img class="screenshot" src="/static/images/integrations/ifttt/002.png"/>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>You're done! Example message:</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/ifttt/003.png"/>
 | 
			
		||||
							
								
								
									
										45
									
								
								zerver/webhooks/jira/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								zerver/webhooks/jira/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
<p>
 | 
			
		||||
    <em>
 | 
			
		||||
        If you are running JIRA version 5.2 or greater, or if you are
 | 
			
		||||
        using the hosted JIRA provided by Atlassian, you can use the built-in
 | 
			
		||||
        web-hook support to connect to Zulip — read on. For older,
 | 
			
		||||
        self-hosted JIRA installs, you can use our <a href="#jira-plugin">JIRA Plugin</a>.
 | 
			
		||||
    </em>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for JIRA notifications, and
 | 
			
		||||
    subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    name <code>jira</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    In your JIRA administration control panel, go to the Webhooks page. If you are using the OnDemand
 | 
			
		||||
    hosted JIRA, follow the instructions
 | 
			
		||||
    <a href="https://developer.atlassian.com/display/JIRADEV/JIRA+Webhooks+Overview#JIRAWebhooksOverview-WhereistheJIRAAdministrationUIforwebhooks?">
 | 
			
		||||
        on the Atlassian wiki
 | 
			
		||||
    </a>
 | 
			
		||||
    for locating the Webhook UI.
 | 
			
		||||
</p>
 | 
			
		||||
<p>Give your new web hook a name, and for the URL provide the following:</p>
 | 
			
		||||
<p>
 | 
			
		||||
    <code>{{ external_api_uri_subdomain }}/v1/external/jira?api_key=abcdefgh&stream=jira</code>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, go back to Zulip and set up a stream called "jira," if it does not already exist.
 | 
			
		||||
    (If you prefer your JIRA notifications to go to a stream other than "jira," then change the URL above to match
 | 
			
		||||
    it.)
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    Updates from JIRA will be sent to the Zulip stream you specified in the JIRA web-hook.
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/jira/001.png"/>
 | 
			
		||||
							
								
								
									
										77
									
								
								zerver/webhooks/librato/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								zerver/webhooks/librato/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
			
		||||
<p>Get Zulip notifications for your Librato alerts or snapshots!</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Librato notifications, and
 | 
			
		||||
    subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    name <code>librato</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, on your <a href="/#settings" target="_blank">Zulip settings
 | 
			
		||||
    page</a>, create a Librato bot. Please note the bot name and API key. Then:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><b>Alerts configuration</b></p>
 | 
			
		||||
 | 
			
		||||
<p>1. Login into your Librato account and switch to the integrations page:</p>
 | 
			
		||||
<p><img src="/static/images/integrations/librato/001.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>2. From there, select <b>"Webhook"</b> integration:</p>
 | 
			
		||||
<p><img src="/static/images/integrations/librato/002.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>3. Fill in the title and URL fields using your bot's API key</p>
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/librato/003.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>The default stream name is <b>librato</b> and default topic name is <b>Alert alert_name</b>.</p>
 | 
			
		||||
 | 
			
		||||
<div class="codehilite"><pre>
 | 
			
		||||
  URL = {{ external_api_uri }}/v1/external/librato?api_key=<b>your_api_key</b></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<p>You can customize the stream name and topic name:</p>
 | 
			
		||||
 | 
			
		||||
<div class="codehilite"><pre>
 | 
			
		||||
  URL = {{ external_api_uri }}/v1/external/librato?stream=<b>your_stream_name</b>&topic=<b>your_topic_name</b>&api_key=<b>your_api_key</b></pre>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<p>4. Next, go to your alerts page:</p>
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/librato/004.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    5. Choose the alert conditions and enable the your new
 | 
			
		||||
    webhook under "Notification Services":
 | 
			
		||||
</p>
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/librato/005.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    When an alert triggers, you'll get a Zulip notification that looks like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/librato/006.png"/></p>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<p><b>Snapshot configuration</b></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Because of limitations in Librato's API, you need to use the
 | 
			
		||||
    Slack integration to get Librato snapshots sent into Zulip.
 | 
			
		||||
</p>
 | 
			
		||||
<p><img src="/static/images/integrations/librato/007.png"/></p>
 | 
			
		||||
<p>Default stream name is <b>librato</b> and default topic name is <b>snapshots</b>.</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    To send a snapshot, just click at one of your chart, use
 | 
			
		||||
    the <b>send a snapshot</b> option and add the proper
 | 
			
		||||
    integration.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/librato/008.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    When a snapshot comes, you'll get a Zulip notification that looks like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/librato/009.png"/></p>
 | 
			
		||||
							
								
								
									
										52
									
								
								zerver/webhooks/mention/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								zerver/webhooks/mention/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Mention Webhook notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. The integration will
 | 
			
		||||
    use the default stream <code>mention</code> if no stream is supplied in
 | 
			
		||||
    the hook; you still need to create the stream even if you are using this
 | 
			
		||||
    default.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, go to your Mention feed and click on your profile in the top right corner,
 | 
			
		||||
    click on <b>Settings</b> in the drop down menu:
 | 
			
		||||
</p>
 | 
			
		||||
<p><img src="/static/images/integrations/mention/001.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>From there, select <b>Integrations</b>:</p>
 | 
			
		||||
<p><img src="/static/images/integrations/mention/002.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>Select the <b>Zapier</b> integration, and click <b>Explore Mention on Zapier!</b>:</p>
 | 
			
		||||
<p><img src="/static/images/integrations/mention/003.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Search for "webhooks" in the search bar, and click on <b>Webhooks by Zapier</b>.<br/>
 | 
			
		||||
    Scroll down and look for <b>Add Webhooks posts for new Mentions</b> and click on
 | 
			
		||||
    <b>Use this Zap</b>:
 | 
			
		||||
</p>
 | 
			
		||||
<p><img src="/static/images/integrations/mention/004.png"/></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Select your Mention account Id and the alert that should trigger mentions
 | 
			
		||||
    from the respective drop down menus, and click <b>Continue</b>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Select <b>POST</b> on the page that says <b>Webhooks by Zapier Action</b>, and click
 | 
			
		||||
    <b>Continue</b>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>In the <b>URL</b> field, enter a URL constructed like this:</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/mention?api_key=abcdefgh&stream=mention</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>abcdefgh</code> should be replaced with the API key of your Zulip
 | 
			
		||||
    bot. Select JSON for <b>Payload Type</b> and click <b>Continue</b>:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    Your messages will look like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><img src="/static/images/integrations/mention/005.png"/></p>
 | 
			
		||||
							
								
								
									
										32
									
								
								zerver/webhooks/newrelic/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								zerver/webhooks/newrelic/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
<p>
 | 
			
		||||
    New Relic can send messages to a Zulip stream for alerts and
 | 
			
		||||
    deploys.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for New Relic
 | 
			
		||||
    notifications, and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the name <code>newrelic</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, in your New Relic Account Settings page, click
 | 
			
		||||
    "Integrations", then "Alerting notifications". On the "Webhook"
 | 
			
		||||
    tab, enter the following webhook URL:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/newrelic?api_key=abcdefgh&stream=newrelic</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/newrelic/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> Your New Relic events will
 | 
			
		||||
    appear in Zulip:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/newrelic/002.png"/>
 | 
			
		||||
							
								
								
									
										24
									
								
								zerver/webhooks/pagerduty/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								zerver/webhooks/pagerduty/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Pagerduty notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    stream name <code>pagerduty</code>. Keep in mind you still need to create
 | 
			
		||||
    the stream first even if you are using this recommendation.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, in Pagerduty, select Services under Configuration on the top
 | 
			
		||||
    of the page.
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/pagerduty/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Now navigate to the service you want to integrate with Zulip. From
 | 
			
		||||
    there, click "Add a webhook". Fill in the form like this:
 | 
			
		||||
</p>
 | 
			
		||||
<ul>
 | 
			
		||||
    <li><b>Name</b>: Zulip</li>
 | 
			
		||||
    <li><b>Endpoint URL</b>: <code>{{ external_api_uri_subdomain }}/v1/external/pagerduty?api_key=abcdefgh&stream=pagerduty</code>
 | 
			
		||||
    </li>
 | 
			
		||||
</ul>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/pagerduty/002.png"/>
 | 
			
		||||
							
								
								
									
										45
									
								
								zerver/webhooks/papertrail/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								zerver/webhooks/papertrail/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Zulip supports integration with Papertrail as a
 | 
			
		||||
    <a href="http://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.scripting.html">Webhook</a>
 | 
			
		||||
    that fires upon finding a certain log. To do this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Papertrail
 | 
			
		||||
    notifications, and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the stream name be <code>papertrail</code>. After create a bot named
 | 
			
		||||
    <code>Papertrail</code> and note the API key.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, log into your Papertrail Account and browse through your logs.
 | 
			
		||||
    Search for logs you want to get alerts for and press the <code>Save Search</code>
 | 
			
		||||
    to open up a modal window, then fill out the details and press the
 | 
			
		||||
    <code>Save & Setup an alert button</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/papertrail/000.png"/>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/papertrail/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Go to the <code>Create an alert</code> section, press the <code>Webhooks</code>
 | 
			
		||||
    link and place the below URL into the <code>Webhook URL</code> section. Be sure to set
 | 
			
		||||
    the frequency to either minute, hour or day.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/papertrail?api_key=abcdefgh&stream=papertrail</code></p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/papertrail/002.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Note: <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> Your Papertrail notifications will
 | 
			
		||||
    appear in Zulip:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/papertrail/003.png"/>
 | 
			
		||||
							
								
								
									
										35
									
								
								zerver/webhooks/pingdom/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								zerver/webhooks/pingdom/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Zulip supports integration with Pingdom and can notify you of
 | 
			
		||||
    uptime status changes from your Pingdom dashboard.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Pingdom notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the name <code>pingdom</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/pingdom?api_key=abcdefgh&stream=pingdom</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, under following url: </p>
 | 
			
		||||
<p><code>https://my.pingdom.com/reports/integration/settings</code></p>
 | 
			
		||||
<p>create your integration by clicking on <code>Add Integration</code> button and filling form as following:</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/pingdom/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Last, during creating or editing your check, scroll down to <code>Connect Integrations</code>
 | 
			
		||||
    section and ensure your integration is checked
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> Example Zulip notification
 | 
			
		||||
    looks like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/pingdom/002.png"/>
 | 
			
		||||
							
								
								
									
										35
									
								
								zerver/webhooks/pivotal/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								zerver/webhooks/pivotal/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
<p>
 | 
			
		||||
  Zulip supports integration with Pivotal Tracker and can notify you of changes
 | 
			
		||||
to the stories in your Pivotal Tracker project.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
  First, create the stream you'd like to use for Pivotal Tracker
 | 
			
		||||
notifications, and subscribe all interested parties to this stream. We
 | 
			
		||||
recommend the name <code>pivotal</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
  Next, in the Settings page for your project, choose the Integrations
 | 
			
		||||
tab. Scroll down to the <code>Activity Web Hook</code> section, and enter
 | 
			
		||||
the following url:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/pivotal?api_key=abcdefgh&stream=pivotal</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
  where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
and <code>stream</code> is the stream name you want the
 | 
			
		||||
notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
  Choose version 5 of the API. Zulip supports both version 3 and version 5, but
 | 
			
		||||
version 5 contains more information that lets Zulip format more useful messages.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/pivotal/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p><b>Congratulations! You're done!</b><br/> When you make changes in Pivotal Tracker they will be reflected in Zulip:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/pivotal/002.png"/>
 | 
			
		||||
							
								
								
									
										54
									
								
								zerver/webhooks/semaphore/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								zerver/webhooks/semaphore/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
<h4>Semaphore</h4>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    See build and deploy statuses on Semaphore right in Zulip with the Zulip
 | 
			
		||||
    Semaphore plugin!
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Semaphore notifications, and
 | 
			
		||||
    subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    name <code>builds</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, on your {{ settings_html|safe }}, create a Semaphore bot.</p>
 | 
			
		||||
 | 
			
		||||
<p>Then, log into your account on <a href="http://semaphoreci.com">semaphoreci.com</a>, and:</p>
 | 
			
		||||
 | 
			
		||||
<ol>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Visit the "Project Settings" page for the project for which you'd like to generate
 | 
			
		||||
            Zulip notifications. Click the "Notifications" tab in the left sidebar,
 | 
			
		||||
            click on "Webhooks" in the resulting menu, and then click on "+ Add Webhook".
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/semaphore/001.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p> You should now see a form that looks like this: </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            <img class="screenshot" style="border:1px solid #000000"
 | 
			
		||||
                 src="/static/images/integrations/semaphore/002.png"/>
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            Enter the following webhook URI, replacing the bot email address,
 | 
			
		||||
            bot API key, and Zulip stream with the appropriate
 | 
			
		||||
            information. <b>Note:</b> the <code>@</code>-sign in the bot e-mail
 | 
			
		||||
            address must be escaped to <code>%40</code>:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            <code>{{ external_uri_scheme }}<font color="#00A26F">semaphore-bot%40example.com</font>:<font color="#00A26F">api_key</font>@{{ external_api_path_subdomain }}/v1/external/semaphore?stream=<font color="#00A26F">builds</font></code>
 | 
			
		||||
        </p>
 | 
			
		||||
    </li>
 | 
			
		||||
</ol>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> When you push to Semaphore, the
 | 
			
		||||
    team can see these updates in real time in Zulip:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/semaphore/003.png"/>
 | 
			
		||||
							
								
								
									
										38
									
								
								zerver/webhooks/sentry/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								zerver/webhooks/sentry/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Zulip supports integration with Sentry and can notify you of
 | 
			
		||||
    issues that occurred in your project.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Sentry notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the name <code>sentry</code>. Then, construct
 | 
			
		||||
    the Sentry webhook URL as follows:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/sentry?api_key=abcdefgh&stream=sentry</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, from Sentry dashboard choose your project.</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/sentry/001.png"/><br/><br/>
 | 
			
		||||
<p>From the menu on the right, choose <code>Settings</code></p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/sentry/002.png"/><br/>
 | 
			
		||||
<p>On the settings page, from the menu on the left, choose <code>Notifications</code><br/>
 | 
			
		||||
    In the <code>Inactive Integrations</code> section, choose <code>WEBHOOKS</code></p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/sentry/003.png"/><br/>
 | 
			
		||||
<p>In the <code>WebHooks</code> box, insert the above webhook
 | 
			
		||||
    URL into the <code>Callback URLs*</code> field.</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/sentry/004.png"/><br/>
 | 
			
		||||
<p>And click <code>Save Changes</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> You will receive Zulip notifications
 | 
			
		||||
    like this whenever a new Sentry alert is triggered:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/sentry/005.png"/>
 | 
			
		||||
							
								
								
									
										32
									
								
								zerver/webhooks/solano/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								zerver/webhooks/solano/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Solano Labs CI Build notifications, and
 | 
			
		||||
    subscribe all interested parties to this stream. The integration will use the default
 | 
			
		||||
    stream <code>solano labs</code> if no stream is supplied in the hook; you still need
 | 
			
		||||
    to create the stream even if you are using this default.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, setup a bot that you would like to use with this integration. You will need its
 | 
			
		||||
    API key.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, follow <a href="http://docs.solanolabs.com/Setup/webhooks/#build-notification-web-hooks-outgoing">
 | 
			
		||||
    these instructions</a> for Outgoing Web Hooks to configure a webhook for your Solano
 | 
			
		||||
    Labs Organization and choose the repositories that should trigger a webhook a notification.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Enter a url of the following format into the URL field:</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/solano?api_key=abcdefgh&stream=solano_labs</code></p>
 | 
			
		||||
 | 
			
		||||
<p>Where <code>abcdefgh</code> should be replaced with the API key of the bot you
 | 
			
		||||
    created earlier.</p>
 | 
			
		||||
 | 
			
		||||
<p>Leave the <b>Username</b> and <b>Password</b> fields blank and click <b>Add Web Hook</b></p>
 | 
			
		||||
<p><b>Congratulations! You're Done!</b></p>
 | 
			
		||||
 | 
			
		||||
<p>Your messages will look like this:</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/solano/001.png"/>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										68
									
								
								zerver/webhooks/stash/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								zerver/webhooks/stash/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,68 @@
 | 
			
		||||
<h4>Stash</h4>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    See what the team is committing to Stash right in Zulip with the Zulip
 | 
			
		||||
    Stash plugin!
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Stash notifications, and
 | 
			
		||||
    subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    name <code>commits</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, on your {{ settings_html|safe }}, create a Stash bot.</p>
 | 
			
		||||
 | 
			
		||||
<p>Then:</p>
 | 
			
		||||
 | 
			
		||||
<ol>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Visit the Settings page for the Project that you'd like to generate
 | 
			
		||||
            Zulip notifications. Click the "Hooks" option in the left sidebar, and
 | 
			
		||||
            click "Add Hook" on the resulting page. Click the "Search for hook
 | 
			
		||||
            plugins" link:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/stash/001.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            On the search results page, look for and install the "Post-Receive
 | 
			
		||||
            WebHook for Stash" plugin:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/stash/002.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Return to the Settings page for this Project and click the "Hooks"
 | 
			
		||||
            option in the left sidebar. The newly-installed post-receive webhook
 | 
			
		||||
            plugin is now listed in the "Post-receive" hooks section. Click the
 | 
			
		||||
            edit icon next to the hook to configure it:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/stash/003.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>
 | 
			
		||||
            Supply the following webhook URL, replacing the bot email address,
 | 
			
		||||
            bot API key, and Zulip stream with the appropriate
 | 
			
		||||
            information. <b>Note:</b> the <code>@</code>-sign in the bot e-mail
 | 
			
		||||
            address must be escaped to <code>%40</code>:
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <p>
 | 
			
		||||
            <code>{{ external_uri_scheme }}<font color="#00A26F">stash-bot%40example.com</font>:<font color="#00A26F">api_key</font>@{{ external_api_path_subdomain }}/v1/external/stash?stream=<font color="#00A26F">commits</font></code>
 | 
			
		||||
        </p>
 | 
			
		||||
 | 
			
		||||
        <img class="screenshot" src="/static/images/integrations/stash/004.png"/>
 | 
			
		||||
    </li>
 | 
			
		||||
</ol>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> When you push to Stash, the
 | 
			
		||||
    team can see these updates in real time in Zulip:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/stash/005.png"/>
 | 
			
		||||
							
								
								
									
										68
									
								
								zerver/webhooks/stripe/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								zerver/webhooks/stripe/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,68 @@
 | 
			
		||||
<p>
 | 
			
		||||
    You can choose to be notified whenever certain events are triggered on Stripe
 | 
			
		||||
    by adding a webhook to your Stripe account. First, create a stream where the events
 | 
			
		||||
    are to be sent.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Next, on your {{ settings_html|safe }}, create a Stripe bot.</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Add a webhook to your Stripe account by going to "Your account"->"Account
 | 
			
		||||
    settings"->"Webhooks"->"Add Endpoint" and adding the following URL,
 | 
			
		||||
    replacing the bot email address (with the <code>@</code>sign escaped to <code>%40</code>),
 | 
			
		||||
    bot API key, Zulip stream, and Zulip topic with the appropriate values:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>e.g.</p>
 | 
			
		||||
 | 
			
		||||
<ul>
 | 
			
		||||
    <li>sales-bot%40example.com instead of stripe-bot%40example.com</li>
 | 
			
		||||
    <li>abcdef0123 instead of api_key</li>
 | 
			
		||||
    <li>finance instead of sales</li>
 | 
			
		||||
    <li>transactions instead of Stripe</li>
 | 
			
		||||
</ul>
 | 
			
		||||
<code>{{ external_uri_scheme }}stripe-bot%40example.com:api_key@{{ external_api_path_subdomain }}/v1/external/stripe?stream=sales%26topic=Stripe</code>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    {% if 'http:' in external_uri_scheme %}
 | 
			
		||||
        <b><font color="#FF0000">Note that Stripe will only accept https webhooks!</font></b>
 | 
			
		||||
    {% endif %}
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/stripe/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    To set up different topics for different events, create separate webhooks
 | 
			
		||||
    for those events, customizing the URL stream and topic for each.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/stripe/003.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations!</b>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    You will now receive notifications for the events you have chosen.
 | 
			
		||||
    Zulip currently supports the following events:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<ul>
 | 
			
		||||
    <li>Charge Dispute Closed</li>
 | 
			
		||||
    <li>Charge Dispute Created</li>
 | 
			
		||||
    <li>Charge Failed</li>
 | 
			
		||||
    <li>Charge Succeeded</li>
 | 
			
		||||
    <li>Customer Created</li>
 | 
			
		||||
    <li>Customer Deleted</li>
 | 
			
		||||
    <li>Customer Subscription Created</li>
 | 
			
		||||
    <li>Customer Subsciption Deleted</li>
 | 
			
		||||
    <li>Customer Subscription Trial Will End</li>
 | 
			
		||||
    <li>Invoice Payment Failed</li>
 | 
			
		||||
    <li>Order Payment Failed</li>
 | 
			
		||||
    <li>Order Payment Succeeded</li>
 | 
			
		||||
    <li>Order Updated</li>
 | 
			
		||||
    <li>Transfer Failed</li>
 | 
			
		||||
    <li>Transfer Paid</li>
 | 
			
		||||
</ul>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/stripe/002.png"/>
 | 
			
		||||
							
								
								
									
										94
									
								
								zerver/webhooks/taiga/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								zerver/webhooks/taiga/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,94 @@
 | 
			
		||||
<p>
 | 
			
		||||
    Go on your {{ settings_html|safe }}, create a Taiga bot.
 | 
			
		||||
    Please note the bot name and API key.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Since Taiga allows you to integrate services on a per
 | 
			
		||||
    project basis, you have to perform the following steps
 | 
			
		||||
    for <b>every project</b> that you want to send
 | 
			
		||||
    notifications to Zulip.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<ol>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>Go to Admin <b>></b> Integration <b>></b> Webhooks menu.</p>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>Click <b>Add a new webhook</b>.</p>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>Fill out the form by following the instructions: </p>
 | 
			
		||||
        <ul>
 | 
			
		||||
            <li>
 | 
			
		||||
                <b>Name</b> - to recognize this service, preferably <code>Zulip</code>
 | 
			
		||||
            </li>
 | 
			
		||||
            <li>
 | 
			
		||||
                <b>URL</b> -
 | 
			
		||||
                <pre>{{ external_api_uri_subdomain }}/v1/external/taiga?stream=STREAM_NAME&topic=TOPIC_NAME&api_key=BOT_API_KEY</pre>
 | 
			
		||||
                <ul>
 | 
			
		||||
                    <li>
 | 
			
		||||
                        <code>STREAM_NAME</code> - The url-encoded name of
 | 
			
		||||
                        stream which you want to receive notifications.
 | 
			
		||||
                        You can use an existing Zulip stream or create a
 | 
			
		||||
                        new one for this.
 | 
			
		||||
                    </li>
 | 
			
		||||
                    <li>
 | 
			
		||||
                        <code>TOPIC_NAME</code> - The url-encoded
 | 
			
		||||
                        topic where your Taiga notifications will be
 | 
			
		||||
                        posted. (Read the notes below.)
 | 
			
		||||
                    </li>
 | 
			
		||||
                    <li><code>BOT_API_KEY</code> - API key created in Zulip.</li>
 | 
			
		||||
                </ul>
 | 
			
		||||
            </li>
 | 
			
		||||
        </ul>
 | 
			
		||||
        <p>
 | 
			
		||||
            Remember to url-encode the stream and topic
 | 
			
		||||
            names. E.g. spaces need to be replaced
 | 
			
		||||
            with <code>%20</code> (e.g. so if you want your stream
 | 
			
		||||
            to be called "My awesome project", STREAM_NAME
 | 
			
		||||
            should be <code>My%20awesome%20project</code>).
 | 
			
		||||
        </p>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        <b>Secret key</b> - once again the API key created in Zulip.
 | 
			
		||||
    </li>
 | 
			
		||||
 | 
			
		||||
    <li>
 | 
			
		||||
        <p>Click <b>Save</b> once you've finished filling out the form.</p>
 | 
			
		||||
    </li>
 | 
			
		||||
</ol>
 | 
			
		||||
<p>
 | 
			
		||||
    That's it! Your actions on Taiga should now cause
 | 
			
		||||
    notifications on the Zulip stream you specified above.
 | 
			
		||||
    <img class="screenshot" src="/static/images/integrations/taiga/001.png"/>
 | 
			
		||||
</p>
 | 
			
		||||
<hr/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    There are <b>two different ways</b> you may want to consider
 | 
			
		||||
    when organizing your Taiga - Zulip integration:
 | 
			
		||||
</p>
 | 
			
		||||
<ul>
 | 
			
		||||
    <li>
 | 
			
		||||
        Use special Zulip stream for Taiga messages - name
 | 
			
		||||
        it <code>Taiga</code>. (Make sure to create this stream
 | 
			
		||||
        first!) For every integrated project, provide a new topic.
 | 
			
		||||
 | 
			
		||||
        <pre>
 | 
			
		||||
STREAM_NAME = Taiga
 | 
			
		||||
TOPIC = Project</pre>
 | 
			
		||||
 | 
			
		||||
    </li>
 | 
			
		||||
    <li>
 | 
			
		||||
        If you already have a Zulip stream for managing a project,
 | 
			
		||||
        you can also use this existing stream and add Taiga
 | 
			
		||||
        notifications using special topic.(Remember about
 | 
			
		||||
        substituting spaces with <code>%20</code>).
 | 
			
		||||
 | 
			
		||||
        <pre>
 | 
			
		||||
STREAM_NAME = My%20existing%20Zulip%20stream
 | 
			
		||||
TOPIC = Taiga</pre>
 | 
			
		||||
 | 
			
		||||
    </li>
 | 
			
		||||
</ul>
 | 
			
		||||
							
								
								
									
										58
									
								
								zerver/webhooks/teamcity/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								zerver/webhooks/teamcity/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
<p>See your Teamcity build status in Zulip!</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Teamcity
 | 
			
		||||
    notifications, and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the name <code>teamcity</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, set up a bot for the integration. You'll need the bot's API key
 | 
			
		||||
    to construct a URL for Teamcity.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, install the <a href="https://github.com/tcplugins/tcWebHooks/releases">tcWebHooks plugin</a>
 | 
			
		||||
    onto your Teamcity server. Follow the plugin instructions in your
 | 
			
		||||
    Teamcity documentation, or refer to
 | 
			
		||||
    <a href="https://confluence.jetbrains.com/display/TCD9/Installing+Additional+Plugins">the online Teamcity
 | 
			
		||||
        documentation</a>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, in your Teamcity project overview page,
 | 
			
		||||
    click the "Webhooks" tab, and add a new project webhook.
 | 
			
		||||
    Enter the following URL:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/teamcity?api_key=abcdefgh&stream=teamcity</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Uncheck all "Trigger on Events" options, and check
 | 
			
		||||
    "Trigger when build is Successful" and "Trigger when build Fails".
 | 
			
		||||
    Optionally, check "Only trigger when build changes from Failure to Success"
 | 
			
		||||
    and "Only trigger when build changes from Success to Failure".
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Set the Payload Format to "JSON" and save your webhook.</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/teamcity/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/> Your Teamcity build
 | 
			
		||||
    notifications will appear in Zulip:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/teamcity/002.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Personal Builds</b><br/> When a user runs a personal build, if Zulip can
 | 
			
		||||
    map their Teamcity username to a Zulip user, that Zulip user will receive a
 | 
			
		||||
    private message with the result of their personal build.
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/teamcity/003.png"/>
 | 
			
		||||
							
								
								
									
										32
									
								
								zerver/webhooks/transifex/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								zerver/webhooks/transifex/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Transifex
 | 
			
		||||
    notifications, and subscribe all interested parties to this stream. We
 | 
			
		||||
    recommend the name <code>transifex</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, set up a bot for the integration. You'll need the bot's API key
 | 
			
		||||
    to construct a URL for Transifex.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/transifex?api_key=abcdefgh&stream=transifex</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the
 | 
			
		||||
    notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, in Transifex, go to your project settings page:
 | 
			
		||||
    Project Details → Manage → Edit Project and scroll down to
 | 
			
		||||
    WEB HOOK URL. Paste the URL you constructed into the box and
 | 
			
		||||
    save your changes.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    Example message:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/transifex/001.png"/>
 | 
			
		||||
							
								
								
									
										28
									
								
								zerver/webhooks/travis/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								zerver/webhooks/travis/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
<p>See your Travis CI build notifications in Zulip!</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for notifications, and subscribe
 | 
			
		||||
    all interested parties to this stream. We recommend the name <code>travis</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, set up a bot for the integration. You'll need the bot's API key
 | 
			
		||||
    to construct a URL for Travis CI.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Finally, set up a webhook in your <code>.travis.yml</code> file:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<pre>
 | 
			
		||||
notifications:
 | 
			
		||||
webhooks:
 | 
			
		||||
- {{ external_api_uri_subdomain }}/v1/external/travis?stream=travis&topic=build-status&api_key=abcdefgh
 | 
			
		||||
</pre>
 | 
			
		||||
 | 
			
		||||
<p><b>
 | 
			
		||||
    Congratulations! You're done!</b><br/> When a code build occurs,
 | 
			
		||||
    you're receive a notification on the specified stream and topic.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/travis/001.png"/>
 | 
			
		||||
							
								
								
									
										87
									
								
								zerver/webhooks/trello/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								zerver/webhooks/trello/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
			
		||||
<p>
 | 
			
		||||
    This webhook integration for Trello is the recommended way to
 | 
			
		||||
    integrate with Trello, and should support all the features of
 | 
			
		||||
    the <a href="#trello-plugin">legacy Trello cron-based
 | 
			
		||||
    integration</a>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Trello notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    name <code>trello</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Your webhook URL is:<br/>
 | 
			
		||||
    <code>{{ external_api_uri_subdomain }}/v1/external/trello?api_key=abcdefgh&stream=trello</code><br/>
 | 
			
		||||
    where <code>api_key</code> is the API key of your Zulip bot,
 | 
			
		||||
    and <code>stream</code> is the stream name you want the notifications sent to.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Before you create a webhook,
 | 
			
		||||
    you'll need to follow the steps below to get an <b>APPLICATION_KEY</b>, and a <b>UserToken</b>,
 | 
			
		||||
    and to fetch the board's <b>idModel</b>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    To generate the <b>APPLICATION_KEY</b>, open this URL in your web browser:<br/>
 | 
			
		||||
    <code>https://trello.com/1/appkey/generate</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    To generate a read access token, fill in and open this URL in the browser while logged into your Trello account:
 | 
			
		||||
    <code>https://trello.com/1/authorize?key=<APPLICATION_KEY>&name=Issue+Manager&expiration=never&response_type=token&scope=read</code><br/>
 | 
			
		||||
    You will receive your <b>UserToken</b>. Note it.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Within the the board URL, you can find the <b>TRELLO_BOARD_SHORT_ID</b>.
 | 
			
		||||
    The Trello URL format is:<br/>
 | 
			
		||||
    <code>https://trello.com/b/TRELLO_BOARD_SHORT_ID/boardName</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Now you have the <b>APPLICATION_KEY</b>, <b>UserToken</b> and <b>TRELLO_BOARD_SHORT_ID</b>.<br/>
 | 
			
		||||
    Construct this URL and open it in your web browser:<br/>
 | 
			
		||||
    <code>https://api.trello.com/1/board/<TRELLO_BOARD_SHORT_ID>?key=<APPLICATION_KEY>&token=<UserToken></code><br/>
 | 
			
		||||
    You'll receive some JSON. Within that, find the <b>id</b> value. That's your <b>idModel</b>; note it.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Now you have the ingredients to create your webhook.
 | 
			
		||||
    Send a <code>POST</code> request to this URL with this data:
 | 
			
		||||
    <code>https://api.trello.com/1/tokens/<UserToken>/webhooks/?key=<APPLICATION_KEY></code>
 | 
			
		||||
</p>
 | 
			
		||||
<pre>{
 | 
			
		||||
    "description": "Webhook for Zulip integration",
 | 
			
		||||
    "callbackURL": "<URL_TO_ZULIP_WEBHOOK_FROM_SECOND_STEP>",
 | 
			
		||||
    "idModel": "<ID_MODEL>",
 | 
			
		||||
}
 | 
			
		||||
</pre>
 | 
			
		||||
    You can use <code>curl</code> to do this:<br/>
 | 
			
		||||
<pre>curl 'https://api.trello.com/1/tokens/<UserToken>/webhooks/?key=<APPLICATION_KEY>'
 | 
			
		||||
-H 'Content-Type: application/json' -H 'Accept: application/json'
 | 
			
		||||
--data-binary $'{\n  "description": "Webhook for Zulip integration",\n  "callbackURL": "<URL_TO_ZULIP_WEBHOOK_FROM_SECOND_STEP>",\n  "idModel": "<ID_MODEL>"\n}'
 | 
			
		||||
--compressed
 | 
			
		||||
</pre>
 | 
			
		||||
<p>
 | 
			
		||||
    The response from Trello should look like:<br/>
 | 
			
		||||
</p>
 | 
			
		||||
<pre>{
 | 
			
		||||
    "id": "<WEBHOOK_ID>",
 | 
			
		||||
    "description": "Webhook for Zulip integration",
 | 
			
		||||
    "idModel": "<ID_MODEL>",
 | 
			
		||||
    "callbackURL": "<URL_TO_ZULIP_WEBHOOK_FROM_SECOND_STEP>",
 | 
			
		||||
    "active": true
 | 
			
		||||
}
 | 
			
		||||
</pre>
 | 
			
		||||
<p>
 | 
			
		||||
    Congratulations! You've created a webhook and your integration is live.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    When you make changes in on this board in Trello, you will
 | 
			
		||||
    receive Zulip notifications like this:
 | 
			
		||||
</p>
 | 
			
		||||
<p><img class="screenshot" src="/static/images/integrations/trello/001.png"/></p>
 | 
			
		||||
							
								
								
									
										26
									
								
								zerver/webhooks/updown/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								zerver/webhooks/updown/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
<p>
 | 
			
		||||
    See Updown reports in Zulip! This is great to be up to date with
 | 
			
		||||
    downtime in the services you monitor with Updown!
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for updown
 | 
			
		||||
    notifications, and subscribe all interested parties to this
 | 
			
		||||
    stream. We recommend the name <code>updown</code>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Go to <a href="https://updown.io/settings/edit">your Updown
 | 
			
		||||
    settings page</a> and in <code>WEBHOOKS</code> section, enter
 | 
			
		||||
    the following as the URL:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/updown?api_key=abcdefgh&stream=updown</code></p>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>
 | 
			
		||||
    Now you'll receive Updown notifications for your service in Zulip.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/updown/001.png"/>
 | 
			
		||||
							
								
								
									
										33
									
								
								zerver/webhooks/yo/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								zerver/webhooks/yo/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
<p>See your Yo App notifications in Zulip!</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <a href="/api/#api_keys">Go to your Zulip settings and set up a Zulip bot for the
 | 
			
		||||
        integration.</a> You'll need the bot's API key to construct a URL for
 | 
			
		||||
    <a href="http://docs.justyo.co/docs/receiving-a-yo-with-the-api">Yo App Callback</a>.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>You will receive your notifications as a private message between you and the bot.</p>
 | 
			
		||||
 | 
			
		||||
<p>Create a URL using your bot's API key and the email address associated with your Zulip account:</p>
 | 
			
		||||
 | 
			
		||||
<pre><code>{{ external_api_uri_subdomain }}/api/v1/external/yo?email=awesome@zulip.example.com&api_key=abcdefgh</code></pre>
 | 
			
		||||
 | 
			
		||||
<p>Copy the URL created and go to <a href="https://yoapi.justyo.co">yoapi.justyo.co</a>.</p>
 | 
			
		||||
<p>Sign in using your username and password and go to <b>Edit Profile</b>.</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/yo-app/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>Paste the URL in the <b>Callback</b> field and click on <b>Update</b>.</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're done!</b><br/>When someone sends your username a Yo,
 | 
			
		||||
    you'll receive a notification as a private message from the bot
 | 
			
		||||
    like this:
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/yo-app/002.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Multiple users can use the same Yo bot; each user should use
 | 
			
		||||
    their own Zulip account email in the webhook URL.
 | 
			
		||||
</p>
 | 
			
		||||
							
								
								
									
										42
									
								
								zerver/webhooks/zapier/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								zerver/webhooks/zapier/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
<p>Get notifications from every event supported by Zapier.</p>
 | 
			
		||||
<p>First, create the stream you'd like to use for Zapier notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream.</p>
 | 
			
		||||
 | 
			
		||||
<p><code>{{ external_api_uri_subdomain }}/v1/external/zapier?api_key=abcdefgh&stream=zapier</code></p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, create a ZAP, picking the service you'd like
 | 
			
		||||
    to receive notifications from as <code>Trigger (Step 1)</code>
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zapier/001.png"/>
 | 
			
		||||
 | 
			
		||||
<p>and <code>Webhook</code> as <code>Action (Step 2)</code>.</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zapier/002.png"/>
 | 
			
		||||
 | 
			
		||||
<p>As Step 2 action please choose <code>POST</code></p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zapier/003.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Configure <code>Set up Webhooks by Zapier POST</code> as follows:
 | 
			
		||||
 | 
			
		||||
<ul>
 | 
			
		||||
    <li><code>URL</code> is the url we created above</li>
 | 
			
		||||
    <li><code>Payload Type</code> set to <code>JSON</code></li>
 | 
			
		||||
</ul>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Finally, configure <code>Data</code>.
 | 
			
		||||
    You have to add 2 fields:
 | 
			
		||||
    <ul>
 | 
			
		||||
        <li><code>subject</code> is field corresponding to a subject of the message</li>
 | 
			
		||||
        <li><code>content</code> is field corresponding to a content of the message</li>
 | 
			
		||||
    </ul>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>Example configuration:</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zapier/004.png"/>
 | 
			
		||||
 | 
			
		||||
<p>You're done! Example message:</p>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zapier/005.png"/>
 | 
			
		||||
							
								
								
									
										81
									
								
								zerver/webhooks/zendesk/doc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								zerver/webhooks/zendesk/doc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,81 @@
 | 
			
		||||
<p>
 | 
			
		||||
    First, create the stream you'd like to use for Zendesk notifications,
 | 
			
		||||
    and subscribe all interested parties to this stream. We recommend the
 | 
			
		||||
    stream name <code>zendesk</code>. Keep in mind you still need to create
 | 
			
		||||
    the stream first even if you are using this recommendation.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next, in Zendesk, open your Admin view via gear in the bottom-left
 | 
			
		||||
    corner. In the Admin view, click on Extensions, then click "add
 | 
			
		||||
    target".
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zendesk/001.png"/>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zendesk/002.png"/>
 | 
			
		||||
 | 
			
		||||
<p>From there, click "URL target". Fill in the form like this:</p>
 | 
			
		||||
<ul>
 | 
			
		||||
    <li><b>Title</b>: Zulip</li>
 | 
			
		||||
    <li><b>URL</b>:
 | 
			
		||||
        <code>{{ external_api_uri_subdomain }}{% raw %}/v1/external/zendesk?ticket_title={{ ticket.title }}&ticket_id={{ ticket.id }}&stream=zendesk{% endraw %}</code>
 | 
			
		||||
    </li>
 | 
			
		||||
    <li><b>Method</b>: POST</li>
 | 
			
		||||
    <li><b>Attribute Name</b>: message</li>
 | 
			
		||||
    <li><b>Username</b>: <em>your bot's user name, e.g.</em> <code>zendesk-bot@yourdomain.com</code></li>
 | 
			
		||||
    <li><b>Password</b>: <em>your bot's API key</em></li>
 | 
			
		||||
</ul>
 | 
			
		||||
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zendesk/003.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Now select "Test Target" and click Submit. A test message should
 | 
			
		||||
    appear in the zendesk stream. If the message was received, save the
 | 
			
		||||
    target by selecting "Create target" and clicking Submit.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    From here, add a new trigger. You'll do this for every action you want
 | 
			
		||||
    to create a Zulip notification. Triggers are added by selecting Triggers
 | 
			
		||||
    in the left menu and then clicking "add trigger" in the top right.
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zendesk/004.png"/>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zendesk/005.png"/>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Let's say you want a notification each time a ticket is updated. Put
 | 
			
		||||
    in a descriptive title like "Announce ticket update". Under "Meet all of
 | 
			
		||||
    the folllowing conditions" select "Ticket: is..." and then select
 | 
			
		||||
    Updated. In the "Perform these actions" section select "Notification:
 | 
			
		||||
    Notify target" then select Zulip.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    Next we need need to enter the message body into Message. You can use
 | 
			
		||||
    Zulip markdown and the Zendesk placeholders when creating your message.
 | 
			
		||||
    You can copy this example template:
 | 
			
		||||
</p>
 | 
			
		||||
{% raw %}
 | 
			
		||||
<pre><code>Ticket [#{{ ticket.id }}: {{ ticket.title }}]({{ ticket.link }}), was updated by {{ current_user.name }}
 | 
			
		||||
 | 
			
		||||
* Status: {{ ticket.status }}
 | 
			
		||||
* Priority: {{ ticket.priority }}
 | 
			
		||||
* Type: {{ ticket.ticket_type }}
 | 
			
		||||
* Assignee: {{ ticket.assignee.name }}
 | 
			
		||||
* Tags: {{ ticket.tags }}
 | 
			
		||||
* Description:
 | 
			
		||||
``` quote
 | 
			
		||||
{{ ticket.description }}
 | 
			
		||||
```</code></pre>
 | 
			
		||||
{% endraw %}
 | 
			
		||||
 | 
			
		||||
<img src="/static/images/integrations/zendesk/006.png"/>
 | 
			
		||||
 | 
			
		||||
<p>Finally, click Submit.</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
    <b>Congratulations! You're Done!</b><br/> When a ticket is updated
 | 
			
		||||
    you will see a notification like the following, to the stream
 | 
			
		||||
    <code>zendesk</code>, with a topic that matches the ticket's subject
 | 
			
		||||
    name:
 | 
			
		||||
</p>
 | 
			
		||||
<img class="screenshot" src="/static/images/integrations/zendesk/007.png"/>
 | 
			
		||||
		Reference in New Issue
	
	Block a user