Skip to content
This repository has been archived by the owner on Nov 30, 2022. It is now read-only.

[SaaS Connector] Zendesk - Ticket Endpoints (access) #677

Merged
merged 9 commits into from
Jun 21, 2022
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/unsafe_pr_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,7 @@ jobs:
SEGMENT_NAMESPACE_ID: ${{ secrets.SEGMENT_NAMESPACE_ID }}
SEGMENT_ACCESS_SECRET: ${{ secrets.SEGMENT_ACCESS_SECRET }}
SEGMENT_IDENTITY_EMAIL: ${{ secrets.SEGMENT_IDENTITY_EMAIL }}
run: make pytest-saas
ZENDESK_DOMAIN: ${{ secrets.ZENDESK_DOMAIN }}
ZENDESK_USERNAME: ${{ secrets.ZENDESK_USERNAME }}
ZENDESK_API_KEY: ${{ secrets.ZENDESK_API_KEY }}
run: make pytest-saas
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The types of changes are:
* Prettier formatting CI check for frontend code [#655](https://github.com/ethyca/fidesops/pull/655)
* Adds default policies [#654](https://github.com/ethyca/fidesops/pull/654)
* Added ConnectionConfig `connection_type` and `disabled` filters [#675](https://github.com/ethyca/fidesops/pull/675)

* Sample dataset and access configuration for Zendesk (ticket endpoints) [#677](https://github.com/ethyca/fidesops/pull/677)
### Changed

* Refactor auth and enable static file serving [#577](https://github.com/ethyca/fidesops/pull/577)
Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ pytest-saas: compose-build
-e MAILCHIMP_DOMAIN -e MAILCHIMP_USERNAME -e MAILCHIMP_API_KEY -e MAILCHIMP_IDENTITY_EMAIL \
-e SENTRY_HOST -e SENTRY_ACCESS_TOKEN -e SENTRY_IDENTITY_EMAIL -e SENTRY_ERASURE_TOKEN -e SENTRY_ERASURE_IDENTITY -e SENTRY_USER_ID -e SENTRY_ISSUE_URL \
-e HUBSPOT_DOMAIN -e HUBSPOT_HAPIKEY -e HUBSPOT_IDENTITY_EMAIL \
-e ZENDESK_DOMAIN -e ZENDESK_USERNAME -e ZENDESK_API_KEY -e ZENDESK_IDENTITY_EMAIL \
-e SEGMENT_DOMAIN -e SEGMENT_PERSONAS_DOMAIN -e SEGMENT_WORKSPACE -e SEGMENT_ACCESS_TOKEN -e SEGMENT_API_DOMAIN -e SEGMENT_NAMESPACE_ID -e SEGMENT_ACCESS_SECRET -e SEGMENT_USER_TOKEN -e SEGMENT_IDENTITY_EMAIL \
-e STRIPE_HOST -e STRIPE_API_KEY -e STRIPE_PAYMENT_TYPES -e STRIPE_ITEMS_PER_PAGE -e STRIPE_IDENTITY_EMAIL \
$(IMAGE_NAME) pytest $(pytestpath) -m "integration_saas"
Expand Down
107 changes: 107 additions & 0 deletions data/saas/config/zendesk_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
saas_config:
fides_key: zendesk_connector_example
name: Zendesk SaaS Config
description: A sample schema representing the Zendesk connector for Fidesops
version: 0.0.1

connector_params:
- name: domain
- name: username
- name: api_key
- name: page_size

client_config:
protocol: https
host: <domain>
authentication:
strategy: basic
configuration:
username: <username>
password: <api_key>

test_request:
method: GET
path: /api/v2/users/search.json
query_params:
- name: query
value: test@ethyca

endpoints:
- name: users
requests:
read:
method: GET
path: /api/v2/users/search.json
query_params:
- name: query
value: <email>
param_values:
- name: email
identity: email
data_path: users
- name: user_identities
requests:
read:
method: GET
path: /api/v2/users/<user_id>/identities.json
query_params:
- name: page[size]
value: <page_size>
param_values:
- name: user_id
references:
- dataset: zendesk_connector_example
field: users.id
direction: from
- name: page_size
connector_param: page_size
data_path: identities
pagination:
strategy: link
configuration:
source: body
path: links.next
- name: tickets
requests:
read:
method: GET
path: /api/v2/users/<user_id>/tickets/requested.json
query_params:
- name: page[size]
value: <page_size>
param_values:
- name: user_id
references:
- dataset: zendesk_connector_example
field: users.id
direction: from
- name: page_size
connector_param: page_size
data_path: tickets
pagination:
strategy: link
configuration:
source: body
path: links.next
- name: ticket_comments
requests:
read:
method: GET
path: /api/v2/tickets/<ticket_id>/comments.json
query_params:
- name: page[size]
value: <page_size>
param_values:
- name: ticket_id
references:
- dataset: zendesk_connector_example
field: tickets.id
direction: from
- name: page_size
connector_param: page_size
data_path: comments
pagination:
strategy: link
configuration:
source: body
path: links.next
Loading