Fraunhofer-IIS / libjapi

libjapi is a universal JSON to C API library. It receives newline-delimited JSON (NDJSON) messages via TCP and calls registered C functions. A JSON response is returned for each request. Furthermore, it is also possible to create push services, which asynchronously push JSON messages to the clients subscribed to them.
MIT License
3 stars 1 forks source link

Move issues to Github #51

Closed fraunhofer-iis-bot closed 1 year ago

fraunhofer-iis-bot commented 1 year ago

In GitLab by @jannismain on Jul 6, 2023, 15:03

Past issues, MRs, etc should be moved to Github as a history of past decisions.

fraunhofer-iis-bot commented 1 year ago

In GitLab by @jannismain on Jul 11, 2023, 13:29

Gitlab has a mirror option, where projects can be mirrored to other hosts (e.g. other gitlab instance, github, etc.).

Sadly, this only mirrors the repository itself (commits, branches, tags) and not the whole project (issues, merge requests, etc.)

For this use case, external tooling seems to be needed. Will try out node-gitlab-2-github next

fraunhofer-iis-bot commented 1 year ago

In GitLab by @jannismain on Jul 11, 2023, 15:41

I have tried this with the testkit repo.

fraunhofer-iis-bot commented 1 year ago

In GitLab by @jannismain on Jul 11, 2023, 18:44

Missing assignee (in this case, because cstender is not part of the project on GitHub yet) caused 3 issues not to be transferred (21, 29, 32) for this project. This means, issue numbers are off by 0-3, depending on the issue number.

This is likely resolved by adding all users referenced in issue metadata (e.g. as assignee) to the project on github before transferring the issues.

fraunhofer-iis-bot commented 1 year ago

In GitLab by @jannismain on Jul 11, 2023, 18:48

@vornkat-iis We need to invite cstender on Github before transferring issues and PRs (again). We can do that either now or on his birthday. Let me know what you prefer.

fraunhofer-iis-bot commented 1 year ago

In GitLab by @vornkat-iis on Jul 11, 2023, 22:34

Let's do it now.

May I? Delete the repo, recreate empty and invite people?

I would prefer if we do not invite him too often on new tries. Do we want to experiment on something else?

fraunhofer-iis-bot commented 1 year ago

In GitLab by @jannismain on Jul 12, 2023, 13:21

Sure, go ahead. I'll transfer the project afterwards one last time. I don't think there is much more experimentation needed. Not having cstender as part of the project was the only type of error raised during transfer.

fraunhofer-iis-bot commented 1 year ago

In GitLab by @jannismain on Jul 12, 2023, 13:23

Otherwise, I could also try this option from node-gitlab-2-github:

image

depends on your preference :)

fraunhofer-iis-bot commented 1 year ago

In GitLab by @jannismain on Jul 12, 2023, 20:09

marked the checklist item get @Michael-M-Baron 's username on GitHub as completed

jannismain commented 1 year ago

After all assignees and participants mentioned in the usermap were added to the project (and accepted their invitation), transfer of issues and pull requests was successful.

jannismain commented 1 year ago

For posterity, the following configuration for the transfer was used:

settings.ts ```ts import Settings from './src/settings'; export default { gitlab: { url: 'https://git01.iis.fhg.de', token: '${GITLAB_TOKEN}', projectId: 3460, listArchivedProjects: true, sessionCookie: '${SESSION_COOKIE}', }, github: { // baseUrl: 'https://github.com/', // apiUrl: 'https://api.github.mycompany.com', owner: 'Fraunhofer-IIS', ownerIsOrg: true, token: '${GITHUB_TOKEN}', token_owner: 'fraunhofer-iis-bot', repo: 'libjapi', recreateRepo: false, }, s3: { accessKeyId: '${S3_ACCESS_KEY}', secretAccessKey: '${S3_SECRET}, bucket: 'fraunhofer-iis', }, usermap: { mkj: 'jannismain', mainczjs: 'jannismain', vornkat: 'vornkat-iis', szk: 'vornkat-iis', sten: 'cstender', baronml: 'Michael-M-Baron', and: 'fraunhofer-iis-anon', probstfn: 'fraunhofer-iis-anon', oft: 'fraunhofer-iis-anon', rottinjs: 'fraunhofer-iis-anon', hmt: 'fraunhofer-iis-anon', }, projectmap: { 'ks-ip-lib/software/libjapi': 'Fraunhofer-IIS/libjapi', 'ks-ip-lib/software/libjapi-demo': 'Fraunhofer-IIS/libjapi-demo', 'ks-ip-lib/software/pyjapi': 'Fraunhofer-IIS/pyjapi', }, conversion: { useLowerCaseLabels: true, }, transfer: { description: true, milestones: true, labels: true, issues: true, mergeRequests: true, releases: true, }, debug: false, useIssueImportAPI: true, usePlaceholderMilestonesForMissingMilestones: true, usePlaceholderIssuesForMissingIssues: true, // If this is set to true (default is false) then all merge requests will be migrated // as GitHub issues(rather than pull requests).This can be used to sidestep the problem // where pull requests are rejected by GitHub if the feature branch no longer exists // or has been merged. useReplacementIssuesForCreationFails: true, useIssuesForAllMergeRequests: false, filterByLabel: null, trimOversizedLabelDescriptions: false, skipMergeRequestStates: [], skipMatchingComments: [], mergeRequests: { logFile: './merge-requests.json', log: false, }, } as Settings; ```