Jira Cloud OAuth migration orphaned all existing workitem/requirement links — need repoint or API-compatible auth path

Hi Testiny team,

We migrated our Jira Cloud integration from token-based to OAuth on 2026-08-05/06 (per your migration guide at Jira Cloud (API token) | Testiny Documentation ). This has caused two problems:

  1. Every existing workitem/requirement link across our instance stopped displaying.

Our old integration (integration_id: 3, token-based) no longer appears in our integrations list at all — not even with includeDeleted: true on /integration/find, so it appears to have been hard-deleted rather than deactivated. Every workitem record created against that integration (tens of thousands across our projects — roughly 12,500 in one project alone, several thousand each in others) still has integration_id: 3 stored on it, so those rows are now orphaned and no longer render as Jira links in the Requirements tab, even though the underlying data (workitem_key, workitem_api_id, workitem_api_project_id, etc.) is fully intact and untouched.

Question: Is there a way for you to repoint these existing workitem records to our new OAuth integration (integration_id: 5) server-side, preserving the existing test-case-to-workitem mappings? There’s no PUT/PATCH on /workitem/{id} in the public API for us to do this ourselves.

  1. Our API-key-based automation can no longer create new Jira links at all.

We have automation that creates workitem links via POST /workitem-integration/workitem/link using a Testiny API key (bearer token). Since the OAuth migration, this call now returns:

403 WORKITEM_API_ACCESS_DENIED: Insufficient permissions while accessing the Jira API.

This happens even though the API key belongs to a user who has fully completed the Jira OAuth consent flow and can create links successfully through the Testiny UI in a browser session. It seems the OAuth grant is tied to the interactive session and doesn’t extend to API-key-authenticated requests for the same account.

Question: Is there a supported way to perform workitem linking via the API under an OAuth-based Jira integration — e.g., a personal access token or service-account credential that carries the OAuth grant — or is programmatic linking simply not supported anymore once an integration is OAuth-based? If it’s not currently supported, is it on your roadmap, and is there a recommended workaround for teams with existing API automation built against workitem linking?

Happy to provide our integration IDs, project IDs, or any other details that would help you investigate.

I have 2 Testiny apps installed in Jira

Hi,

Thanks for reaching out!

The upgrade (so switching the API token integration to the OAuth integration) does not delete the integration, so the ID stays the same. Maybe you’ve accidentally deleted the integration and created a new one?

In any case, we can update all work items to use a new integration id via API :slight_smile:
(And/or we can help you downgrade to an API token integration if needed).

I’ll send you a follow-up mail for the details!

Concerning point 2:

We’re looking into the issue - but it generally works also via OAuth, but there seems to be caching issue.
A quick workaround would be to first fetch the integration metadata in your script:

GET https://app.testiny.io/api/v1/workitem-integration/metadata?integration_id=77&all_projects=1

(and of course, replacing the integration_id with your id)

Alternatively, you can also create the workitem first and then map them to the test case or test case in a run. See more details in this post.

Best regards,
Hanna