Skip to content

Instantly share code, notes, and snippets.

View dpawluk's full-sized avatar

Daniel Pawluk dpawluk

  • Zendesk
  • Wisconsin
View GitHub Profile
@dpawluk
dpawluk / HTTPWebRequestZD
Created January 29, 2014 17:34
Simple C# script using native HTTP Request handler (HttpWebRequest) to access /api/v2/tickets/{{ticket.id}}.json enpoint.
using System;
using System.Net;
using System.IO;
using System.Text;
using System.Collections.Specialized;
namespace test2
{
class MainClass
{
@dpawluk
dpawluk / humble_squid_cat_images.js
Created February 28, 2014 21:59
Simple script that can be added to a Help Center using the Humble Squid Theme. Will give category boxes a background images specified in the array of links to substitute.
//Begin Humble Squid Category Image Boxes JS Snippet
cat_list = $("ul.category-list li"); // jQuery object containing the category list elements
link_list = $("ul.category-list li a"); // jQuery object containing the category list link elements
// hardcoded array of image assets for use with categories
image_links = [
"//p1.zdassets.com/hc/theme_assets/link/to/images/for/categories.jpg",//replace with actual image links from your Help Center's assets
"//p1.zdassets.com/hc/theme_assets/link/to/images/for/categories.jpg",
"//p1.zdassets.com/hc/theme_assets/link/to/images/for/categories.jpg",
"//p1.zdassets.com/hc/theme_assets/link/to/images/for/categories.jpg",
@dpawluk
dpawluk / requesting.js
Created March 13, 2014 22:30
JSON.stringify() is important. Sending a JSON object will result in automatic conversion to form/url-encoded key-value pairs.
requests: {
var json_data = {
"ticket": {
"subject": "Hello",
"comment": {
"body": "Some question"
},
"ticket_form_id": this.carrierOpsFormId,
"custom_fields": [{
"id": 23810968,
@dpawluk
dpawluk / getUserByEmail.php
Created March 20, 2014 23:27
Function that uses curlWrap to take an email input and returns a user's id.
<?php
require_once('curlwrap.php');
function getUserIdByEmail($email) {
$query = curlWrap('/search.json?query=type:user%20email:' . $email ,'',GET);
$results_array = $query->results;
$results_length = count($results_array);
if($results_length == 1){
echo "we found a single match, good stuff!\n User ID: ";
return $results_array[0]->id;
@dpawluk
dpawluk / delete_many.py
Created April 8, 2014 22:32
a script to delete many tickets based on ticket id range
import requests
s = requests.Session()
s.headers.update({'Content-Type': 'application/json'})
s.auth = ('ADMINEMAIL/token','APITOKEN')
y = 1500 #starting ticketid
#declare last ticketid here
while (y < 24167):
@dpawluk
dpawluk / ZendeskCurlAlternative
Created June 6, 2014 06:35
This is a request to Zendesk using the PHP Requests library, so much easier and less painful than PHP's built-in cURL crappery. Maybe can incorporate into wrapper, who knows...
<?php
include("vendor/autoload.php");
$subdomain = "subdomain";
$username = "username@domain.com";
$password = "password";
$headers = array('Content-Type' => 'application/json');
$options = array('auth' => array($username, $password));
$newTicket = array (
'ticket' => array (
@dpawluk
dpawluk / show_diff_forms
Created June 9, 2014 17:12
form selection based on orgs
$('span.nesty-input').detach();
var formOptions = $("#request_issue_type_select option");
var nullOption = $("<option value>-</option>");
var externalOptions = _.chain(formOptions)
.filter(function(option) {
return option.value == 33297;
})
.value();
var internalOptions = _.chain(formOptions)
@dpawluk
dpawluk / threadedtickets.py
Created June 9, 2014 22:13
threading tickets is toooooo fast for Zendesk
import thread
import threading
import requests
s = requests.Session()
s.headers.update({'Content-Type': 'application/json'})
s.auth = ('USERNAME/token','TOKEN')
#r = s.post("http://requestb.in/1hjs6jw1", data=payload)
ticketCount = 4000
@dpawluk
dpawluk / aeng_get.php
Created July 22, 2014 21:41
PHP Google AppEngine Example
<?php
$username = '__USERNAME__';
$password = '__PASSWORD__';
$url = 'https://__SUBDOMAIN__.zendesk.com/api/v2/tickets.json';
//$data = http_build_query($data); //use if sending data, ticket object or whatnot
$context_opts = [
'http' => [
'method' => 'GET',
'header' => "Content-Type: application/json\r\n" .
@dpawluk
dpawluk / app.js
Last active August 29, 2015 14:04
Abstracting and extending portions of ZAF using commonJS
(function() {
var Client = require('client.js');
return {
requests: {
requestOne: function() {
return {
url: '/api/v2/tickets.json'
};
}