Zammad CSV Report

Infos:

  • Used Zammad version: V.6
  • Used Zammad installation type: (package)
  • Operating system: Linux Ubuntu 20.04.6

I wanna make a custom report like the csv that got downloaded.
So I created a button say “GenerateReportBtn” and all i wanna do is catching the same data that is being written in the csv file.
Once I catch the data, I’ll go further. And this is where I’m stuck.


I found that there is a POST request to catch the data from the server in /app/assets/js/app/controllers/Report.coffee

downloadUrl = "#{@apiPath}/reports/sets?sheet=true;metric=#{@params.metric};year=#{@params.year};month=#{@params.month};week=#{@params.week};day=#{@params.day};timeRange=#{@params.timeRange};profile_id=#{profile_id};downloadBackendSelected=#{@params.downloadBackendSelected}"

is there any endpoint like the above to catch the data as JSON?

Hi @AhmedMohsen.

AFAIR this should be possible by using the same API endpoint, just make sure to remove sheet=true.

Hi @fliebe92.
I tried, but the problem is the response only contains 100 tickets ids (only one single page) even if the count like 5000.

Hi @AhmedMohsen.

Can you please post the request you’ve sent to your Zammad instance?

http://localhost/api/v1/reports/sets metric=count;year=2023;month=6;week=31;day=3;timeRange=year;profile_id=1;downloadBackendSelected=count::created

The response is limited to 100 records if it’s no Excel output. This is hardcoded right now.

Excel output: 6000 records
No excel output: 100 records

Thank you @fliebe92.
is there a way to modify this?

Unfortunately, there is no way to modify this right now (without touching the code base).

Hi @fliebe92.
in which file in the code base I can modify these configs.

I really discourage to do so, you can run into trouble with it.

Dangerzone

https://github.com/zammad/zammad/blob/stable/lib/report/ticket_generic_time.rb#L155-L158

At your own risk :slight_smile:

1 Like

Just dropping some knowledge here:
These hard limits have good reasons (at least the CSV export part) and highly depend on server performance.

This code part should be reworked instead of trying to ramp it higher. That’s just my 2 cents.

1 Like

@fliebe92, @MrGeneration Thanks for your help. Appreciate it.