Metadata-Version: 2.5
Name: collective.webhook
Version: 0.4.0
Summary: Webhook content rule action
Project-URL: Homepage, https://github.com/collective/collective-webhook
Project-URL: PyPI, https://pypi.org/project/collective.webhook
Project-URL: Source, https://github.com/collective/collective-webhook
Project-URL: Tracker, https://github.com/collective/collective-webhook/issues
Author-email: Asko Soukka <asko.soukka@iki.fi>
License: GPL version 2
License-File: LICENSE.GPL
License-File: LICENSE.rst
Classifier: Environment :: Web Environment
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: 6.0
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.11
Requires-Dist: requests
Requires-Dist: zope-formlib>=6.1
Provides-Extra: docs
Requires-Dist: myst-parser; extra == 'docs'
Requires-Dist: plone-sphinx-theme; extra == 'docs'
Requires-Dist: sphinx-autobuild; extra == 'docs'
Requires-Dist: sphinx-copybutton; extra == 'docs'
Provides-Extra: test
Requires-Dist: horse-with-no-namespace; extra == 'test'
Requires-Dist: plone-app-testing; extra == 'test'
Requires-Dist: plone-classicui>=1.0.0; extra == 'test'
Requires-Dist: plone-restapi[test]; extra == 'test'
Requires-Dist: products-printingmailhost; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-plone>=1.0.0a2; extra == 'test'
Requires-Dist: pytest>=8.4.1; extra == 'test'
Requires-Dist: zest-releaser>=9.5.0; extra == 'test'
Description-Content-Type: text/markdown

# collective.webhook

[![Build Status](https://travis-ci.org/collective/collective.webhook.svg?branch=master)](https://travis-ci.org/collective/collective.webhook)
[![Coverage Status](https://coveralls.io/repos/github/collective/collective.webhook/badge.svg)](https://coveralls.io/github/collective/collective.webhook)

A Plone content rule action for executing HTTP GET or POST with interpolated JSON payload on content event.

## Features

- Can be used to trigger webhooks from Plone content rules.
- Outgoing requests are sent after the transaction commits, one at a time through a single worker thread of the Plone instance.
  The request that triggered the rule waits for the response.

## Examples

- Can be used to trigger CI webhook for building GatsbyJS site from Plone after each time content is being modified.

## Documentation

Full documentation is in the "docs" folder.
Run `make docs-html` to build it.

## Installation

With uv:

```shell
uv venv
uv pip install -e '.[test]'
```

## Contribute

- Issue Tracker: https://github.com/collective/collective.webhook/issues
- Source Code: https://github.com/collective/collective.webhook

## License

The project is licensed under the GPLv2.
