Issue source of type Board, with value [board_id] could not be found
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Check what to do when your Jira Cloud Migration Assistant (JCMA) migration fails with "We couldn't import Issue Source <issue-source-id>. Reason: Issue source of type Board, with value [board_id] could not be found".
Overview
This error occurs when the migration user can't access the mentioned board on the cloud. The board_id refers to the board present on the cloud.
ERROR CROSS-PROJECT-DATA project-import We couldn't import Issue Source <issue-source-id>. Reason: Issue source of type Board, with value [board_id] could not be found.
Validation
Validate if the migration user has access to the cloud board. One can use the URL below to validate that.
Replace the <board_id> placeholder with the one from the log message and the <instance> with the cloud site name.
https://<instance>.atlassian.net/secure/RapidBoard.jspa?rapidView=<board_id>
If the user doesn't have access, it will get the pop-up below:
Solution
To get access to the board, the user running the migration should have the following permissions:
- Permission to see the filter associated with the board.
- Permission to browse the project where the board is located.
To identify which groups or project roles the user must have to see the filter, the user can verify this on the on-prem instance.
Filter View Permission
Via the database
Identify the permissions associated with the filter that have a relationship with the board within the plan. Replace the <issue-source-id> with the one present on the error logs.
SELECT r."NAME" AS board_name
, sr.filtername AS filter_name
, sr.reqcontent AS JQL
, sp.sharetype AS share_type
, CASE WHEN sp.sharetype = 'project' THEN p.pkey ELSE sp.param1 END AS param
FROM "AO_D9132D_ISSUE_SOURCE" s
JOIN "AO_60DB71_RAPIDVIEW" r ON (r."ID" = s."SOURCE_VALUE"::int)
JOIN searchrequest sr ON (sr.id = r."SAVED_FILTER_ID")
JOIN sharepermissions sp ON (sp.entityid = r."SAVED_FILTER_ID")
LEFT JOIN project p ON (p.id::text = sp.param1 AND sp.sharetype = 'project')
WHERE s."SOURCE_TYPE" = 'Board'
AND s."ID" = <issue-source-id>
AND sp.entitytype = 'SearchRequest';
SELECT r.NAME AS board_name
, sr.filtername AS filter_name
, sr.reqcontent AS JQL
, sp.sharetype AS share_type
, CASE WHEN sp.sharetype = 'project' THEN p.pkey ELSE sp.param1 END AS param
FROM AO_D9132D_ISSUE_SOURCE s
JOIN AO_60DB71_RAPIDVIEW r ON (dbms_lob.compare(s.SOURCE_VALUE, TO_CLOB(r.ID)) = 0)
JOIN searchrequest sr ON (sr.id = r.SAVED_FILTER_ID)
JOIN sharepermissions sp ON (sp.entityid = r.SAVED_FILTER_ID)
LEFT JOIN project p ON (sp.param1 = TO_CHAR(p.id) AND sp.sharetype = 'project')
WHERE s.SOURCE_TYPE = 'Board'
AND s.ID = <issue-source-id>
AND sp.entitytype = 'SearchRequest';
SELECT r.NAME AS board_name
, sr.filtername AS filter_name
, sr.reqcontent AS JQL
, sp.sharetype AS share_type
, CASE WHEN sp.sharetype = 'project' THEN p.pkey ELSE sp.param1 END AS param
FROM AO_D9132D_ISSUE_SOURCE s
JOIN AO_60DB71_RAPIDVIEW r ON (CAST(s.SOURCE_VALUE AS UNSIGNED) = r.ID)
JOIN searchrequest sr ON (sr.id = r.SAVED_FILTER_ID)
JOIN sharepermissions sp ON (sp.entityid = r.SAVED_FILTER_ID)
LEFT JOIN project p ON (sp.param1 = CAST(p.id AS CHAR) AND sp.sharetype = 'project')
WHERE s.SOURCE_TYPE = 'Board'
AND s.ID = <issue-source-id>
AND sp.entitytype = 'SearchRequest';
SELECT r.NAME AS board_name
, sr.filtername AS filter_name
, sr.reqcontent AS JQL
, sp.sharetype AS share_type
, CASE WHEN sp.sharetype = 'project' THEN p.pkey ELSE sp.param1 END AS param
FROM AO_D9132D_ISSUE_SOURCE s
JOIN AO_60DB71_RAPIDVIEW r ON (CAST(s.SOURCE_VALUE AS NUMERIC) = r.ID)
JOIN searchrequest sr ON (sr.id = r.SAVED_FILTER_ID)
JOIN sharepermissions sp ON (sp.entityid = r.SAVED_FILTER_ID)
LEFT JOIN project p ON (sp.param1 = CAST(p.id AS VARCHAR(MAX)) AND sp.sharetype = 'project')
WHERE s.SOURCE_TYPE = 'Board'
AND s.ID = <issue-source-id>
AND sp.entitytype = 'SearchRequest'
Based on the query results, mirror the same permissions on the cloud side.
Via the UI
- Access the board.
- Click on the Configure option on the board dropdown.
- Go to the General option.
- Look for the Shares configuration.
- Adjust the cloud permissions to reflect the same ones listed on the on-prem site.
Browse Projects
You might need to use the database query above to determine which project the board may be related to on the cloud.
- Access the project settings that will host the board on the cloud.
- Go to the permission scheme.
- Look for the groups/users/projects roles associated with the "Browse Projects" permission.
- Adjust the cloud permissions to reflect the same ones listed on the on-prem site.