Git Product home page Git Product logo

embulk-input-zendesk's Introduction

Build Status Code Climate Test Coverage Gem Version

Zendesk input plugin for Embulk

Embulk input plugin for loading Zendesk records.

Overview

Required Embulk version >= 0.9.6.

NOTE This plugin don't support JSON type columns e.g. custom fields, tags, etc for now. But they will be supported soon.

  • Plugin type: input
  • Resume supported: no
  • Cleanup supported: no
  • Guess supported: no

Configuration

  • login_url: Login URL for Zendesk (string, required)
  • auth_method: basic, token, or oauth. For more detail on zendesk document. (string, required)
  • target: Which export Zendesk resource. Currently supported are tickets, ticket_events, users, organizations, ticket_fields, ticket_forms, ticket_metrics, scores, recipients, object_records, relationship_records or user_events. (string, required)
  • includes: Will fetch sub resources. For example, ticket has ticket_audits, ticket_comments. See below example config. (array, default: [])
  • username: The user name a.k.a. email. Required if auth_method is basic or token. (string, default: null)
  • password: Password. required if auth_method is basic. (string, default: null)
  • token: Token. required if auth_method is token. (string, default: null)
  • access_token: OAuth Access Token. required if auth_method is oauth. (string, default: null)
  • start_time: Start export from this time if present. (string, default: null)
  • retry_limit: Try to retry this times (integer, default: 5)
  • retry_initial_wait_sec: Wait seconds for exponential backoff initial value (integer, default: 4)
  • incremental: If false, start_time in next.yml would not be updated that means you always fetch all of data from Zendesk with statically conditions. If true, start_time would be updated in next.yml. (bool, default: true)
  • dedup: Zendesk incremental API is not designed to protect against duplication. In order to de-dup records, plugin has to cache fetched IDs in memory. If you're importing a large dataset (eg. tens of millions of records), it can lead to OOM error, depends on your configured heap size. In such cases, you can set this option to false, but keep in mind that result may contain duplicated records. (bool, default: true)
  • app_marketplace_integration_name: Invisible to user, only requires to be a part of the Zendesk Apps Marketplace. This should be used to name of the integration.
  • app_marketplace_org_id: Invisible to user, only requires to be a part of the Zendesk Apps Marketplace. This should be the Organization ID for your organization from the new developer portal.
  • app_marketplace_app_id: Invisible to user, only requires to be a part of the Zendesk Apps Marketplace. This is the “App ID” that will be assigned to you when you submit your app.
  • object_types: List custom object types, required if target is object_records.
  • relationship_types: List custom relationship types, required if target is relationship_records.
  • profile_source: Profile source of user event, required if target is user_events.
  • user_event_source: Source of user event, required if target is user_events.
  • user_event_type: Type of user event, required if target is user_events.

Example

in:
  type: zendesk
  login_url: https://obscura.zendesk.com
  auth_method: token
  username: [email protected]
  token: 6wiIBWbGkBMo1mRDMuVwkw1EPsNkeUj95PIz2akv
  target: tickets
  includes:
    - audits
    - comments
  start_time: "2015-01-01 00:00:00+0000"

Build

$ ./gradlew package

@Config("object_types") @ConfigDefault("[]") List getObjectTypes();

    @Config("relationship_types")
    @ConfigDefault("[]")
    List<String> getRelationshipTypes();

    @Config("profile_source")
    @ConfigDefault("null")
    Optional<String> getProfileSource();

    @Config("end_time")
    @ConfigDefault("null")
    Optional<String> getEndTime();

    @Config("user_event_type")
    @ConfigDefault("null")
    Optional<String> getUserEventType();

    @Config("user_event_source")
    @ConfigDefault("null")
    Optional<String> getUserEventSource();

embulk-input-zendesk's People

Contributors

hieudion avatar uu59 avatar tvhung83 avatar vinhvd avatar muga avatar taikhuu avatar instcode avatar toru-takahashi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.