Apache JMeter is an open source performance tool which is helpful in testing load test for WebApplications and WebServices,REST API services.In latest JMeter 3.0 version apache software included Generate Jmeter Report Dashboard using APDEX(Application Performance Index).
How to Generate JMeter Report Dashboard |
What is APDEX?
APDEX is an open standard which is developed by an alliance companies.APDEX which is useful in measure user satisfaction with the help of response time of applications and Services(WebServices/REST API).APDEX measures average time with the help of response time of application under test whether it could be web applications or WebServices.APDEX measure application response time with three levels,those are
1.Satisfied.
2.Toleration Threshold.
3.Frustration Threshold.
How to Generate JMeter Report Dashboard
Please follow below steps to Generate JMeter report dashboards for a test plan.- Download Apache JMeter 3.0 from Apache Software Foundation website.
- Unzip the file.
- Open Jmeter GUI using jmeter.bat file from Apache Jmeter3.0/bin folder.
- Create Test plan for Web Applications or Web-Services.
- Add Summary Report,Simple Data Writer from Listeners.
Set Thread Group as
- Number of Thread(Users) - 5
- Ramp Up Period - 2
- Loop Count Foreve
- Duration in Scheduler - 300
- StartUp Delay - 0
Please Read below posts to understand current post easily.
Record Script in Jmeter
Run test plan untill specified Time.
Note:
Please don't create any CSV file file before running your Test Plan ,with the help of Simple Data Writer Test Result file automatically created in specified location.
Simple Data Writer Configuration:
Before Running your test plan we should configure below fields in Simple Data Writer window panel,those are
- timeStamp
- elapsed
- label
- responseCode
- responseMessage
- threadName
- dataType
- success
- failureMessage
- bytes
- grpThreads
- allThreads
- Latency
- IdleTime
Just click on Configure button in Simple Data Writer window panel then it will open Simple Result Save Configuration window then you have to select above checkboxes ,please see below screenshot.
Once everything is done just click on Done button and save your Test Plan script.
View Below Video for Better Understand
Jmeter Report Generation Configuration
In Apache jmeter 3.0 version it has given reportgeneration properties file ,if you open that file it will display all report generation configuration details,simply copy those jmeter.reportgenerator configuration in User Properties file as below.Copy SAVE Service configurations also in User Properties file.
#---------------------------------------------------------------------------
# Reporting configuration
#---------------------------------------------------------------------------
# Sets the satisfaction threshold for the APDEX calculation (in milliseconds).
jmeter.reportgenerator.apdex_satisfied_threshold=500
# Sets the tolerance threshold for the APDEX calculation (in milliseconds).
jmeter.reportgenerator.apdex_tolerated_threshold=1500
# Sets the size of the sliding window used by percentile evaluation.
# Caution : higher value provides a better accuracy but needs more memory.
#jmeter.reportgenerator.statistic_window = 200000
# Configure this property to change the report title
jmeter.reportgenerator.report_title=Apache JMeter Dashboard
# Defines the overall granularity for over time graphs
jmeter.reportgenerator.overall_granularity=60000
# Response Time Percentiles graph definition
jmeter.reportgenerator.graph.responseTimePercentiles.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesGraphConsumer
jmeter.reportgenerator.graph.responseTimePercentiles.title=Response Time Percentiles
# Response Time Distribution graph definition
jmeter.reportgenerator.graph.responseTimeDistribution.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimeDistributionGraphConsumer
jmeter.reportgenerator.graph.responseTimeDistribution.title=Response Time Distribution
jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity=500
# Active Threads Over Time graph definition
jmeter.reportgenerator.graph.activeThreadsOverTime.classname=org.apache.jmeter.report.processor.graph.impl.ActiveThreadsGraphConsumer
jmeter.reportgenerator.graph.activeThreadsOverTime.title=Active Threads Over Time
jmeter.reportgenerator.graph.activeThreadsOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
# Time VS Threads graph definition
jmeter.reportgenerator.graph.timeVsThreads.classname=org.apache.jmeter.report.processor.graph.impl.TimeVSThreadGraphConsumer
jmeter.reportgenerator.graph.timeVsThreads.title=Time VS Threads
# Bytes Throughput Over Time graph definition
jmeter.reportgenerator.graph.bytesThroughputOverTime.classname=org.apache.jmeter.report.processor.graph.impl.BytesThroughputGraphConsumer
jmeter.reportgenerator.graph.bytesThroughputOverTime.title=Bytes Throughput Over Time
jmeter.reportgenerator.graph.bytesThroughputOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
# Response Time Over Time graph definition
jmeter.reportgenerator.graph.responseTimesOverTime.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer
jmeter.reportgenerator.graph.responseTimesOverTime.title=Response Time Over Time
jmeter.reportgenerator.graph.responseTimesOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
# Latencies Over Time graph definition
jmeter.reportgenerator.graph.latenciesOverTime.classname=org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer
jmeter.reportgenerator.graph.latenciesOverTime.title=Latencies Over Time
jmeter.reportgenerator.graph.latenciesOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
# Response Time Vs Request graph definition
jmeter.reportgenerator.graph.responseTimeVsRequest.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimeVSRequestGraphConsumer
jmeter.reportgenerator.graph.responseTimeVsRequest.title=Response Time Vs Request
jmeter.reportgenerator.graph.responseTimeVsRequest.exclude_controllers=true
jmeter.reportgenerator.graph.responseTimeVsRequest.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
# Latencies Vs Request graph definition
jmeter.reportgenerator.graph.latencyVsRequest.classname=org.apache.jmeter.report.processor.graph.impl.LatencyVSRequestGraphConsumer
jmeter.reportgenerator.graph.latencyVsRequest.title=Latencies Vs Request
jmeter.reportgenerator.graph.latencyVsRequest.exclude_controllers=true
jmeter.reportgenerator.graph.latencyVsRequest.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
# Hits Per Second graph definition
jmeter.reportgenerator.graph.hitsPerSecond.classname=org.apache.jmeter.report.processor.graph.impl.HitsPerSecondGraphConsumer
jmeter.reportgenerator.graph.hitsPerSecond.title=Hits Per Second
jmeter.reportgenerator.graph.hitsPerSecond.exclude_controllers=true
jmeter.reportgenerator.graph.hitsPerSecond.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
# Codes Per Second graph definition
jmeter.reportgenerator.graph.codesPerSecond.classname=org.apache.jmeter.report.processor.graph.impl.CodesPerSecondGraphConsumer
jmeter.reportgenerator.graph.codesPerSecond.title=Codes Per Second
jmeter.reportgenerator.graph.codesPerSecond.exclude_controllers=true
jmeter.reportgenerator.graph.codesPerSecond.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
# Transactions Per Second graph definition
jmeter.reportgenerator.graph.transactionsPerSecond.classname=org.apache.jmeter.report.processor.graph.impl.TransactionsPerSecondGraphConsumer
jmeter.reportgenerator.graph.transactionsPerSecond.title=Transactions Per Second
jmeter.reportgenerator.graph.transactionsPerSecond.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
# HTML Export
jmeter.reportgenerator.exporter.html.classname=org.apache.jmeter.report.dashboard.HtmlTemplateExporter
# Sets the destination directory for generated html pages.
# This will be overridden by the command line option -o
jmeter.reportgenerator.exporter.html.property.output_dir=/tmp/test-report
#------------------------------------------------------
#SAVE SERVICE Configurations
#---------------------------------------------------------
jmeter.save.saveservice.bytes = true
jmeter.save.saveservice.label = true
jmeter.save.saveservice.latency = true
jmeter.save.saveservice.response_code = true
jmeter.save.saveservice.response_message = true
jmeter.save.saveservice.successful = true
jmeter.save.saveservice.thread_counts = true
jmeter.save.saveservice.thread_name = true
jmeter.save.saveservice.time = true
jmeter.save.saveservice.print_field_names=true
# the timestamp format must include the time and should include the date.
# For example the default, which is milliseconds since the epoch:
#jmeter.save.saveservice.timestamp_format = ms
# Or the following would also be suitable
jmeter.save.saveservice.timestamp_format = dd/MM/yyyy HH:mm
#save service assertion
jmeter.save.saveservice.assertion_results_failure_message = true
Test Results - CSV file:
Before Generating the script ,run your Test Plan as specified time interval and once all threads are completed then simple data Writer generates Test Results file as specified location as below screenshot.Now run Test plan up-to 300 seconds i.e 5 Minutes,results file will generate from Simple Data Writer ,here i am saving test result file in CSV file.
Now open Command Prompt.
Go to ApacheJmeter3.0/bin path as below
Enter below command to generate the reports as per test results csv file.
jmeter -g E:\JMETER_Tutorials\Software-Testing.csv -o E:\JMETER_Tutorials\HTMLReports
How to Generate JMeter Report Dashboard |
Press Enter ,it will display in case any errors present in generated CSV file other wise it will generate Apache Jmeter Report Dashboard in specified folder.
Go to HTMLReports folder and it will display below folders and index.html file
- Content
- sbadmin2-1.0.7
- index.html
- README
Now open index.html in chrome browser and it will display Apache Report Dashboard as below.
Please provide your valuable comments and suggestions on this post.
I keep on getting this error, PLEASE help.
ReplyDeleteWriting log file to: C:\apache-jmeter-3.0\apache-jmeter-3.0\bin\jmeter.log
File 'C:\apache-jmeter-3.0\csv_files\searchresults.csv' does not contain the fie
ld names header, ensure the jmeter.save.saveservice.* properties are the same as
when the CSV file was created or the file may be read incorrectly
An error occurred: Could not read sample <0>
errorlevel=1
Hi ,Please provide your result csv file,so that i can able to provide the details and provide your entire command which is using to generate the reports
DeleteHi Rajesh,
DeleteQuick question: For running the Dashboard reports through JMeter, do I need to go to Command prompt and run the command everytime?
Can’t this process be automated somehow, like everytime JMeter is run and output file created, it is picked up automatically by Reports and we can see them?
Hi Anasuya,
ReplyDeleteThank you for reply,please generate new jtl file with Sample file writer module and try to Generate the report in Command prompt.As error showing as file is not generated at the time of Save service configurations is available.Please run your Test Plan one more time and generate file with sample file writer.Please update once you tries.
Very nice and thanks for sharing :)
ReplyDeleteHi
ReplyDeleteI am getting this error, At the time of generating the dashboard report:-
'An error occurred : null
error level =1'
please help
>>
Please give me your csv file i will check once.
DeleteHi,
ReplyDeleteI am getting the error at generating the report:-
'An error Occurred: null
error level =1'
Please Help
This comment has been removed by the author.
ReplyDeletePlease use csv file with simple data writer and please watch my video tutorial i have given in this post,you will get clear idea.
DeleteThis comment has been removed by the author.
ReplyDeletePlease use csv file instead of Jmeter.log file ,Please see my Video Tutorial ,you will get clear idea.
DeletePlease don't create any CSV file before executing your Test Script,just use Simple Data Writer to save your Execution Results,It will Automatically Save new CSV as given name with Header and Response Data.Then you can use that particular CSV file to generate the Same.
ReplyDeleteIn case Header Fields are not generating means ,you have to select required fields in Simple Data writer -- Configure button,there it will show all required fields to save in CSV file.
Please try once and let me know.
Hi Rajesh,
ReplyDeleteThanx for excellent info about creating Dashboard using Jmeter. I started configuring it and getting following error. Kindly Help
An error occurred: Error while processing samples:Consumer failed with message :
Could not parse timeStamp <1484496445731> using format defined by property jmete
r.save.saveservice.timestamp_format=dd/MM/yyyy HH:mm on sample 1484496445731,402
2,HTTP Request,200,OK,Thread Group 1-2,text,true,,1392,487,5,5,4022,0,2598
errorlevel=1
Press any key to continue . . .
Sandeep K.
Please change Date format same as configured in saveservice.timestamp_format,i have used this configuration as in user.properties
Delete#------------------------------------------------------
#SAVE SERVICE Configurations
#---------------------------------------------------------
jmeter.save.saveservice.bytes = true
jmeter.save.saveservice.label = true
jmeter.save.saveservice.latency = true
jmeter.save.saveservice.response_code = true
jmeter.save.saveservice.response_message = true
jmeter.save.saveservice.successful = true
jmeter.save.saveservice.thread_counts = true
jmeter.save.saveservice.thread_name = true
jmeter.save.saveservice.time = true
jmeter.save.saveservice.print_field_names=true
# the timestamp format must include the time and should include the date.
# For example the default, which is milliseconds since the epoch:
#jmeter.save.saveservice.timestamp_format = ms
# Or the following would also be suitable
jmeter.save.saveservice.timestamp_format = dd/MM/yyyy HH:mm
#save service assertion
jmeter.save.saveservice.assertion_results_failure_message = true
and CSV File Date format is Please check my post i am updating my result csv file
Rajesh,
ReplyDeleteI am configuring dashboard as suggested above. Getting following error.
An error occurred: Error while processing samples:Consumer failed with message :
Could not parse timeStamp <1484496445731> using format defined by property jmete
r.save.saveservice.timestamp_format=dd/MM/yyyy HH:mm on sample 1484496445731,402
2,HTTP Request,200,OK,Thread Group 1-2,text,true,,1392,487,5,5,4022,0,2598
errorlevel=1
Press any key to continue . . .
Pls Advise.
Please see CSV file format i have posted in above post and don't miss any value formats in results file,please use sample data writer to generate the csv file.
DeleteRajesh,
ReplyDeletePls advise on following
An error occurred: Mismatch between expected number of columns:158 and columns i
n CSV file:1, check your jmeter.save.saveservice.* configuration
errorlevel=1
Press any key to continue . . .
Is there any records displaying in your Test Results csv file?
DeleteHi Rajesh ..I am facing the same issue..and I am able to see the records in csv file still I am facing this issue. what will be the solution.
DeleteSome inputs: I generated the Dashboard for small file and it works fine. but when the file size is big, I am getting this error:
Mismatch between expected number of columns:17 and columns in CSV file:31, check your jmeter.save.saveservice.* configuration
errorlevel=1
I am getting this error, please help me on this:
DeleteMismatch between expected number of columns:17 and columns in CSV file:31, check your jmeter.save.saveservice.* configuration
errorlevel=1
It is saying that columns (count is mismatch),please try to check Results csv file open with notepad++ ,and check any extra commas are displaying.
DeleteHi i was with this problem, i paste the content of jmeter.properties over user.properties, and check the attribute 'jmeter.save.saveservice.default_delimiter=,' was with comma. cheers!
DeleteHi All,
ReplyDeleteCSV - Don't create it. Jmeter will generate the file. IF CSF is created Manually and pointed with path then
then results gets appended instead of writing the Title or Label.
Thanks,
Rajkumar
Thank you for your reply,
DeletePlease provide your comments did you generated the Report dashboard?
Rajesh...
ReplyDeleteThanx alot. I am able to see the graph now. Working perfectly fine for me. 100 Cheers to you.
Thank you Sandeep Kale
DeleteHi Rajesh, i am unable generate report; when i see the log file i following is displayed
ReplyDeletejmeter.util.JMeterUtils: Setting Locale to en_IN
2017/02/03 12:45:36 INFO - jmeter.JMeter: Loading user properties from: C:\Jmeter\Binaries\apache-jmeter-3.0\bin\user.properties
2017/02/03 12:45:36 INFO - jmeter.JMeter: Loading system properties from: C:\Jmeter\Binaries\apache-jmeter-3.0\bin\system.properties
2017/02/03 12:45:36 FATAL - jmeter.JMeter: An error occurred: java.lang.IllegalArgumentException: Unknown arg: Reports
at org.apache.jmeter.JMeter.initializeProperties(JMeter.java:746)
at org.apache.jmeter.JMeter.start(JMeter.java:385)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.jmeter.NewDriver.main(NewDriver.java:259)
Hi Sri,
DeletePlease give me your results csv file and give me which command you used in command line to generate the reports because here it is showing as Reports text came as extra word.
My Email id : rajeshqa3@gmail.com,
Please forward your each steps
I am also getting the same error, please provide the solution as I am blocked
DeleteHi Rajesh,
ReplyDeleteI am getting 'JMeter Unknown arg: ?g' error while running 'jmeter –g D:\PerformanceTesting\PerfResults\JMeterReports\JMeter-Results.csv –o D:\PerformanceTesting\PerfResults\JMeterReports\HTML-Reports' command in CMD.
Please help me in resolving this error.
Please place your jmx file in jmeter bin folder only and try once
Delete@Pratik
Deleteand please check java version also,it should be java 7 or above version
Hi,
ReplyDeleteI am seeing the following error when i tried to configure and execute the dashboard report generation via CMD prompt. Can anyone please help me on this issue?
Error:
Writing log file to: C:\Jmeter\apache-jmeter-3.1\bin\jmeter.log
An error occurred: Error while processing samples:Consumer failed with message :Could not parse timeStamp <1489572285110> using format defined by prop
erty jmeter.save.saveservice.timestamp_format=dd/MM/yyyy HH:mm on sample 1489572285110,4961,IncludeController_Request,200,OK,Thread Group 1-1,text,tru
e,,74490,1,1,1588,0
errorlevel=1
Press any key to continue . . .
Hi Rajesh,
ReplyDeleteI am getting the below error while generating the dashboard reports. Can you please help me on this issue?
Writing log file to: C:\Jmeter\apache-jmeter-3.1\bin\jmeter.log
An error occurred: Error while processing samples:Consumer failed with message :Could not parse timeStamp <1489572285110> using format defined by prop
erty jmeter.save.saveservice.timestamp_format=dd/MM/yyyy HH:mm on sample 1489572285110,4961,IncludeController_Request,200,OK,Thread Group 1-1,text,tru
e,,74490,1,1,1588,0
errorlevel=1
Press any key to continue . . .
Have you configured in simple data writer same as i explained,most of the people getting this error.Please try one more time ,remove old result file.
DeleteHi Sir,
ReplyDeleteWhat is the format for date(1489949176173). It is printed in milliseconds.
An error occurred: Error while processing samples:Consumer failed with message :
Could not parse timeStamp <1489949176173> using format defined by property jmete
r.save.saveservice.timestamp_format=dd/MM/yyyy HH:mm on sample 1489949176173,118
5,HTTP Request,200,OK,Thread Group 1-1,text,true,,38636,3,3,449,0
errorlevel=1
Please suggest..
jmeter.save.saveservice.timestamp_format = MM/dd/yy HH:mm:ss
Below formats I had tried.
yyyy/MM/dd HH:mm:ss.SSS
yyyy/MM/dd HH:mm:ss
yyyy-MM-dd HH:mm:ss.SSS
yyyy-MM-dd HH:mm:ss
MM/dd/yy HH:mm:ss
jmeter.save.saveservice.timestamp_format = dd/MM/yyyy HH:mm
DeleteTry this
Hi Rajesh,
DeleteI have been used jmeter successfully in my last few projects, the jmeter master/slave hosted on cloud. I have been generating very good graphs in Jmeter using jmeter plugins, however I am now interested in generating HTML report using my exising CSVs available on Master machine on Linux. While generating the html report I am getting the below error, please note that the same csv file is being used to generate jmeter graphs using plugins.
Writing log file to: /opt/jmeter/apache-jmeter-3.1/bin/jmeter.log
An error occurred: Error while processing samples:Consumer failed with message :Consumer failed with message :Consumer failed with message :Consumer failed with message :Consumer failed with message :No column found in sample metadata , check #jmeter.save.saveservice.* properties to add the missing column
[root@jmeter-master-01 bin]#
Could you please provide your inputs on this.
Thanks
SRK
I am also facing this issue evenif I've configured all this properties file as defined by you as above.Please do needful. Thanks in advance !
ReplyDeleteAn error occurred: Error while processing samples:Mismatch between expected number of columns:16 and columns in CSV file
:1, check your jmeter.save.saveservice.* configuration
errorlevel=1
Press any key to continue . . .
This comment has been removed by a blog administrator.
ReplyDeleteThanks for this tutorial. This is really a good one. I have successfully configured that dashboard report by seeing this. Thanks again.
ReplyDeleteMost required Feature for Jmeter , well explained . is there a similar explanation on connecting to Blaze-meter after test runs !!
ReplyDeleteHi start and End Time is incorrect in my report,, May i know the cause of this,
ReplyDeleteEnd Time: "01/01/1970 05:30:00"
Hi I am getting Error unknown option - g and not able to create report.. i did follow exact steps given.. please help me
ReplyDeleteWhat's your Jmeter Version ? I think this Report generator from result file (-g) available starting from Jmeter 3.0
Deletehi did same way you mentioned but it create multiple folder of the HTMLreport in my pc and it won't be able to delete.
ReplyDeleteI am getting below error :-
ReplyDeleteFile 'C:\JMeter\sdf\trans-result.csv' does not contain the field names header, ensure the jmeter.save.saveservice.* properties are the same as when the CSV file was created or the file may be read incorrectly
An error occurred: Mismatch between expected number of columns:14 and columns in CSV file:9, check your jmeter.save.saveservice.* configuration
errorlevel=1.
Can any one please help me...i tried to find out from where we configuring no. of columns to print in csv file but unable to find. Please help its very urgent
Hi rajesh ,
ReplyDeletei am getting below error even after changing my save.service file date format please help me here
2017-11-10 09:06:49,775 main ERROR loggers Loggers has no parameter that matches element Logger
2017-11-10 09:06:49,791 main ERROR loggers Loggers has no parameter that matches element Logger
File 'F:\Jmeter\apache-jmeter-3.3\apache-jmeter-3.3\bin\rep\sl.csv' does not contain the field names header, ensure the jmeter.sav
e.saveservice.* properties are the same as when the CSV file was created or the file may be read incorrectly
An error occurred: Could not read sample <0>
errorlevel=1
Press any key to continue . . .
I am also getting same issue
DeleteHi,
ReplyDeleteHTML report is not generating , its creating other folders but not the HTML file
Too good explanation.. Thank you..
ReplyDeleteCan we get the same order of lables as our JMX file in html report ?
ReplyDeleteVery well explained..
ReplyDeleteHi All,
ReplyDeleteI am generating JMeter HTML report through command prompt. I want to save the report with Timestamp, so that in future i can compare these reports. Without clearing the report folder if i am trying to execute i am getting below error message,
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
An error occurred: Cannot write to 'D:\AgileCockpit_IntegrationTest\HtmlReports' as folder is not empty
errorlevel=1
I am using below command to execute,
jmeter -n -t D:\AgileCockpit_IntegrationTest\AgileCockpitIntegrationTest.jmx -l D:\AgileCockpit_IntegrationTest\Result\Result1.csv -e -o D:\AgileCockpit_IntegrationTest\HtmlReports\
Please help me on this...Thanks in advance.
I have only .jtl file so how can i generate dashboard report?
ReplyDeleteHi Rajesh,
ReplyDeleteI am able to generate the dashboard. But what i see is that in JMeter aggregate report, if I see 3000 samples then in HTML report i am seeing double the samples i.e 6000. Could you please help.
I want to send index.html apdex report in email through SMTP Controller... Which i am able to do. But the problem i am facing is apdex report requires css files present in the folder location.. Is there any way to send proper formatted APDEX report through mail.
ReplyDeletePlease help me on this .. Thanks
What is the exact meaning Apdex, Tolerance Threshold and Frustrating Threshold and how we calculate in dashboard
ReplyDeleteNice article, it’s very informative content..thanks for sharing...Waiting for the next update.
ReplyDeleteUse cases of Jira software
what is Jira used for?