Vor Kurzem aufgerufene Suchen
Keine vor kurzem aufgerufene Suchen

Serge
Beigetreten 15. Apr. 2021
·
Letzte Aktivität 22. Sept. 2022
Folge ich
0
Follower
0
Gesamtaktivitäten
12
Stimmen
0
Abonnements
6
AKTIVITÄTSÜBERSICHT
BADGES
BEITRÄGE
POSTS
COMMUNITY-KOMMENTARE
BEITRAGSKOMMENTARE
AKTIVITÄTSÜBERSICHT
Neueste Aktivität von Serge
Serge hat einen Post erstellt
Introduction
Perhaps you are faced with the problem of the CSV file request frequency limit.
To work around this, we use small javascript (bookmarklet) that receives the data via Zendesk API and saves it to a CSV file.
Visit the Round Robin app site to get the script and set it up for yourself. Its open source and free. Enjoy!
How it works
This video shows how it works.
Here's the source code
Following is the script code. Feel free to modify it for your own needs!
javascript:var win=window.open("","","width=600,height=500,scrollbars=yes");var vn=+window.location.href.replace(/(.*filters/)/,""); var w=win.document; w.write("Export view to CSV file Created by Round Robin App team (@RoundRobinApp)
"); w.write("");var url="/api/v2/views/"+vn+"/execute.json";var l=1;f(url);function ai(a, s, p){for(var i = 0, len = a.length; i < len; i++){if (a[i][p] === s) return i;} return -1;}; function gv(o, r, a){var v=o.rows[r][a]; if (typeof v == "undefined") {v=o.rows[r][a+"_id"];}; if (v !== null) {if(a=="assignee" || a=="requester"){return o.users[ai(o.users, v, "id")].name}; if (a=="group") {return o.groups[ai(o.groups, v, "id")].name};if (a=="organization"){return o.organizations[ai(o.organizations, v, "id")].name};if (a=="via"){return v.channel}; return v;} else {return ""};};function f(u){var xh=new XMLHttpRequest();xh.onreadystatechange=function() {var obj; if(xh.readyState==4&&xh.status==200){obj=JSON.parse(xh.responseText); w.write(""); var q=String.fromCharCode(34); var q1 =String.fromCharCode(39); var s="id,Description"; if (l == 1) {for (var j = 0; j < obj.columns.length; j++) { s += ","+q+obj.columns[j].title+q; }; l=0; w.write(s+String.fromCharCode(13,10)+"
"); }; for (var i = 0; i < obj.rows.length; i++) {var s=obj.rows[i].ticket.id+","+q+obj.rows[i].ticket.description.replace(/[\r\n]/g," ").replace(/"/g, q1).replace(/\s+/g, " ")+q; for (var j = 0; j < obj.columns.length; j++) {s += ","+q+gv(obj,i,obj.columns[j].id).toString().replace(/[\r\n]/g," ").replace(/"/g, q1).replace(/\s+/g, " ")+q; }; w.write(s+String.fromCharCode(13,10)+"
"); }; if(obj.next_page!==null){f(obj.next_page)}else{w.write("")}; }; };xh.open("GET",u,true);xh.send();};
Gepostet 21. Sept. 2022 · Serge
1
Follower
5
Stimmen
1
Kommentar
Serge hat einen Kommentar hinterlassen
@Alexander Thanks!
Last week we had found and fixed a bug in the code of this script. The double quote character was not escaped in Description field. All who are faced with the issue, please update your bookmarklet.
The fixed script is here.
Kommentar anzeigen · Gepostet 13. Juli 2015 · Serge
0
Follower
0
Stimmen
0
Kommentare
Serge hat einen Kommentar hinterlassen
Kommentar anzeigen · Gepostet 07. Mai 2015 · Serge
0
Follower
0
Stimmen
0
Kommentare
Serge hat einen Kommentar hinterlassen
Thanks!
I'm glad you liked it.
Following is the script code with "description".
javascript:var win=window.open("","","width=600,height=500,scrollbars=yes");var vn=+window.location.href.replace(/(.*filters\/)/,""); var w=win.document; w.write("Export view to CSV file Created by Round Robin App team (@RoundRobinApp)
"); w.write("");var url="/api/v2/views/"+vn+"/execute.json";var l=1;f(url);function ai(a, s, p){for(var i = 0, len = a.length; i < len; i++){if (a[i][p] === s) return i;} return -1;}; function gv(o, r, a){var v=o.rows[r][a]; if (typeof v == "undefined") {v=o.rows[r][a+"_id"];}; if (v !== null) {if(a=="assignee" || a=="requester"){return o.users[ai(o.users, v, "id")].name}; if (a=="group") {return o.groups[ai(o.groups, v, "id")].name};if (a=="organization"){return o.organizations[ai(o.organizations, v, "id")].name};if (a=="via"){return v.channel}; return v;} else {return ""};};function f(u){var xh=new XMLHttpRequest();xh.onreadystatechange=function() {var obj; if(xh.readyState==4&&xh.status==200){obj=JSON.parse(xh.responseText); w.write(""); var q=String.fromCharCode(34); var q1 =String.fromCharCode(39); var s="id,Description"; if (l == 1) {for (var j = 0; j < obj.columns.length; j++) { s += ","+q+obj.columns[j].title+q; }; l=0; w.write(s+String.fromCharCode(13,10)+"
"); }; for (var i = 0; i < obj.rows.length; i++) {var s=obj.rows[i].ticket.id+","+q+obj.rows[i].ticket.description.replace(/[\r\n]/g," ").replace(/"/g, q1).replace(/\s+/g, " ")+q; for (var j = 0; j < obj.columns.length; j++) {s += ","+q+gv(obj,i,obj.columns[j].id).toString().replace(/[\r\n]/g," ").replace(/"/g, q1).replace(/\s+/g, " ")+q; }; w.write(s+String.fromCharCode(13,10)+"
"); }; if(obj.next_page!==null){f(obj.next_page)}else{w.write("")}; }; };xh.open("GET",u,true);xh.send();};
Kommentar anzeigen · Gepostet 07. Mai 2015 · Serge
0
Follower
0
Stimmen
0
Kommentare
Serge hat einen Post erstellt
Introduction
Perhaps you are faced with the problem of the CSV file request frequency limit.
To work around this, we use small javascript (bookmarklet) that receives the data via Zendesk API and saves it to a CSV file.
You can get the script HERE to set it up for yourself. It`s open source and FREE. Enjoy!
How it works
This video shows how it works.
Here's the source code
Following is the script code. Feel free to modify it for your own needs!
javascript:var win=window.open("","","width=600,height=500,scrollbars=yes");var vn=+window.location.href.replace(/(.*filters\/)/,""); var w=win.document; w.write("Export view to CSV file Created by Round Robin App team (@RoundRobinApp)
"); w.write("");var url="/api/v2/views/"+vn+"/execute.json";var l=1;f(url);function ai(a, s, p){for(var i = 0, len = a.length; i < len; i++){if (a[i][p] === s) return i;} return -1;}; function gv(o, r, a){var v=o.rows[r][a]; if (typeof v == "undefined") {v=o.rows[r][a+"_id"];}; if (v !== null) {if(a=="assignee" || a=="requester"){return o.users[ai(o.users, v, "id")].name}; if (a=="group") {return o.groups[ai(o.groups, v, "id")].name};if (a=="organization"){return o.organizations[ai(o.organizations, v, "id")].name};if (a=="via"){return v.channel}; return v;} else {return ""};};function f(u){var xh=new XMLHttpRequest();xh.onreadystatechange=function() {var obj; if(xh.readyState==4&&xh.status==200){obj=JSON.parse(xh.responseText); w.write(""); var q=String.fromCharCode(34); var q1 =String.fromCharCode(39); var s="id,Description"; if (l == 1) {for (var j = 0; j < obj.columns.length; j++) { s += ","+q+obj.columns[j].title+q; }; l=0; w.write(s+String.fromCharCode(13,10)+"
"); }; for (var i = 0; i < obj.rows.length; i++) {var s=obj.rows[i].ticket.id+","+q+obj.rows[i].ticket.description.replace(/[\r\n]/g," ").replace(/"/g, q1).replace(/\s+/g, " ")+q; for (var j = 0; j < obj.columns.length; j++) {s += ","+q+gv(obj,i,obj.columns[j].id).toString().replace(/[\r\n]/g," ").replace(/"/g, q1).replace(/\s+/g, " ")+q; }; w.write(s+String.fromCharCode(13,10)+"
"); }; if(obj.next_page!==null){f(obj.next_page)}else{w.write("")}; }; };xh.open("GET",u,true);xh.send();};
Gepostet 10. Apr. 2015 · Serge
0
Follower
17
Stimmen
13
Kommentare
Serge hat einen Kommentar hinterlassen
Hi all,
Seeing the interest of Zendesk community for automatic tickets assignment and agent load balancing, I want to share our solution which solves these tasks.
Check it out roundrobin.zendesk.com/hc/en-us/articles/202636392-How-it-works
I hope it's helpful.
Kommentar anzeigen · Gepostet 03. Feb. 2015 · Serge
0
Follower
0
Stimmen
0
Kommentare