从TFS迁移至Git:Bitbucket自动创建项目与仓库技术问询
自动创建Bitbucket项目与仓库的解决方案
一、使用Bitbucket REST API编写自动创建脚本
当然可以通过脚本自动搭建你需要的项目和仓库结构,Bitbucket提供了完整的REST API来完成这些操作,下面给你一个Python脚本示例,你可以根据实际情况调整细节:
首先,你需要准备Bitbucket的个人访问令牌(Personal Access Token),权限要包含project:write和repository:write。
import requests from requests.auth import HTTPBasicAuth # 基础配置信息 BITBUCKET_BASE_URL = "https://api.bitbucket.org/2.0" USERNAME = "你的Bitbucket用户名" TOKEN = "你的个人访问令牌" AUTH = HTTPBasicAuth(USERNAME, TOKEN) WORKSPACE_ID = "你的Bitbucket工作区ID" # 定义你的项目与仓库结构 PROJECT_STRUCTURE = { "Project 1": [f"Repository{i}" for i in range(1, 11)], "Project 2": [f"Repository{i}" for i in range(1, 21)] } def create_project(project_name): """创建Bitbucket项目""" # 项目key不能有空格,这里做简单转换,你可以按Bitbucket规则自定义 project_key = project_name.replace(" ", "").upper() url = f"{BITBUCKET_BASE_URL}/workspaces/{WORKSPACE_ID}/projects" payload = { "key": project_key, "name": project_name } response = requests.post(url, json=payload, auth=AUTH) if response.status_code == 201: print(f"✅ 项目 {project_name} 创建成功") return project_key elif response.status_code == 409: print(f"⚠️ 项目 {project_name} 已存在,跳过创建") return project_key else: print(f"❌ 创建项目 {project_name} 失败: {response.text}") return None def create_repository(project_key, repo_name): """在指定项目下创建Git仓库""" # 仓库slug需要小写且无空格,这里做转换 repo_slug = repo_name.lower().replace(" ", "-") url = f"{BITBUCKET_BASE_URL}/repositories/{WORKSPACE_ID}/{repo_slug}" payload = { "project": {"key": project_key}, "name": repo_name, "scm": "git", "is_private": True # 根据需求设置公开/私有 } response = requests.post(url, json=payload, auth=AUTH) if response.status_code == 201: print(f" ✅ 仓库 {repo_name} 创建成功") elif response.status_code == 409: print(f" ⚠️ 仓库 {repo_name} 已存在,跳过创建") else: print(f" ❌ 创建仓库 {repo_name} 失败: {response.text}") # 执行批量创建流程 for project_name, repos in PROJECT_STRUCTURE.items(): project_key = create_project(project_name) if project_key: for repo in repos: create_repository(project_key, repo)
记得替换脚本中的你的Bitbucket用户名、你的个人访问令牌和你的Bitbucket工作区ID,项目key和仓库slug的规则可以根据Bitbucket的要求进一步调整。
二、关于教程所需工具的说明
你提到的那篇教程是基于Bob Swift的Bitbucket CLI工具实现的,必须安装对应的Bitbucket CLI才能使用教程里的命令,普通系统命令行没有直接操作Bitbucket项目和仓库的内置指令。这个CLI是对Bitbucket REST API的封装,提供了更简洁的命令行语法来完成批量操作,安装后才能执行教程中的模板创建项目等功能。
内容的提问来源于stack exchange,提问作者Rick
相关产品推荐
相关产品推荐

