Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to bulk add worklogs to multiple JSM tickets via REST API?

aslead-community
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 3, 2026

Hello everyone,

I am currently looking into bulk logging work to multiple Jira Service Management (JSM) tickets at once. Instead of manually adding worklogs to each ticket one by one, is it possible to add them in bulk using the REST API?

If it is possible, could you please provide guidance on the following points?

  • API Endpoint: Which API (endpoint) should be used?
  • Required Fields: What are the necessary fields? (e.g., Issue Key, Time spent, Date started, Author, Comment, etc.)
  • Data Format: What is the expected data format for the payload? (JSON, CSV, etc.)
  • Request Sample: Could you provide a sample request?
  • Authentication & Permissions: What are the required permissions and the authentication method needed to use the API?

Any advice, documentation links, or examples would be greatly appreciated.

Thank you in advance for your help.

2 answers

0 votes
Trudy P Claspill
Community Champion
September 3, 2026

Hello @aslead-community 

Welcome to the Atlassian community.

I am curious about the problem you are trying to solve by adding work logs automatically.

Is a this something you need to do once or multiple times?

Are you needing to add a single identical worklog entry to multiple issues? Do you need to add multiple work logs to issues? If the worklog entries are not identical what pieces of data are variable and how do you know what data to include?

Do you have access to Rico? If this is a one time task you might investigate if Rico can execute it for you rather than writing code.

0 votes
Jovânio Junior
Contributor
September 3, 2026

Hi - Welcome to the Atlassian Community!

Yes, you can add worklogs through the Jira Cloud REST API, but there is an important limitation:

there is no public bulk-create-worklog endpoint for multiple issues.

The public API adds a worklog to one issue at a time using:

POST /rest/api/3/issue/{issueIdOrKey}/worklog

So for multiple JSM tickets, the usual approach is to loop through your list of issue keys and send one request per issue. The bulk issue APIs do not currently include bulk worklog creation.

A simple request would look like:

{
"timeSpentSeconds": 3600,
"started": "2026-09-04T10:00:00.000+0000",
"comment": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Work performed via bulk integration"
}
]
}
]
}
}

For REST API v3, comments use Atlassian Document Format (ADF). You can provide either timeSpent or timeSpentSeconds; the issue key is supplied in the endpoint itself.

For example:

curl --request POST \
--url 'https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/worklog' \
--user 'email@example.com:API_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"timeSpentSeconds": 3600,
"started": "2026-09-04T10:00:00.000+0000"
}'

For authentication, Basic Auth with email + API token is commonly used for scripts, while OAuth 2.0 is preferable for applications/integrations.

The user making the request needs at least:

Browse projects
Work on issues
access through any issue-level security configured on the issue

and Jira time tracking must be enabled.

One important detail: I would not try to set the Author manually. Normally, the worklog is created as the authenticated user. If you need to record work on behalf of another person, that becomes a different requirement and may need another approach.

For bulk processing, I would structure the input as CSV or JSON, for example:

TEST-101,3600
TEST-102,1800
TEST-103,7200

and have your script iterate through those rows and call the worklog endpoint for each issue.

So, in short:

CSV/JSON input → loop through issues → POST one worklog per issue → record successes/errors

Also be careful with rate limiting if you are processing a large number of tickets.

The official Jira Cloud worklog API documentation is here: Jira Cloud REST API - Issue worklogs

Hope this helps!

Suggest an answer

Log in or Sign up to answer