integrations/perforce: Migrate docs to Markdown.

This commit is contained in:
Eeshan Garg 2017-06-22 20:34:51 -02:30 committed by showell
parent ed388ed320
commit 4ad951f256
4 changed files with 51 additions and 72 deletions

View File

@ -1,71 +0,0 @@
<p>
Zulip supports integration with Perforce as a
<a href="http://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.scripting.html">trigger</a>
that fires once a changelist is submitted and committed. To do this:
</p>
<ol>
<li>
Download and install our <a href="/api">Python bindings</a> on the
server that hosts your Perforce depot. The Perforce trigger will be
installed to a location like
<code>/usr/local/share/zulip/integrations/perforce</code>
</li>
<li>
Open <code>integrations/perforce/zulip_perforce_config.py</code> in
your favorite editor, change the <code>ZULIP_USER</code> and
<code>ZULIP_API_KEY</code> variables at the top of the file to the
credentials for the bot you'd like to use for this integration.
</li>
<li>You should also change <code>ZULIP_SITE</code> to {{ external_api_path_subdomain }}</li>
<li>
If you have a P4Web viewer set up, you may change <code>P4_WEB</code>
to point at the base URL of the server. If this is configured, then
the changelist number of each commit will be converted to a hyperlink
that displays the commit details on P4Web.
</li>
<li>
Edit your
<a href="http://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.scripting.html#d0e14583">trigger table</a>
with <code>p4 triggers</code> and add an entry something like the
following:
<pre>notify_zulip change-commit //depot/... "/usr/local/share/zulip/integrations/perforce/zulip_change-commit.py %change% %changeroot%"</pre>
</li>
<li>By default, this hook will send to streams of the form
<code>depot_subdirectory-commits</code>. So, a changelist that modifies
files in <code>//depot/foo/bar/baz</code> will result in a message to
stream <code>foo-commits</code>. Messages about changelists that modify
files in the depot root or files in multiple direct subdirectories of
the depot root will be sent to <code>depot-commits</code>. If you'd
prefer different behavior, such as all commits across your depot going
to one stream, change it now in <code>zulip_perforce_config.py</code>.
Make sure that everyone interested in getting these post-commit Zulips
is subscribed to the relevant streams!
</li>
<li>
By default, this hook will send a message to Zulip even if the
destination stream does not yet exist. Messages to nonexistent
streams prompt the Zulip Notification Bot to inform the bot's
owner by private message that they may wish to create the stream.
If this behaviour is undesirable, for example with a large and busy
Perforce server, change the <code>ZULIP_IGNORE_MISSING_STREAM</code>
variable in <code>zulip_perforce_config.py</code> to <code>True</code>.
This will change the hook's behaviour to first check whether the
destination stream exists and silently drop messages if it does not.
</li>
</ol>
<p>
<b>Congratulations! You're done!</b><br/> When you commit to your
Perforce depot the team can see updates in real time in
Zulip:
</p>
<img class="screenshot" src="/static/images/integrations/perforce/001.png"/>

View File

@ -0,0 +1,49 @@
Zulip supports integration with Perforce as a [trigger][1]
that fires once a changelist is submitted and committed.
To do this:
[1]: http://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.scripting.html
{!download-python-bindings.md!}
The Perforce trigger will be installed to a location like
`/usr/local/share/zulip/integrations/perforce`.
{!change-zulip-config-file.md!}
If you have a P4Web viewer set up, you may change `P4_WEB`
to point at the base URL of the server. If this is configured,
then the changelist number of each commit will be converted to
a hyperlink that displays the commit details on P4Web.
Edit your [trigger table][2] with `p4 triggers` and add an entry
something like the following:
notify_zulip change-commit //depot/... "/usr/local/share/zulip/integrations/perforce/zulip_change-commit.py %change% %changeroot%"
[2]: http://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.scripting.html#d0e14583
By default, this hook will send to streams of the form
`depot_subdirectory-commits`. So, a changelist that modifies
files in `//depot/foo/bar/baz` will result in a message to
stream `foo-commits`. Messages about changelists that modify
files in the depot root or files in multiple direct subdirectories
of the depot root will be sent to `depot-commits`.
If you'd prefer different behavior, such as all commits across your
depot going to one stream, change it now in `zulip_perforce_config.py`.
Make sure that everyone interested in getting these post-commit Zulips
is subscribed to the relevant streams!
By default, this hook will send a message to Zulip even if the
destination stream does not yet exist. Messages to nonexistent
streams prompt the Zulip Notification Bot to inform the bot's
owner by private message that they may wish to create the stream.
If this behaviour is undesirable, for example with a large and busy
Perforce server, change the `ZULIP_IGNORE_MISSING_STREAM`
variable in `zulip_perforce_config.py` to `True`.
This will change the hook's behaviour to first check whether the
destination stream exists and silently drop messages if it does not.
{!congrats.md!}
![](/static/images/integrations/perforce/001.png)

View File

@ -458,6 +458,7 @@ def build_custom_checkers(by_lang):
"README.md",
"zerver/webhooks/helloworld/doc.md",
"zerver/webhooks/trello/doc.md",
"templates/zerver/integrations/perforce.md",
}
for fn in by_lang['md']:
max_length = None

View File

@ -295,7 +295,7 @@ INTEGRATIONS = {
doc='zerver/integrations/openshift.md',
stream_name='deployments',
),
'perforce': Integration('perforce', 'perforce', doc='zerver/integrations/perforce.html'),
'perforce': Integration('perforce', 'perforce', doc='zerver/integrations/perforce.md'),
'phabricator': Integration('phabricator', 'phabricator', doc='zerver/integrations/phabricator.md'),
'puppet': Integration('puppet', 'puppet', doc='zerver/integrations/puppet.md'),
'redmine': Integration('redmine', 'redmine', doc='zerver/integrations/redmine.md'),