TFS4JIRA: Authentication and permissions troubleshooting
Overview
This article provides steps to resolve connectivity issues with the TFS4JIRA synchronizer. For example:
Empty project list — probably not authenticated
You cannot create issues in this project
You are not authorized to perform this operation. Please log in.
These errors typically stem from the Jira credentials used by the synchronizer rather than from the app version.
In a recent case, the issue was resolved by generating the correct Jira API token for the intended synchronization user and using that user’s credentials in the synchronizer configuration. No app upgrade was required.
- 1 Overview
- 2 Common Symptoms
- 3 Root Causes at a Glance
- 4 Quick Resolution Checklist
- 5 Step-by-step troubleshooting
- 6 Required Jira permissions for the sync user
- 7 Decision guide: credentials vs permissions
- 8 Best practices to avoid recurrence
- 9 Example Resolution Pattern
- 10 Troubleshooting Reference
- 11 Change Log
- 12 References
Common Symptoms
Synchronizer displays the following message:
Empty project list — probably not authenticated.
Jira REST calls in logs return:
You cannot create issues in this project.
Jira REST calls in logs return:
You are not authorized to perform this operation. Please log in.
Root Causes at a Glance
The API token or basic auth credentials belong to a different Jira user than the one intended for synchronization.
The API token was created under the wrong account (even if both accounts are site admins).
The Token expired or was created with restrictive scopes that block required Jira REST operations.
The sync user lacks project permissions, including Browse Projects and Create Issues.
Quick Resolution Checklist
Step-by-step troubleshooting
1) Verify which Jira user the synchronizer uses
Open your TFS4JIRA synchronizer profile and confirm the configured Jira username and email. Then, determine which account is the official sync user. This should be the same account used to generate the token.
Do not mix accounts. A token from User A will not authenticate if the synchronizer logs in as User B.
2) Generate a fresh API token for the intended sync user
While signed in as the sync user, go to your Atlassian account security page and create a new API token. Use an unscoped or broadly permitted token compatible with Jira Cloud REST access.
Copy the token immediately after creation.
It’s preferable to use a dedicated integration account to avoid confusion about ownership or rotation.
3) Update the synchronizer credentials
In the synchronizer:
Set Username/Email to the sync user’s Jira email address.
Set Password to the newly created API token.
Ensure the Jira Cloud mode checkbox is enabled if you use Jira Cloud.
If the credentials are correct and permissions are sufficient, the Jira project list should populate immediately upon testing or refreshing.
4) Confirm permissions by manual test
Still seeing authorization errors? Validate permissions directly in Jira:
Sign into Jira as the sync user.
Attempt to create an issue in each target project used by the synchronizer.
If creation fails or the project is missing from the Create dialog, check the project’s permission scheme and roles.
Required Jira permissions for the sync user
Browse Projects
Create Issues
Edit Issues (typically required for updates)
For Jira Service Management projects, ensure the sync user has the correct agent or project role that grants create access in the project (not only portal or customer access).
Decision guide: credentials vs permissions
If the project list is empty or API calls read:
Not authenticated
Fix the credentials, including the email and token generated for that same user.
If the project list loads but issue creation fails with permission errors, fix the project permissions and roles for the sync user.
Best practices to avoid recurrence
Use a dedicated, named integration account as the sync user.
Store when and where the token was generated and by whom.
Rotate on a predictable schedule.
Keep the synchronizer and app up to date, but treat authorization and permissions as the first checks before upgrading.
Example Resolution Pattern
A common pattern that resolves permission errors:
Determine the intended sync user or integration account.
Create a new API token while logged in as that sync user.
Update synchronizer credentials to that user’s email and use the new token.
Confirm the user has Browse Projects, Create Issues, and Edit Issues in the target projects.
Even if two accounts are site admins, tokens are user-specific. A token created under Account A will not authenticate requests made as Account B.
Troubleshooting Reference
Change Log
Document refined to emphasize resolution via correct user credentials and permissions rather than app updates.