ctx := context.Background()
// Create a repository with a server-generated ID.
generatedRepo, err := client.CreateRepo(ctx, storage.CreateRepoOptions{})
if err != nil {
return fmt.Errorf("create repository: %w", err)
}
fmt.Println(generatedRepo.ID) // e.g. "123e4567-e89b-12d3-a456-426614174000"
// Or create a repository with your own ID.
repo, err := client.CreateRepo(ctx, storage.CreateRepoOptions{ID: "quickstart"})
if err != nil {
return fmt.Errorf("create repository: %w", err)
}
// Or create a repository that syncs with GitHub.
syncedRepo, err := client.CreateRepo(ctx, storage.CreateRepoOptions{
ID: "hello-world",
BaseRepo: storage.GitHubBaseRepo{Owner: "octocat", Name: "Hello-World", DefaultBranch: "main"},
})
if err != nil {
return fmt.Errorf("create synced repository: %w", err)
}
// Get an authenticated Git remote URL.
url, err := repo.RemoteURL(ctx, storage.RemoteURLOptions{})
if err != nil {
return fmt.Errorf("create remote URL: %w", err)
}
fmt.Printf("git remote add origin %s\n", url)