Jira issue always shows “Created by app” instead of user

Hi Everyone,
I’m building a Forge app that creates Jira issues via a webtrigger. The app connects (external system) to Jira. Current Setup: - Using webtrigger to receive requests from external backend - Creating issues using api.asApp().requestJira() - Passing actingUserAccountId in the payload What Works: - I can successfully set the Reporter field using { accountId: “user-account-id” } - Issue is created successfully The Problem: - The “Created by” field always shows the app name - I want it to show the actual user who triggered the action
What I Tried: 1. Setting creator field in the issue payload: cleanedIssueData.fields.creator = { accountId: actingUserAccountId }; Error: “Field ‘creator’ cannot be set. It is not on the appropriate screen, or unknown.”

Question: Is there any way to set the “Created by” / “Creator” field when creating issues via Forge webtrigger? Or is this a limitation of Forge/Jira API? Any help would be appreciated!

Hello @VigneshV

What you are experiencing is the expected behaviour. Your app made the request to the REST API using asApp(), so the app was the ‘creator’ of the Work Item, as expected. This is the same as when using the REST API endpoints directly (outside of Forge); the user associated with the account used to authenticate the request is the Work Item’s Creator, and you can’t set the Creator field directly (it’s a read-only system field).

If you want to create a Work Item on behalf of the user using your Forge app, you need their permission, hence you will need to enable the OAuth authorization flow to obtain that user’s permission for your Forge app, then have the app make the request to the REST API endpoint using asUser().

Alternatively, if you want to create Work Items on behalf any user, you can use the new offline user impersonation functionality in Forge and call asUser(accountId), but please read ALL the documentation carefully to understand ALL the requirements for being able to do that.

1 Like

I previously created Jira issues from an external system using Jira REST API + Basic Auth (email + API token), so Jira showed the real user in Created by.

Now I’ve migrated to a Forge app with a webtrigger. The webtrigger calls Jira using api.asApp() and issues are created by the app name instead of the user.

I tried using offline user impersonation with api.asUser(accountId) and allowImpersonation: true. The user gives consent in a UI screen, I store their accountId, but when the webtrigger runs I get AUTH_TYPE_UNAVAILABLE.

Is this because webtriggers have no user security context and therefore cannot impersonate users, even with offline impersonation?
Or is there any supported way for a Forge webtrigger to create issues so that Created by shows the real user instead of the app?