##// END OF EJS Templates
http-proto: in case incoming requests come in as chunked stream the data to VCSServer....
http-proto: in case incoming requests come in as chunked stream the data to VCSServer. This should solve a problem of uploading large files to rhodecode. In case of git with small postBuffers GIT client streams data to the server. In such case we want to stream the data back again to vcsserver without reading it fully inside RhodeCode.

File last commit:

r552:9a0f45b0 default
r1423:8b2e03e1 default
Show More
repo-extra-fields.rst
68 lines | 2.2 KiB | text/x-rst | RstLexer
/ docs / admin / repo-extra-fields.rst
project: added all source files and assets
r1 .. _repo-xtra:
Repository Extra Fields
=======================
Extra fields attached to a |repo| allow you to configure additional actions for
|RCX|. To install and read more about |RCX|, see the :ref:`install-rcx` section.
Enabling Extra Fields
---------------------
To enable extra fields on |repos|, use the following steps:
1. Go to the :menuselection:`Admin --> Settings --> Visual` page.
2. Check the :guilabel:`Use repository extra fields` box.
3. Save your changes.
Configuring Extra Fields
------------------------
To configure extra fields per repository, use the following steps:
1. Go to :menuselection:`Admin --> Repositories` and select :guilabel:`Edit`
beside the |repo| to which you wish to add extra fields.
2. On the |repo| settings page, select the :guilabel:`Extra fields` tab.
.. image:: ../images/extra-repo-fields.png
Example Usage
-------------
To use the extra fields in an extension, see the example below. For more
dan
docs: updated docs for integrations, fixes #4137...
r552 information and examples, see the :ref:`extensions-hooks-ref` section.
project: added all source files and assets
r1
.. code-block:: python
call = load_extension('http_notify.py')
if call:
url = 'http://default.url' # <url for post data>
# possibly extract the URL from extra fields
call = load_extension('extra_fields.py')
if call:
repo_extra_fields = call(**kwargs)
# now update if we have extra fields, they have precedence
# this way users can store any configuration inside the database per
# repo
for key, data in repo_extra_fields.items():
kwargs[key] = data['field_value']
# an endpoint url data will be sent to, fetched from extra fields
# if exists, or fallback to default
kwargs['URL'] = kwargs.pop('webhook_url', None) or url
# fetch pushed commits, from commit_ids list
call = load_extension('extract_commits.py')
extracted_commits = {}
if call:
extracted_commits = call(**kwargs)
# store the commits for the next call chain
kwargs['COMMITS'] = extracted_commits
# set additional keys and values to be sent via POST to given URL
kwargs['caller_type'] = 'rhodecode'
kwargs['date'] = time.time() # import time before
call(**kwargs)