Show More
@@ -0,0 +1,25 b'' | |||
|
1 | .. _extensions-hooks-ref: | |
|
2 | ||
|
3 | Extensions & Hooks | |
|
4 | ================== | |
|
5 | ||
|
6 | The extensions & hooks section references three concepts regularly, | |
|
7 | so to clarify what is meant each time, read the following definitions: | |
|
8 | ||
|
9 | * **Plugin**: A Plugin is software that adds a specific feature to | |
|
10 | an existing software application. | |
|
11 | * **Extension**: An extension extends the capabilities of, | |
|
12 | or the data available to, an existing software application. | |
|
13 | * **Hook**: A hook intercepts function calls, messages, or events passed | |
|
14 | between software components and can be used to trigger plugins, or their | |
|
15 | extensions. | |
|
16 | ||
|
17 | .. toctree:: | |
|
18 | ||
|
19 | rcx | |
|
20 | install-ext | |
|
21 | config-ext | |
|
22 | extensions | |
|
23 | hooks | |
|
24 | full-blown-example | |
|
25 | int-slack |
@@ -0,0 +1,19 b'' | |||
|
1 | .. _integrations-hipchat: | |
|
2 | ||
|
3 | Hipchat integration | |
|
4 | =================== | |
|
5 | ||
|
6 | In order to set a hipchat integration up it is necessary to obtain the Hipchat | |
|
7 | service url by: | |
|
8 | ||
|
9 | 1. Login to Hipchat (https://www.hipchat.com/) | |
|
10 | 2. Goto `Integrations` -> `Build your own` | |
|
11 | 3. Select a room to post notifications to and save it | |
|
12 | ||
|
13 | Once the integration is setup on hipchat you should have a url of the | |
|
14 | form: ` | |
|
15 | which can be used in :ref:`creating-integrations` | |
|
16 | ||
|
17 | Once you have set up a Hipchat webhook integrations url of the form: | |
|
18 | ``https://yourapp.hipchat.com/v2/room/123456/notification?auth_token=...``, | |
|
19 | create a ``hipchat`` integration in :ref:`creating-integrations`. |
@@ -0,0 +1,26 b'' | |||
|
1 | .. _integrations-jira: | |
|
2 | ||
|
3 | JIRA integration | |
|
4 | ================ | |
|
5 | ||
|
6 | .. important:: | |
|
7 | ||
|
8 | In order to make issue numbers clickable in commit messages see the | |
|
9 | :ref:`rhodecode-issue-trackers-ref` section. The JIRA integration | |
|
10 | only deals with altering JIRA issues. | |
|
11 | ||
|
12 | .. important:: | |
|
13 | ||
|
14 | JIRA integration is only available in |RCEE|. | |
|
15 | ||
|
16 | ||
|
17 | The JIRA integration allows you to reference and change issue statuses in | |
|
18 | JIRA directly from commit messages using commit message patterns such as | |
|
19 | ``fixes #JIRA-235`` in order to change the status of issue JIRA-235 to | |
|
20 | eg. ``Resolved``. | |
|
21 | ||
|
22 | In order to apply a status to a JIRA issue it is necessary to find out the | |
|
23 | transition status id which can be found in the Workflow section of JIRA. | |
|
24 | ||
|
25 | Once you have the transition status id, create a ``jira`` integration in | |
|
26 | :ref:`creating-integrations`. |
@@ -0,0 +1,25 b'' | |||
|
1 | .. _integrations-redmine: | |
|
2 | ||
|
3 | Redmine integration | |
|
4 | =================== | |
|
5 | ||
|
6 | .. important:: | |
|
7 | ||
|
8 | In order to make issue numbers clickable in commit messages see the | |
|
9 | :ref:`rhodecode-issue-trackers-ref` section. The Redmine integration | |
|
10 | only deals with altering Redmine issues. | |
|
11 | ||
|
12 | .. important:: | |
|
13 | ||
|
14 | Redmine integration is only available in |RCEE|. | |
|
15 | ||
|
16 | The Redmine integration allows you to reference and change issue statuses in | |
|
17 | Redmine directly from commit messages using commit message patterns such as | |
|
18 | ``fixes #235`` in order to change the status of issue 235 to eg. ``Resolved`` | |
|
19 | ||
|
20 | To set a Redmine integration up it is first necessary to obtain a Redmine api | |
|
21 | key. This can be found in ``My Account`` in the Redmine application. | |
|
22 | If it is not there, you may have to enable API Access in Redmine settings. | |
|
23 | ||
|
24 | Once you have the api key, create a ``redmine`` integration in | |
|
25 | :ref:`creating-integrations`. |
@@ -0,0 +1,13 b'' | |||
|
1 | .. _integrations-slack: | |
|
2 | ||
|
3 | Slack integration | |
|
4 | ================= | |
|
5 | ||
|
6 | To set a Slack integration up it is first necessary to set up a Slack webhook api | |
|
7 | endpoint for your slack channel, this can be done at: | |
|
8 | ||
|
9 | https://my.slack.com/services/new/incoming-webhook/ | |
|
10 | ||
|
11 | Once you have set up a Slack webhook integrations url of the | |
|
12 | form: ``https://hooks.slack.com/services/...``, create a ``slack`` integration | |
|
13 | in :ref:`creating-integrations`. |
@@ -0,0 +1,10 b'' | |||
|
1 | .. _integrations-webhook: | |
|
2 | ||
|
3 | Webhook integration | |
|
4 | =================== | |
|
5 | ||
|
6 | The Webhook integration allows you to POST events such as repository pushes | |
|
7 | or pull requests to a custom http endpoint as a json dict with details of the | |
|
8 | event. | |
|
9 | ||
|
10 | To create a webhook integration select ``webhook`` in :ref:`creating-integrations`. |
@@ -121,7 +121,7 b' then work on restoring any specific setu' | |||
|
121 | 121 | :ref:`indexing-ref` section for details. |
|
122 | 122 | * To reconfigure any extensions, copy the backed up extensions into the |
|
123 | 123 | :file:`/home/{user}/.rccontrol/{instance-id}/rcextensions` and also specify |
|
124 |
any custom hooks if necessary. See the :ref:` |
|
|
124 | any custom hooks if necessary. See the :ref:`extensions-hooks-ref` section for | |
|
125 | 125 | details. |
|
126 | 126 | |
|
127 | 127 | .. _Schrödinger's Backup: http://novabackup.novastor.com/blog/schrodingers-backup-good-bad-backup/ |
@@ -32,7 +32,7 b' Example Usage' | |||
|
32 | 32 | ------------- |
|
33 | 33 | |
|
34 | 34 | To use the extra fields in an extension, see the example below. For more |
|
35 |
information and examples, see the :ref:` |
|
|
35 | information and examples, see the :ref:`extensions-hooks-ref` section. | |
|
36 | 36 | |
|
37 | 37 | .. code-block:: python |
|
38 | 38 |
@@ -14,7 +14,7 b' code review matters, see these posts on ' | |||
|
14 | 14 | |
|
15 | 15 | You can also use the |RCE| API set up continuous integration servers to leave |
|
16 | 16 | comments from a test suite. See the :ref:`api` and |
|
17 |
:ref:` |
|
|
17 | :ref:`extensions-hooks-ref` sections for examples on how to set this up. | |
|
18 | 18 | |
|
19 | 19 | .. toctree:: |
|
20 | 20 |
@@ -6,6 +6,8 b" rst_epilog = '''" | |||
|
6 | 6 | .. |AE| replace:: Appenlight |
|
7 | 7 | .. |authtoken| replace:: Authentication Token |
|
8 | 8 | .. |authtokens| replace:: **Auth Tokens** |
|
9 | .. |RCCEshort| replace:: Community | |
|
10 | .. |RCEEshort| replace:: Enterprise | |
|
9 | 11 | .. |git| replace:: Git |
|
10 | 12 | .. |hg| replace:: Mercurial |
|
11 | 13 | .. |svn| replace:: Subversion |
|
1 | NO CONTENT: file renamed from docs/integrations/config-ext.rst to docs/extensions/config-ext.rst |
|
1 | NO CONTENT: file renamed from docs/integrations/example-ext.py to docs/extensions/example-ext.py |
|
1 | NO CONTENT: file renamed from docs/integrations/extensions.rst to docs/extensions/extensions.rst |
|
1 | NO CONTENT: file renamed from docs/integrations/full-blown-example.rst to docs/extensions/full-blown-example.rst |
|
1 | NO CONTENT: file renamed from docs/integrations/hooks.rst to docs/extensions/hooks.rst |
|
1 | NO CONTENT: file renamed from docs/integrations/install-ext.rst to docs/extensions/install-ext.rst |
|
1 | NO CONTENT: file renamed from docs/integrations/int-slack.rst to docs/extensions/int-slack.rst |
|
1 | NO CONTENT: file renamed from docs/integrations/rcx.rst to docs/extensions/rcx.rst |
@@ -58,6 +58,7 b' and commit files and |repos| while manag' | |||
|
58 | 58 | collaboration/review-notifications |
|
59 | 59 | collaboration/pull-requests |
|
60 | 60 | code-review/code-review |
|
61 | integrations/integrations | |
|
61 | 62 | |
|
62 | 63 | .. toctree:: |
|
63 | 64 | :maxdepth: 1 |
@@ -65,7 +66,7 b' and commit files and |repos| while manag' | |||
|
65 | 66 | |
|
66 | 67 | api/api |
|
67 | 68 | tools/rhodecode-tools |
|
68 | integrations/integrations | |
|
69 | extensions/extensions-hooks | |
|
69 | 70 | contributing/contributing |
|
70 | 71 | |
|
71 | 72 | .. toctree:: |
@@ -1,25 +1,49 b'' | |||
|
1 |
.. _integrations |
|
|
1 | .. _integrations: | |
|
2 | ||
|
3 | Integrations | |
|
4 | ------------ | |
|
2 | 5 | |
|
3 | Integrations and Extensions | |
|
4 | =========================== | |
|
6 | Rhodecode supports integrations with external services for various events | |
|
7 | such as commit pushes and pull requests. Multiple integrations of the same type | |
|
8 | (eg. slack) can be added at the same time which is useful for example to post | |
|
9 | different events to different slack channels. | |
|
5 | 10 | |
|
6 | The integrations section references three concepts regularly, | |
|
7 | so to clarify what is meant each time, read the following definitions: | |
|
11 | Supported integrations | |
|
12 | ^^^^^^^^^^^^^^^^^^^^^^ | |
|
8 | 13 | |
|
9 | * **Plugin**: A Plugin is software that adds a specific feature to | |
|
10 | an existing software application. | |
|
11 | * **Extension**: An extension extends the capabilities of, | |
|
12 | or the data available to, an existing software application. | |
|
13 | * **Hook**: A hook intercepts function calls, messages, or events passed | |
|
14 | between software components and can be used to trigger plugins, or their | |
|
15 | extensions. | |
|
14 | ============================ ============ ===================================== | |
|
15 | Type/Name |RC| Edition Description | |
|
16 | ============================ ============ ===================================== | |
|
17 | :ref:`integrations-slack` |RCCEshort| https://slack.com/ | |
|
18 | :ref:`integrations-hipchat` |RCCEshort| https://www.hipchat.com/ | |
|
19 | :ref:`integrations-webhook` |RCCEshort| POST events as `json` to a custom url | |
|
20 | :ref:`integrations-redmine` |RCEEshort| Close/Resolve/Reference redmine issues | |
|
21 | :ref:`integrations-jira` |RCEEshort| Close/Resolve/Reference JIRA issues | |
|
22 | ============================ ============ ===================================== | |
|
23 | ||
|
24 | .. _creating-integrations: | |
|
25 | ||
|
26 | Creating an integration | |
|
27 | ^^^^^^^^^^^^^^^^^^^^^^^ | |
|
28 | ||
|
29 | Integrations can be added globally via the admin UI: | |
|
30 | ||
|
31 | :menuselection:`Admin --> Integrations` | |
|
32 | ||
|
33 | or per repository in the repository settings: | |
|
34 | ||
|
35 | :menuselection:`Admin --> Repositories --> Edit --> Integrations` | |
|
36 | ||
|
37 | To create an integration, select the type from the list of types in the | |
|
38 | `Create an integration` section. | |
|
39 | ||
|
40 | The `Current integrations` section shows existing integrations that have been | |
|
41 | created along with their type (eg. slack) and enabled status. | |
|
16 | 42 | |
|
17 | 43 | .. toctree:: |
|
18 | 44 | |
|
19 | rcx | |
|
20 | install-ext | |
|
21 | config-ext | |
|
22 | extensions | |
|
23 |
hook |
|
|
24 | full-blown-example | |
|
25 | int-slack | |
|
45 | slack | |
|
46 | hipchat | |
|
47 | redmine | |
|
48 | jira | |
|
49 | webhook |
@@ -301,7 +301,7 b' used to send signals to build-bots such ' | |||
|
301 | 301 | |
|
302 | 302 | \ - -plugins |
|
303 | 303 | Add plugins to your |RCE| installation. See the |
|
304 |
:ref:` |
|
|
304 | :ref:`extensions-hooks-ref` section for more details. | |
|
305 | 305 | |
|
306 | 306 | \ - -version |
|
307 | 307 | Display your |RCT| version. |
General Comments 0
You need to be logged in to leave comments.
Login now