summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 07:33:12 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 07:33:12 +0000
commitcfb43f927f532c2ec0533540c692560306b520af (patch)
treeddf31e8126b68e271a5513d485e56972c37a25c5
parentd6ff9baed5a7399fbbc39578aedf85912a44f17e (diff)
automatic import of python-django-zengo
-rw-r--r--.gitignore1
-rw-r--r--python-django-zengo.spec501
-rw-r--r--sources1
3 files changed, 503 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..8255ba9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/django-zengo-2.0.4.tar.gz
diff --git a/python-django-zengo.spec b/python-django-zengo.spec
new file mode 100644
index 0000000..6be1e36
--- /dev/null
+++ b/python-django-zengo.spec
@@ -0,0 +1,501 @@
+%global _empty_manifest_terminate_build 0
+Name: python-django-zengo
+Version: 2.0.4
+Release: 1
+Summary: Integrate Zendesk Support and your Django app
+License: MIT
+URL: https://github.com/lukeburden/django-zengo
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/64/3b/c6e8d0e6da8ac1190365a3e67097e59e4d4a5304c700f2ec188824fc5c51/django-zengo-2.0.4.tar.gz
+BuildArch: noarch
+
+Requires: python3-django
+Requires: python3-zenpy
+Requires: python3-django-konst
+
+%description
+# Integrate Zendesk Support into your Django app
+
+[![](https://img.shields.io/pypi/v/django-zengo.svg)](https://pypi.python.org/pypi/django-zengo/)
+[![](https://img.shields.io/badge/license-MIT-blue.svg)](https://pypi.python.org/pypi/django-zengo/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
+[![Codecov](https://codecov.io/gh/lukeburden/django-zengo/branch/master/graph/badge.svg)](https://codecov.io/gh/lukeburden/django-zengo)
+[![CircleCI](https://circleci.com/gh/lukeburden/django-zengo.svg?style=svg)](https://circleci.com/gh/lukeburden/django-zengo)
+
+
+## django-zengo
+
+`django-zengo` is a Django app that provides conveniences for integrating with Zendesk.
+
+It facilitates receiving webhook updates from Zendesk, detecting new tickets and changes to existing tickets.
+
+### Installation ####
+
+pip install django-zengo
+
+
+### Usage ###
+
+#### Configuring the webhook ####
+
+Zengo comes with a view that processes messages sent by Zendesk and allows you to perform actions upon various Zendesk events.
+
+##### Expose `zengo.views.WebhookView` #####
+
+You need to configure your application to receive the webhook. To do so simply include it in your URL conf:
+
+```python
+from django.contrib import admin
+from django.urls import path
+
+from zengo.views import WebhookView
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('zengo/webhook/', WebhookView.as_view())
+]
+```
+
+
+##### Add required bits to `settings.py` #####
+
+You need to tell Zengo how to authenticate with Zendesk:
+
+- `ZENDESK_EMAIL` is the email of the Zendesk account you will use to interact with the API.
+- `ZENDESK_TOKEN` generated for the user above in the Zendesk web interface.
+- `ZENDESK_SUBDOMAIN` must match the subdomain used in your Zendesk account.
+
+As seen below, you need to specify
+And you need to set a shared secret so that the webhook view can trust incoming messages from Zendesk:
+
+- `ZENGO_WEBHOOK_SECRET` generated by your good self; make it long and random!
+
+So, your settings should appear something along the lines of:
+
+```python
+ZENDESK_EMAIL = "iamanemail@example.com"
+ZENDESK_TOKEN = "<token-from-zendesk-webui>"
+ZENDESK_SUBDOMAIN = "example"
+
+ZENGO_WEBHOOK_SECRET = "<replace-me-with-a-great-password>"
+```
+
+###### Configure Zendesk to send events ######
+
+Zendesk allows for many integrations, but for the purposes of Zengo we just need to be told when a ticket has been changed.
+
+Log in as an administrator in Zendesk, and visit `Settings > Extensions > Targets > add target > HTTP target`.
+
+Add an HTTP target with a URL of your service, and choose the `POST` method. Ensure you've added a `secret` query parameter to the URL where your webhook is accessible, such that the webhook view can authorize Zendesk's webhook sends.
+
+Next, you must configure a trigger to use the target. Visit `Business Rules > Triggers > Add trigger`. Add a condition that suits your needs, such as, `Ticket is updated`, or `Ticket is created`, and select an action of `Notify target`, selecting the previously configured target. For JSON body, enter the following:
+
+```json
+{
+ "id": "{{ ticket.id }}"
+}
+```
+
+You're done! Now whenever a ticket is created or updated in Zendesk, you should have an event being processed in your application.
+
+Note: for development, I recommend using the excellent [ngrok](https://ngrok.com/) to proxy requests through to your localhost.
+
+#### Performing actions upon receiving Zendesk events ####
+
+When Zengo receives a webhook from Zendesk, it will fetch the latest state of the ticket from Zendesk's APIs, compare how this differs to the state in the local database models, and fire a signal indicating what has happened. In your application, you attach receivers to the signal that is most relevant to your need.
+
+```python
+from django.dispatch import receiver
+
+from zengo.signals import ticket_created
+
+
+@receiver(ticket_created)
+def handle_new_ticket(sender, ticket, context, **kwargs):
+ # perform your custom action here
+ pass
+```
+
+#### Signals ####
+
+You can connect to the following signals.
+
+- `zengo.signals.ticket_created` - fires when a ticket is encountered for the first time.
+- `zengo.signals.ticket_updated` - fires when a ticket previously encountered is changed, or has a new comment added.
+
+
+## Contribute
+
+`django-zengo` supports a variety of Python and Django versions. It's best if you test each one of these before committing. Our [Circle CI Integration](https://circleci.com) will test these when you push but knowing before you commit prevents from having to do a lot of extra commits to get the build to pass.
+
+### Environment Setup
+
+In order to easily test on all these Pythons and run the exact same thing that CI will execute you'll want to setup [pyenv](https://github.com/yyuu/pyenv) and install the Python versions outlined in [tox.ini](https://github.com/lukeburden/django-zengo/blob/master/tox.ini).
+
+If you are on Mac OS X, it's recommended you use [brew](http://brew.sh/). After installing `brew` run:
+
+```
+$ brew install pyenv pyenv-virtualenv pyenv-virtualenvwrapper
+```
+
+Then:
+
+```
+pyenv install -s 3.6.10
+pyenv install -s 3.7.6
+pyenv install -s 3.8.1
+pyenv virtualenv zengo 3.8.1
+pyenv shell zengo 3.6.10 3.7.6
+pip install detox
+```
+
+To run the test suite:
+
+```
+$ detox
+```
+
+
+
+
+%package -n python3-django-zengo
+Summary: Integrate Zendesk Support and your Django app
+Provides: python-django-zengo
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-django-zengo
+# Integrate Zendesk Support into your Django app
+
+[![](https://img.shields.io/pypi/v/django-zengo.svg)](https://pypi.python.org/pypi/django-zengo/)
+[![](https://img.shields.io/badge/license-MIT-blue.svg)](https://pypi.python.org/pypi/django-zengo/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
+[![Codecov](https://codecov.io/gh/lukeburden/django-zengo/branch/master/graph/badge.svg)](https://codecov.io/gh/lukeburden/django-zengo)
+[![CircleCI](https://circleci.com/gh/lukeburden/django-zengo.svg?style=svg)](https://circleci.com/gh/lukeburden/django-zengo)
+
+
+## django-zengo
+
+`django-zengo` is a Django app that provides conveniences for integrating with Zendesk.
+
+It facilitates receiving webhook updates from Zendesk, detecting new tickets and changes to existing tickets.
+
+### Installation ####
+
+pip install django-zengo
+
+
+### Usage ###
+
+#### Configuring the webhook ####
+
+Zengo comes with a view that processes messages sent by Zendesk and allows you to perform actions upon various Zendesk events.
+
+##### Expose `zengo.views.WebhookView` #####
+
+You need to configure your application to receive the webhook. To do so simply include it in your URL conf:
+
+```python
+from django.contrib import admin
+from django.urls import path
+
+from zengo.views import WebhookView
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('zengo/webhook/', WebhookView.as_view())
+]
+```
+
+
+##### Add required bits to `settings.py` #####
+
+You need to tell Zengo how to authenticate with Zendesk:
+
+- `ZENDESK_EMAIL` is the email of the Zendesk account you will use to interact with the API.
+- `ZENDESK_TOKEN` generated for the user above in the Zendesk web interface.
+- `ZENDESK_SUBDOMAIN` must match the subdomain used in your Zendesk account.
+
+As seen below, you need to specify
+And you need to set a shared secret so that the webhook view can trust incoming messages from Zendesk:
+
+- `ZENGO_WEBHOOK_SECRET` generated by your good self; make it long and random!
+
+So, your settings should appear something along the lines of:
+
+```python
+ZENDESK_EMAIL = "iamanemail@example.com"
+ZENDESK_TOKEN = "<token-from-zendesk-webui>"
+ZENDESK_SUBDOMAIN = "example"
+
+ZENGO_WEBHOOK_SECRET = "<replace-me-with-a-great-password>"
+```
+
+###### Configure Zendesk to send events ######
+
+Zendesk allows for many integrations, but for the purposes of Zengo we just need to be told when a ticket has been changed.
+
+Log in as an administrator in Zendesk, and visit `Settings > Extensions > Targets > add target > HTTP target`.
+
+Add an HTTP target with a URL of your service, and choose the `POST` method. Ensure you've added a `secret` query parameter to the URL where your webhook is accessible, such that the webhook view can authorize Zendesk's webhook sends.
+
+Next, you must configure a trigger to use the target. Visit `Business Rules > Triggers > Add trigger`. Add a condition that suits your needs, such as, `Ticket is updated`, or `Ticket is created`, and select an action of `Notify target`, selecting the previously configured target. For JSON body, enter the following:
+
+```json
+{
+ "id": "{{ ticket.id }}"
+}
+```
+
+You're done! Now whenever a ticket is created or updated in Zendesk, you should have an event being processed in your application.
+
+Note: for development, I recommend using the excellent [ngrok](https://ngrok.com/) to proxy requests through to your localhost.
+
+#### Performing actions upon receiving Zendesk events ####
+
+When Zengo receives a webhook from Zendesk, it will fetch the latest state of the ticket from Zendesk's APIs, compare how this differs to the state in the local database models, and fire a signal indicating what has happened. In your application, you attach receivers to the signal that is most relevant to your need.
+
+```python
+from django.dispatch import receiver
+
+from zengo.signals import ticket_created
+
+
+@receiver(ticket_created)
+def handle_new_ticket(sender, ticket, context, **kwargs):
+ # perform your custom action here
+ pass
+```
+
+#### Signals ####
+
+You can connect to the following signals.
+
+- `zengo.signals.ticket_created` - fires when a ticket is encountered for the first time.
+- `zengo.signals.ticket_updated` - fires when a ticket previously encountered is changed, or has a new comment added.
+
+
+## Contribute
+
+`django-zengo` supports a variety of Python and Django versions. It's best if you test each one of these before committing. Our [Circle CI Integration](https://circleci.com) will test these when you push but knowing before you commit prevents from having to do a lot of extra commits to get the build to pass.
+
+### Environment Setup
+
+In order to easily test on all these Pythons and run the exact same thing that CI will execute you'll want to setup [pyenv](https://github.com/yyuu/pyenv) and install the Python versions outlined in [tox.ini](https://github.com/lukeburden/django-zengo/blob/master/tox.ini).
+
+If you are on Mac OS X, it's recommended you use [brew](http://brew.sh/). After installing `brew` run:
+
+```
+$ brew install pyenv pyenv-virtualenv pyenv-virtualenvwrapper
+```
+
+Then:
+
+```
+pyenv install -s 3.6.10
+pyenv install -s 3.7.6
+pyenv install -s 3.8.1
+pyenv virtualenv zengo 3.8.1
+pyenv shell zengo 3.6.10 3.7.6
+pip install detox
+```
+
+To run the test suite:
+
+```
+$ detox
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for django-zengo
+Provides: python3-django-zengo-doc
+%description help
+# Integrate Zendesk Support into your Django app
+
+[![](https://img.shields.io/pypi/v/django-zengo.svg)](https://pypi.python.org/pypi/django-zengo/)
+[![](https://img.shields.io/badge/license-MIT-blue.svg)](https://pypi.python.org/pypi/django-zengo/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
+[![Codecov](https://codecov.io/gh/lukeburden/django-zengo/branch/master/graph/badge.svg)](https://codecov.io/gh/lukeburden/django-zengo)
+[![CircleCI](https://circleci.com/gh/lukeburden/django-zengo.svg?style=svg)](https://circleci.com/gh/lukeburden/django-zengo)
+
+
+## django-zengo
+
+`django-zengo` is a Django app that provides conveniences for integrating with Zendesk.
+
+It facilitates receiving webhook updates from Zendesk, detecting new tickets and changes to existing tickets.
+
+### Installation ####
+
+pip install django-zengo
+
+
+### Usage ###
+
+#### Configuring the webhook ####
+
+Zengo comes with a view that processes messages sent by Zendesk and allows you to perform actions upon various Zendesk events.
+
+##### Expose `zengo.views.WebhookView` #####
+
+You need to configure your application to receive the webhook. To do so simply include it in your URL conf:
+
+```python
+from django.contrib import admin
+from django.urls import path
+
+from zengo.views import WebhookView
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('zengo/webhook/', WebhookView.as_view())
+]
+```
+
+
+##### Add required bits to `settings.py` #####
+
+You need to tell Zengo how to authenticate with Zendesk:
+
+- `ZENDESK_EMAIL` is the email of the Zendesk account you will use to interact with the API.
+- `ZENDESK_TOKEN` generated for the user above in the Zendesk web interface.
+- `ZENDESK_SUBDOMAIN` must match the subdomain used in your Zendesk account.
+
+As seen below, you need to specify
+And you need to set a shared secret so that the webhook view can trust incoming messages from Zendesk:
+
+- `ZENGO_WEBHOOK_SECRET` generated by your good self; make it long and random!
+
+So, your settings should appear something along the lines of:
+
+```python
+ZENDESK_EMAIL = "iamanemail@example.com"
+ZENDESK_TOKEN = "<token-from-zendesk-webui>"
+ZENDESK_SUBDOMAIN = "example"
+
+ZENGO_WEBHOOK_SECRET = "<replace-me-with-a-great-password>"
+```
+
+###### Configure Zendesk to send events ######
+
+Zendesk allows for many integrations, but for the purposes of Zengo we just need to be told when a ticket has been changed.
+
+Log in as an administrator in Zendesk, and visit `Settings > Extensions > Targets > add target > HTTP target`.
+
+Add an HTTP target with a URL of your service, and choose the `POST` method. Ensure you've added a `secret` query parameter to the URL where your webhook is accessible, such that the webhook view can authorize Zendesk's webhook sends.
+
+Next, you must configure a trigger to use the target. Visit `Business Rules > Triggers > Add trigger`. Add a condition that suits your needs, such as, `Ticket is updated`, or `Ticket is created`, and select an action of `Notify target`, selecting the previously configured target. For JSON body, enter the following:
+
+```json
+{
+ "id": "{{ ticket.id }}"
+}
+```
+
+You're done! Now whenever a ticket is created or updated in Zendesk, you should have an event being processed in your application.
+
+Note: for development, I recommend using the excellent [ngrok](https://ngrok.com/) to proxy requests through to your localhost.
+
+#### Performing actions upon receiving Zendesk events ####
+
+When Zengo receives a webhook from Zendesk, it will fetch the latest state of the ticket from Zendesk's APIs, compare how this differs to the state in the local database models, and fire a signal indicating what has happened. In your application, you attach receivers to the signal that is most relevant to your need.
+
+```python
+from django.dispatch import receiver
+
+from zengo.signals import ticket_created
+
+
+@receiver(ticket_created)
+def handle_new_ticket(sender, ticket, context, **kwargs):
+ # perform your custom action here
+ pass
+```
+
+#### Signals ####
+
+You can connect to the following signals.
+
+- `zengo.signals.ticket_created` - fires when a ticket is encountered for the first time.
+- `zengo.signals.ticket_updated` - fires when a ticket previously encountered is changed, or has a new comment added.
+
+
+## Contribute
+
+`django-zengo` supports a variety of Python and Django versions. It's best if you test each one of these before committing. Our [Circle CI Integration](https://circleci.com) will test these when you push but knowing before you commit prevents from having to do a lot of extra commits to get the build to pass.
+
+### Environment Setup
+
+In order to easily test on all these Pythons and run the exact same thing that CI will execute you'll want to setup [pyenv](https://github.com/yyuu/pyenv) and install the Python versions outlined in [tox.ini](https://github.com/lukeburden/django-zengo/blob/master/tox.ini).
+
+If you are on Mac OS X, it's recommended you use [brew](http://brew.sh/). After installing `brew` run:
+
+```
+$ brew install pyenv pyenv-virtualenv pyenv-virtualenvwrapper
+```
+
+Then:
+
+```
+pyenv install -s 3.6.10
+pyenv install -s 3.7.6
+pyenv install -s 3.8.1
+pyenv virtualenv zengo 3.8.1
+pyenv shell zengo 3.6.10 3.7.6
+pip install detox
+```
+
+To run the test suite:
+
+```
+$ detox
+```
+
+
+
+
+%prep
+%autosetup -n django-zengo-2.0.4
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-django-zengo -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..023a982
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b1d65e18c4ff55fbfb9dd6e7182f2a91 django-zengo-2.0.4.tar.gz