It is possible to read reports with Apex with SOQL
SELECT Id, Name, DeveloperName from Report
However it is NOT possible to update such records. I decided to use jsforce in this case and Metadata API to proceed with my changes. I was able to change Name
by retrieving the report with conn.metadata.read('Report', [fullNames])
then update the key name
and pass it to conn.metadata.update('Report', metadata)
.
But when I decide to change DeveloperName
I know that fullName
is composed from folder.DeveloperName/report.DeveloperName
so if I try to read for the report with the new DeveloperName
it returns an empty list as the name do not exist.
Is it generally possible to change DeveloperName with APEX or using jsforce? If so, how? I DO NOT need any source code. A short description of the approach is totally sufficient!