Struct roctogen::endpoints::migrations::Migrations [−][src]
pub struct Migrations<'api> { /* fields omitted */ }
Implementations
pub async fn cancel_import_async(
&self,
owner: &str,
repo: &str
) -> Result<(), MigrationsCancelImportError>
pub async fn cancel_import_async(
&self,
owner: &str,
repo: &str
) -> Result<(), MigrationsCancelImportError>
pub async fn delete_archive_for_authenticated_user_async(
&self,
migration_id: i32
) -> Result<(), MigrationsDeleteArchiveForAuthenticatedUserError>
pub async fn delete_archive_for_authenticated_user_async(
&self,
migration_id: i32
) -> Result<(), MigrationsDeleteArchiveForAuthenticatedUserError>
Delete a user migration archive
Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the List user migrations and Get a user migration status endpoints, will continue to be available even after an archive is deleted.
GitHub API docs for delete_archive_for_authenticated_user
pub async fn delete_archive_for_org_async(
&self,
org: &str,
migration_id: i32
) -> Result<(), MigrationsDeleteArchiveForOrgError>
pub async fn delete_archive_for_org_async(
&self,
org: &str,
migration_id: i32
) -> Result<(), MigrationsDeleteArchiveForOrgError>
Delete an organization migration archive
Deletes a previous migration archive. Migration archives are automatically deleted after seven days.
GitHub API docs for delete_archive_for_org
pub async fn download_archive_for_org_async(
&self,
org: &str,
migration_id: i32
) -> Result<(), MigrationsDownloadArchiveForOrgError>
pub async fn download_archive_for_org_async(
&self,
org: &str,
migration_id: i32
) -> Result<(), MigrationsDownloadArchiveForOrgError>
Download an organization migration archive
Fetches the URL to a migration archive.
GitHub API docs for download_archive_for_org
pub async fn get_archive_for_authenticated_user_async(
&self,
migration_id: i32
) -> Result<(), MigrationsGetArchiveForAuthenticatedUserError>
pub async fn get_archive_for_authenticated_user_async(
&self,
migration_id: i32
) -> Result<(), MigrationsGetArchiveForAuthenticatedUserError>
Download a user migration archive
Fetches the URL to download the migration archive as a tar.gz
file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects:
- attachments
- bases
- commit_comments
- issue_comments
- issue_events
- issues
- milestones
- organizations
- projects
- protected_branches
- pull_request_reviews
- pull_requests
- releases
- repositories
- review_comments
- schema
- users
The archive will also contain an attachments
directory that includes all attachment files uploaded to GitHub.com and a repositories
directory that contains the repository’s Git data.
GitHub API docs for get_archive_for_authenticated_user
Get commit authors
Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username hubot
into something like hubot <hubot@12341234-abab-fefe-8787-fedcba987654>
.
This endpoint and the Map a commit author endpoint allow you to provide correct Git author information.
GitHub API docs for get_commit_authors
pub async fn get_import_status_async(
&self,
owner: &str,
repo: &str
) -> Result<Import, MigrationsGetImportStatusError>
pub async fn get_import_status_async(
&self,
owner: &str,
repo: &str
) -> Result<Import, MigrationsGetImportStatusError>
Get an import status
View the progress of an import.
Import status
This section includes details about the possible values of the status
field of the Import Progress response.
An import that does not have errors will progress through these steps:
detecting
- the “detection” step of the import is in progress because the request did not include avcs
parameter. The import is identifying the type of source control present at the URL.importing
- the “raw” step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will includecommit_count
(the total number of raw commits that will be imported) andpercent
(0 - 100, the current progress through the import).mapping
- the “rewrite” step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information.pushing
- the “push” step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will includepush_percent
, which is the percent value reported bygit push
when it is “Writing objects”.complete
- the import is complete, and the repository is ready on GitHub.
If there are problems, you will see one of these in the status
field:
auth_failed
- the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the Update an import section.error
- the import encountered an error. The import progress response will include thefailed_step
and an error message. Contact GitHub Support for more information.detection_needs_auth
- the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the Update an import section.detection_found_nothing
- the importer didn’t recognize any source control at the URL. To resolve, Cancel the import and retry with the correct URL.detection_found_multiple
- the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include aproject_choices
field with the possible project choices as values. To update project choice, please see the Update an import section.
The project_choices field
When multiple projects are found at the provided URL, the response hash will include a project_choices
field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type.
Git LFS related fields
This section includes details about Git LFS related fields that may be present in the Import Progress response.
use_lfs
- describes whether the import has been opted in or out of using Git LFS. The value can beopt_in
,opt_out
, orundecided
if no action has been taken.has_large_files
- the boolean value describing whether files larger than 100MB were found during theimporting
step.large_files_size
- the total size in gigabytes of files larger than 100MB found in the originating repository.large_files_count
- the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a “Get Large Files” request.
GitHub API docs for get_import_status
pub async fn get_large_files_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<PorterLargeFile>, MigrationsGetLargeFilesError>
pub async fn get_large_files_async(
&self,
owner: &str,
repo: &str
) -> Result<Vec<PorterLargeFile>, MigrationsGetLargeFilesError>
Get large files
List files larger than 100MB found during the import
GitHub API docs for get_large_files
pub async fn get_status_for_authenticated_user_async(
&self,
migration_id: i32,
query_params: Option<impl Into<MigrationsGetStatusForAuthenticatedUserParams>>
) -> Result<Migration, MigrationsGetStatusForAuthenticatedUserError>
pub async fn get_status_for_authenticated_user_async(
&self,
migration_id: i32,
query_params: Option<impl Into<MigrationsGetStatusForAuthenticatedUserParams>>
) -> Result<Migration, MigrationsGetStatusForAuthenticatedUserError>
Get a user migration status
Fetches a single user migration. The response includes the state
of the migration, which can be one of the following values:
pending
- the migration hasn’t started yet.exporting
- the migration is in progress.exported
- the migration finished successfully.failed
- the migration failed.
Once the migration has been exported
you can download the migration archive.
GitHub API docs for get_status_for_authenticated_user
pub async fn get_status_for_org_async(
&self,
org: &str,
migration_id: i32,
query_params: Option<impl Into<MigrationsGetStatusForOrgParams>>
) -> Result<Migration, MigrationsGetStatusForOrgError>
pub async fn get_status_for_org_async(
&self,
org: &str,
migration_id: i32,
query_params: Option<impl Into<MigrationsGetStatusForOrgParams>>
) -> Result<Migration, MigrationsGetStatusForOrgError>
Get an organization migration status
Fetches the status of a migration.
The state
of a migration can be one of the following values:
pending
, which means the migration hasn’t started yet.exporting
, which means the migration is in progress.exported
, which means the migration finished successfully.failed
, which means the migration failed.
GitHub API docs for get_status_for_org
pub async fn list_for_authenticated_user_async(
&self,
query_params: Option<impl Into<MigrationsListForAuthenticatedUserParams>>
) -> Result<Vec<Migration>, MigrationsListForAuthenticatedUserError>
pub async fn list_for_authenticated_user_async(
&self,
query_params: Option<impl Into<MigrationsListForAuthenticatedUserParams>>
) -> Result<Vec<Migration>, MigrationsListForAuthenticatedUserError>
List user migrations
Lists all migrations a user has started.
GitHub API docs for list_for_authenticated_user
pub async fn list_for_org_async(
&self,
org: &str,
query_params: Option<impl Into<MigrationsListForOrgParams>>
) -> Result<Vec<Migration>, MigrationsListForOrgError>
pub async fn list_for_org_async(
&self,
org: &str,
query_params: Option<impl Into<MigrationsListForOrgParams>>
) -> Result<Vec<Migration>, MigrationsListForOrgError>
pub async fn list_repos_for_authenticated_user_async(
&self,
migration_id: i32,
query_params: Option<impl Into<MigrationsListReposForAuthenticatedUserParams>>
) -> Result<Vec<MinimalRepository>, MigrationsListReposForAuthenticatedUserError>
pub async fn list_repos_for_authenticated_user_async(
&self,
migration_id: i32,
query_params: Option<impl Into<MigrationsListReposForAuthenticatedUserParams>>
) -> Result<Vec<MinimalRepository>, MigrationsListReposForAuthenticatedUserError>
List repositories for a user migration
Lists all the repositories for this user migration.
GitHub API docs for list_repos_for_authenticated_user
pub async fn list_repos_for_org_async(
&self,
org: &str,
migration_id: i32,
query_params: Option<impl Into<MigrationsListReposForOrgParams>>
) -> Result<Vec<MinimalRepository>, MigrationsListReposForOrgError>
pub async fn list_repos_for_org_async(
&self,
org: &str,
migration_id: i32,
query_params: Option<impl Into<MigrationsListReposForOrgParams>>
) -> Result<Vec<MinimalRepository>, MigrationsListReposForOrgError>
List repositories in an organization migration
List all the repositories for this organization migration.
GitHub API docs for list_repos_for_org
Map a commit author
Update an author’s identity for the import. Your application can continue updating authors any time before you push new commits to the repository.
GitHub API docs for map_commit_author
pub async fn set_lfs_preference_async(
&self,
owner: &str,
repo: &str,
body: PatchMigrationsSetLfsPreference
) -> Result<Import, MigrationsSetLfsPreferenceError>
pub async fn set_lfs_preference_async(
&self,
owner: &str,
repo: &str,
body: PatchMigrationsSetLfsPreference
) -> Result<Import, MigrationsSetLfsPreferenceError>
Update Git LFS preference
You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by Git LFS. You can learn more about our LFS feature and working with large files on our help site.
GitHub API docs for set_lfs_preference
pub async fn start_for_authenticated_user_async(
&self,
body: PostMigrationsStartForAuthenticatedUser
) -> Result<Migration, MigrationsStartForAuthenticatedUserError>
pub async fn start_for_authenticated_user_async(
&self,
body: PostMigrationsStartForAuthenticatedUser
) -> Result<Migration, MigrationsStartForAuthenticatedUserError>
Start a user migration
Initiates the generation of a user migration archive.
GitHub API docs for start_for_authenticated_user
pub async fn start_for_org_async(
&self,
org: &str,
body: PostMigrationsStartForOrg
) -> Result<Migration, MigrationsStartForOrgError>
pub async fn start_for_org_async(
&self,
org: &str,
body: PostMigrationsStartForOrg
) -> Result<Migration, MigrationsStartForOrgError>
Start an organization migration
Initiates the generation of a migration archive.
GitHub API docs for start_for_org
pub async fn start_import_async(
&self,
owner: &str,
repo: &str,
body: PutMigrationsStartImport
) -> Result<Import, MigrationsStartImportError>
pub async fn start_import_async(
&self,
owner: &str,
repo: &str,
body: PutMigrationsStartImport
) -> Result<Import, MigrationsStartImportError>
Start an import
Start a source import to a GitHub repository using GitHub Importer.
GitHub API docs for start_import
pub async fn unlock_repo_for_authenticated_user_async(
&self,
migration_id: i32,
repo_name: &str
) -> Result<(), MigrationsUnlockRepoForAuthenticatedUserError>
pub async fn unlock_repo_for_authenticated_user_async(
&self,
migration_id: i32,
repo_name: &str
) -> Result<(), MigrationsUnlockRepoForAuthenticatedUserError>
Unlock a user repository
Unlocks a repository. You can lock repositories when you start a user migration. Once the migration is complete you can unlock each repository to begin using it again or delete the repository if you no longer need the source data. Returns a status of 404 Not Found
if the repository is not locked.
GitHub API docs for unlock_repo_for_authenticated_user
pub async fn unlock_repo_for_org_async(
&self,
org: &str,
migration_id: i32,
repo_name: &str
) -> Result<(), MigrationsUnlockRepoForOrgError>
pub async fn unlock_repo_for_org_async(
&self,
org: &str,
migration_id: i32,
repo_name: &str
) -> Result<(), MigrationsUnlockRepoForOrgError>
Unlock an organization repository
Unlocks a repository that was locked for migration. You should unlock each migrated repository and delete them when the migration is complete and you no longer need the source data.
GitHub API docs for unlock_repo_for_org
pub async fn update_import_async(
&self,
owner: &str,
repo: &str,
body: PatchMigrationsUpdateImport
) -> Result<Import, MigrationsUpdateImportError>
pub async fn update_import_async(
&self,
owner: &str,
repo: &str,
body: PatchMigrationsUpdateImport
) -> Result<Import, MigrationsUpdateImportError>
Update an import
An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API request. If no parameters are provided, the import will be restarted.
GitHub API docs for update_import