Project (Classic) Disappeared After Migration #137924
Replies: 2 comments
-
I was unaware of this migration until I couldn't find a project today and then found this discussion. The blog post mentions that
Why remove older projects instead of just migrating them, too? A project being stalled or completed doesn't mean this information isn't useful, e.g. for relating issues to each other. It appears that the affected repos' owners were not informed of this removal either; at least I couldn't find any email notification about it. Another possible explanation why they might have disappeared is that projects might be disabled in the organisation settings, which is another requirement given in the blog post. (They are enabled in our case.) As for recovery options, the blog post mentions that the API still supports the classic projects for now. So this could potentially be used to retrieve the data and recreate it in the new interface. |
Beta Was this translation helpful? Give feedback.
-
A dormant-for-a-year-and-a-half (but now reviving) project that I contribute to was also affected by this. I remember seeing that there would eventually be an auto-migration, I believe via one of my rare visits to the Projects (Classic) page early this year, where there was a blue banner saying it would be auto-migrated eventually. I did not see the "any card that hasn't been updated in a year will not be migrated" part. Definitely would have appreciated clearer communication on that - red banners, e-mails calling out that there were cards that would not be migrated. I could not find a relevant e-mail in my archives either, despite being an admin of the project. I played around with the API a bit tonight and was able to find the API calls that would be needed to recover. Too tired to craft this into something wholly usable tonight, but it illustrates the concepts. Paste it into a .html file, add in your personal access token (classic) with all the permissions (likely not all are required, but I'm too tired to narrow it down; create it at https://github.com/settings/tokens/new), open it in your browser, set some breakpoints, and you can step through it, changing the IDs to ones relevant to your project (or it may even work with my project, since it was all public pre-migration). <script type="module">
import { Octokit } from "https://esm.sh/@octokit/core";
// Create a personal access token at https://github.com/settings/tokens/new?scopes=repo
const octokit = new Octokit({ auth: `{YOUR TOKEN` });
//Get all your old projects <3
var projects = await octokit.request('GET /repos/{owner}/{repo}/projects', {
owner: 'C7-Game',
repo: 'Prototype',
headers: {
'X-GitHub-Api-Version': '2022-11-28'
}
})
console.log(projects);
//Call this once for each project ID returned by the previous call
var carthage = await octokit.request('GET /projects/{project_id}', {
project_id: '13821123',
headers: {
'X-GitHub-Api-Version': '2022-11-28'
}
})
console.log(carthage);
//Call this once for each column returned from the previous call
//E.g. "Done", "In Progress" - these are your columns
var carthageColumns = await octokit.request('GET /projects/{project_id}/columns', {
project_id: '13821123',
headers: {
'X-GitHub-Api-Version': '2022-11-28'
}
})
console.log(carthageColumns);
//This is what tells you which cards are in each column
//This is the key call for figuring out how to reconstruct your project
//Need to call it once per column
var cards = await octokit.request('GET /projects/columns/{column}/cards', {
column: '19299672',
headers: {
'X-GitHub-Api-Version': '2022-11-28'
}
})
console.log(cards);
//The contents of the card - this is actually still accessible via the Issues tab
//You'll only need this if your goal is to migrate to a non-GitHub solution, otherwise
//you can (probably) use the "cards" above to re-structure a new GitHub project, or manually
//migrate to an offsite solution.
var card = await octokit.request('GET /repos/C7-Game/Prototype/issues/{issue}', {
issue: '92',
headers: {
'X-GitHub-Api-Version': '2022-11-28'
}
})
console.log(card);
</script> I may be able to craft this into something more user-friendly and complete, I spent a lot of time creating my project's Classic Projects, and others kept it updated, so it would be nice not to lose that. Probably will migrate it to a language I like more than JavaScript, and maybe even put a nice UI on it. But if someone else already has something that can migrate via the API, please share! |
Beta Was this translation helpful? Give feedback.
-
Select Topic Area
Question
Feature Area
Issues
Body
I was using GitHub's Projects (Classic) feature, but after the recent migration to the new Projects system, I can no longer find my previous projects. I checked for archived projects and searched the new Projects interface, but the migrated projects are not visible.
Could someone assist me in understanding where these projects might have gone and how I can recover them, or if there is a manual way to locate any missed data from the migration process?
Any help would be greatly appreciated!
Thank you.
Guidelines
Beta Was this translation helpful? Give feedback.
All reactions