I have been asked to look into the way of extracting the work logs from JIRA in a way that can be easily analyzed by BI tools such as Excel or Power BI.
Work time logging is done by addons or apps created by vendors in JIRA.
The way to extract data out of them is vendor-specific.
I chose Tempo as I have experience with that app; a couple of years ago my main responsibility was maintaining a report from time logged via Tempo. Managing a large group of developers requires a work log report to effectively allocate resources. I know as a developer it is uncomfortable to log time but I am sure there is a balance that can be found.
I set-up a test JIRA account for myself and created a software development project and added the Tempo Timesheets App.
In the Tempo App settings, API Integration menu I created a Bearer token. It might be the case that the OAuth 2 authorization is better for this scenario, I don't have a preference.
Retrieving logs via Power BI Desktop
You can call the API by the From Web data source.


Retrieve the data into a SQL Server
It is much better to keep the data in a database so that you can add layer for implement business logic via a view or stored procedure. I am sure this can be done in a stored procedure but I was more comfortable with PowerShell. To run the following code, you will need the dbatools PowerShell library.

cls
$URL = 'https://api.tempo.io/core/3/worklogs?from=2023-03-01&to=2023-04-30'
$bearer_token = 'XXXXXXXXXX'
$headers = @{Authorization = "Bearer $bearer_token"}
$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers -UseBasicParsing
$response.results
$Cleaned = $response.results | Select-Object tempoWorklogId , jiraWorklogId, @{Name='Issue_Key'; Expression = {$_.issue.key}}, @{Name='Issue_Id'; Expression = {$_.issue.id}}, timeSpentSeconds,
billableSeconds, startDate, startTime, description, createdAt, updatedAt, @{Name='Author_AccountId'; Expression = {$_.author.accountId}}, @{Name='Author_Name'; Expression = {$_.author.displayName} }
$Cleaned
$Instance = 'XXXXXXXXXXXX'
Connect-DbaInstance -SqlInstance $Instance
Write-DbaDbTableData -SqlInstance $Instance -InputObject $Cleaned -Database WorkLogs -Table dbo.Tempo -AutoCreateTable

Building a report from this data is up to your needs and imagination.
Have fun!
Bertalan Rónai
Useful Links:
https://pateman-c.medium.com/setting-bearer-tokens-in-powershell-74cae7883619
https://docs.dbatools.io/Write-DbaDbTableData.html
https://apidocs.tempo.io/v3/
https://apidocs.tempo.io/#section/Authentication
If you need advice about Atlassian topics: https://www.meta-inf.hu/hu/