Show More
@@ -0,0 +1,97 b'' | |||||
|
1 | .. _integrations-ci: | |||
|
2 | ||||
|
3 | CI Server integration | |||
|
4 | ===================== | |||
|
5 | ||||
|
6 | ||||
|
7 | RhodeCode :ref:`integrations-webhook` integration is a powerfull tool to allow | |||
|
8 | interaction with systems like Jenkin, Bamboo, TeamCity, CircleCi or any other | |||
|
9 | CI server that allows triggering a build using HTTP call. | |||
|
10 | ||||
|
11 | Below are few examples on how to use :ref:`integrations-webhook` to trigger | |||
|
12 | a CI build. | |||
|
13 | ||||
|
14 | ||||
|
15 | General Webhook | |||
|
16 | +++++++++++++++ | |||
|
17 | ||||
|
18 | :ref:`integrations-webhook` allows sending a JSON payload information to specified | |||
|
19 | url with GET or POST methods. There are several variables that could be used | |||
|
20 | in the URL greatly extending the flexibility of this type of integration. | |||
|
21 | ||||
|
22 | Most of the modern CI systems such as Jenkins, TeamCity, Bamboo or CircleCi | |||
|
23 | allows triggering builds via GET or POST calls. | |||
|
24 | ||||
|
25 | :ref:`integrations-webhook` can be either specified per each repository or | |||
|
26 | globally, if your CI maps directly to all your projects a global | |||
|
27 | :ref:`integrations-webhook` integration can be created and will trigger builds | |||
|
28 | for each change in projects. If only some projects allow triggering builds a | |||
|
29 | global integration will also work because mostly a CI system will ignore a | |||
|
30 | call for unspecified builds. | |||
|
31 | ||||
|
32 | ||||
|
33 | .. note:: | |||
|
34 | ||||
|
35 | A quick note on security. It's recommended to allow IP restrictions | |||
|
36 | to only allow RhodeCode server to trigger builds. If you need to | |||
|
37 | specify username and password this could be done by embedding it into a | |||
|
38 | trigger URL, e.g. `http://user:password@server.com/job/${project_id} | |||
|
39 | ||||
|
40 | ||||
|
41 | If users require to provide any custom parameters, they can be stored for each | |||
|
42 | project inside the :ref:`repo-xtra`. For example to migrate a current job that | |||
|
43 | has a numeric build id, storing this as `jenkins_build_id` key extra field | |||
|
44 | the url would look like that:: | |||
|
45 | ||||
|
46 | http://server/job/${extra:jenkins_build_id}/ | |||
|
47 | ||||
|
48 | ||||
|
49 | .. note:: | |||
|
50 | ||||
|
51 | Please note that some variables will result in multiple calls. | |||
|
52 | e.g. for |HG| specifying `${branch}` will trigger as many builds as how | |||
|
53 | many branches the suer actually pushed. Same applies to `${commit_id}` | |||
|
54 | This will trigger many builds if many commits are pushed. This allows | |||
|
55 | triggering individual builds for each pushed commit. | |||
|
56 | ||||
|
57 | ||||
|
58 | Jenkins | |||
|
59 | +++++++ | |||
|
60 | ||||
|
61 | To use Jenkins CI with RhodeCode, a Jenkins Build with Parameters should be used. | |||
|
62 | Plugin details are available here: https://wiki.jenkins.io/display/JENKINS/Build+With+Parameters+Plugin | |||
|
63 | ||||
|
64 | If the plugin is configured, RhodeCode can trigger builds automatically by | |||
|
65 | calling such example url provided in :ref:`integrations-webhook` integration:: | |||
|
66 | ||||
|
67 | http://server/job/${project_id}/build-branch-${branch}/buildWithParameters?token=TOKEN&PARAMETER=value&PARAMETER2=value2 | |||
|
68 | ||||
|
69 | ||||
|
70 | Team City | |||
|
71 | +++++++++ | |||
|
72 | ||||
|
73 | To use TeamCity CI it's enough to call the API and provide a buildId. | |||
|
74 | Example url after configuring :ref:`repo-xtra` would look like that:: | |||
|
75 | ||||
|
76 | http://teacmtiyserver/viewType.html?buildTypeId=${extra:tc_build_id} | |||
|
77 | ||||
|
78 | ||||
|
79 | Each project can have many build configurations. | |||
|
80 | buildTypeId which is a unique ID for each build configuration (job). | |||
|
81 | ||||
|
82 | ||||
|
83 | CircleCi | |||
|
84 | ++++++++ | |||
|
85 | ||||
|
86 | To use CircleCi, a POST call needs to be triggered. Example build url would | |||
|
87 | look like this:: | |||
|
88 | ||||
|
89 | http://cicleCiServer/project/${repo_type}/${username}/${repo_id}/tree/${branch} | |||
|
90 | ||||
|
91 | ||||
|
92 | Circle Ci expects format of:: | |||
|
93 | ||||
|
94 | POST: /project/:vcs-type/:username/:project/tree/:branch | |||
|
95 | ||||
|
96 | ||||
|
97 | CircleCi API documentation can be found here: https://circleci.com/docs/api/v1-reference/ |
@@ -1,87 +1,87 b'' | |||||
1 | |RCM| |
|
1 | |RCM| | |
2 | ===== |
|
2 | ===== | |
3 |
|
3 | |||
4 | |RCM| is a high-performance source code management and collaboration system. |
|
4 | |RCM| is a high-performance source code management and collaboration system. | |
5 | It enables you to develop projects securely behind the firewall while |
|
5 | It enables you to develop projects securely behind the firewall while | |
6 | providing collaboration tools that work with |git|, |hg|, |
|
6 | providing collaboration tools that work with |git|, |hg|, | |
7 | and |svn| |repos|. The user interface allows you to create, edit, |
|
7 | and |svn| |repos|. The user interface allows you to create, edit, | |
8 | and commit files and |repos| while managing their security permissions. |
|
8 | and commit files and |repos| while managing their security permissions. | |
9 |
|
9 | |||
10 | |RCM| provides the following features: |
|
10 | |RCM| provides the following features: | |
11 |
|
11 | |||
12 | * Source code management. |
|
12 | * Source code management. | |
13 | * Extended permissions management. |
|
13 | * Extended permissions management. | |
14 | * Integrated code collaboration tools. |
|
14 | * Integrated code collaboration tools. | |
15 | * Integrated code review and notifications. |
|
15 | * Integrated code review and notifications. | |
16 | * Scalability provided by multi-node setup. |
|
16 | * Scalability provided by multi-node setup. | |
17 | * Fully programmable automation API. |
|
17 | * Fully programmable automation API. | |
18 | * Web-based hook management. |
|
18 | * Web-based hook management. | |
19 | * Native |svn| support. |
|
19 | * Native |svn| support. | |
20 | * Migration from existing databases. |
|
20 | * Migration from existing databases. | |
21 | * |RCM| SDK. |
|
21 | * |RCM| SDK. | |
22 | * Built-in analytics |
|
22 | * Built-in analytics | |
23 |
* Built in integrations including: Slack, Jenkins |
|
23 | * Built in integrations including: Slack, Webhooks (used for Jenkins/TeamCity and other CIs), Jira, Redmine, Hipchat | |
24 | * Pluggable authentication system. |
|
24 | * Pluggable authentication system. | |
25 | * Support for AD, |LDAP|, Crowd, CAS, PAM. |
|
25 | * Support for AD, |LDAP|, Crowd, CAS, PAM. | |
26 | * Support for external authentication via Oauth Google, Github, Bitbucket, Twitter. |
|
26 | * Support for external authentication via Oauth Google, Github, Bitbucket, Twitter. | |
27 | * Debug modes of operation. |
|
27 | * Debug modes of operation. | |
28 | * Private and public gists. |
|
28 | * Private and public gists. | |
29 | * Gists with limited lifetimes and within instance only sharing. |
|
29 | * Gists with limited lifetimes and within instance only sharing. | |
30 | * Fully integrated code search function. |
|
30 | * Fully integrated code search function. | |
31 | * Always on SSL connectivity. |
|
31 | * Always on SSL connectivity. | |
32 |
|
32 | |||
33 | .. only:: html |
|
33 | .. only:: html | |
34 |
|
34 | |||
35 | Table of Contents |
|
35 | Table of Contents | |
36 | ----------------- |
|
36 | ----------------- | |
37 |
|
37 | |||
38 | .. toctree:: |
|
38 | .. toctree:: | |
39 | :maxdepth: 1 |
|
39 | :maxdepth: 1 | |
40 | :caption: Admin Documentation |
|
40 | :caption: Admin Documentation | |
41 |
|
41 | |||
42 | install/quick-start |
|
42 | install/quick-start | |
43 | install/install-database |
|
43 | install/install-database | |
44 | install/install-steps |
|
44 | install/install-steps | |
45 | admin/system-overview |
|
45 | admin/system-overview | |
46 | nix/default-env |
|
46 | nix/default-env | |
47 | admin/system-admin |
|
47 | admin/system-admin | |
48 | admin/user-admin |
|
48 | admin/user-admin | |
49 | admin/setting-repo-perms |
|
49 | admin/setting-repo-perms | |
50 | admin/security-tips |
|
50 | admin/security-tips | |
51 | auth/auth |
|
51 | auth/auth | |
52 | issue-trackers/issue-trackers |
|
52 | issue-trackers/issue-trackers | |
53 | admin/lab-settings |
|
53 | admin/lab-settings | |
54 |
|
54 | |||
55 | .. toctree:: |
|
55 | .. toctree:: | |
56 | :maxdepth: 1 |
|
56 | :maxdepth: 1 | |
57 | :caption: Feature Documentation |
|
57 | :caption: Feature Documentation | |
58 |
|
58 | |||
59 | collaboration/collaboration |
|
59 | collaboration/collaboration | |
60 | collaboration/review-notifications |
|
60 | collaboration/review-notifications | |
61 | collaboration/pull-requests |
|
61 | collaboration/pull-requests | |
62 | code-review/code-review |
|
62 | code-review/code-review | |
63 | integrations/integrations |
|
63 | integrations/integrations | |
64 |
|
64 | |||
65 | .. toctree:: |
|
65 | .. toctree:: | |
66 | :maxdepth: 1 |
|
66 | :maxdepth: 1 | |
67 | :caption: Developer Documentation |
|
67 | :caption: Developer Documentation | |
68 |
|
68 | |||
69 | api/api |
|
69 | api/api | |
70 | tools/rhodecode-tools |
|
70 | tools/rhodecode-tools | |
71 | extensions/extensions-hooks |
|
71 | extensions/extensions-hooks | |
72 | contributing/contributing |
|
72 | contributing/contributing | |
73 |
|
73 | |||
74 | .. toctree:: |
|
74 | .. toctree:: | |
75 | :maxdepth: 1 |
|
75 | :maxdepth: 1 | |
76 | :caption: User Documentation |
|
76 | :caption: User Documentation | |
77 |
|
77 | |||
78 | usage/basic-usage |
|
78 | usage/basic-usage | |
79 | tutorials/tutorials |
|
79 | tutorials/tutorials | |
80 |
|
80 | |||
81 | .. toctree:: |
|
81 | .. toctree:: | |
82 | :maxdepth: 1 |
|
82 | :maxdepth: 1 | |
83 | :caption: About |
|
83 | :caption: About | |
84 |
|
84 | |||
85 | known-issues/known-issues |
|
85 | known-issues/known-issues | |
86 | release-notes/release-notes |
|
86 | release-notes/release-notes | |
87 | admin/glossary |
|
87 | admin/glossary |
@@ -1,53 +1,54 b'' | |||||
1 | .. _integrations: |
|
1 | .. _integrations: | |
2 |
|
2 | |||
3 | Integrations |
|
3 | Integrations | |
4 | ------------ |
|
4 | ------------ | |
5 |
|
5 | |||
6 | Rhodecode supports integrations with external services for various events, |
|
6 | Rhodecode supports integrations with external services for various events, | |
7 | such as commit pushes and pull requests. Multiple integrations of the same type |
|
7 | such as commit pushes and pull requests. Multiple integrations of the same type | |
8 | can be added at the same time; this is useful for posting different events to |
|
8 | can be added at the same time; this is useful for posting different events to | |
9 | different Slack channels, for example. |
|
9 | different Slack channels, for example. | |
10 |
|
10 | |||
11 | Supported integrations |
|
11 | Supported integrations | |
12 | ^^^^^^^^^^^^^^^^^^^^^^ |
|
12 | ^^^^^^^^^^^^^^^^^^^^^^ | |
13 |
|
13 | |||
14 | ============================ ============ ===================================== |
|
14 | ============================ ============ ===================================== | |
15 | Type/Name |RC| Edition Description |
|
15 | Type/Name |RC| Edition Description | |
16 | ============================ ============ ===================================== |
|
16 | ============================ ============ ===================================== | |
17 | :ref:`integrations-slack` |RCCEshort| https://slack.com/ |
|
17 | :ref:`integrations-slack` |RCCEshort| https://slack.com/ | |
18 | :ref:`integrations-hipchat` |RCCEshort| https://www.hipchat.com/ |
|
18 | :ref:`integrations-hipchat` |RCCEshort| https://www.hipchat.com/ | |
19 | :ref:`integrations-webhook` |RCCEshort| POST events as `json` to a custom url |
|
19 | :ref:`integrations-webhook` |RCCEshort| POST events as `json` to a custom url | |
20 |
:ref:`integrations- |
|
20 | :ref:`integrations-ci` |RCCEshort| Trigger Builds for Common CI Systems | |
|
21 | :ref:`integrations-email` |RCCEshort| Send repo push commits by email | |||
21 | :ref:`integrations-redmine` |RCEEshort| Close/Resolve/Reference redmine issues |
|
22 | :ref:`integrations-redmine` |RCEEshort| Close/Resolve/Reference redmine issues | |
22 | :ref:`integrations-jira` |RCEEshort| Close/Resolve/Reference JIRA issues |
|
23 | :ref:`integrations-jira` |RCEEshort| Close/Resolve/Reference JIRA issues | |
23 | ============================ ============ ===================================== |
|
24 | ============================ ============ ===================================== | |
24 |
|
25 | |||
25 | .. _creating-integrations: |
|
26 | .. _creating-integrations: | |
26 |
|
27 | |||
27 | Creating an Integration |
|
28 | Creating an Integration | |
28 | ^^^^^^^^^^^^^^^^^^^^^^^ |
|
29 | ^^^^^^^^^^^^^^^^^^^^^^^ | |
29 |
|
30 | |||
30 | Integrations can be added globally via the admin UI: |
|
31 | Integrations can be added globally via the admin UI: | |
31 |
|
32 | |||
32 | :menuselection:`Admin --> Integrations` |
|
33 | :menuselection:`Admin --> Integrations` | |
33 |
|
34 | |||
34 | or per repository in each repository's settings: |
|
35 | or per repository in each repository's settings: | |
35 |
|
36 | |||
36 | :menuselection:`Admin --> Repositories --> Edit --> Integrations` |
|
37 | :menuselection:`Admin --> Repositories --> Edit --> Integrations` | |
37 |
|
38 | |||
38 | To create an integration, select the type from the list in the *Create New |
|
39 | To create an integration, select the type from the list in the *Create New | |
39 | Integration* section. |
|
40 | Integration* section. | |
40 |
|
41 | |||
41 | The *Current Integrations* section shows existing integrations that have been |
|
42 | The *Current Integrations* section shows existing integrations that have been | |
42 | created along with their type (eg. Slack) and enabled status. |
|
43 | created along with their type (eg. Slack) and enabled status. | |
43 |
|
44 | |||
44 | See pages specific to each type of integration for more instructions: |
|
45 | See pages specific to each type of integration for more instructions: | |
45 |
|
46 | |||
46 | .. toctree:: |
|
47 | .. toctree:: | |
47 |
|
48 | |||
48 | slack |
|
49 | slack | |
49 | hipchat |
|
50 | hipchat | |
50 | redmine |
|
51 | redmine | |
51 | jira |
|
52 | jira | |
52 | webhook |
|
53 | webhook | |
53 |
|
54 |
General Comments 0
You need to be logged in to leave comments.
Login now