Git 如何从托管服务器上的CLI创建Bitbucket存储库

Git 如何从托管服务器上的CLI创建Bitbucket存储库,git,bitbucket,Git,Bitbucket,我正在寻找一些关于如何使用curl命令和Bitbucket API在主机服务器上创建大量(总共70个)Bitbucket repo的帮助。在我的研究中,我回顾了很多链接,但我得到的只是使用这些网站上的语法的HTTP404错误 这是我最近找到的最新命令字符串,但尚未测试。这似乎是我需要让这个过程工作吗 curl-X POST-u$USER:$(cat$HOME/.pw)-H'内容类型:application/json'http://bitbucket..com/2.0/repositories/

我正在寻找一些关于如何使用curl命令和Bitbucket API在主机服务器上创建大量(总共70个)Bitbucket repo的帮助。在我的研究中,我回顾了很多链接,但我得到的只是使用这些网站上的语法的HTTP404错误

这是我最近找到的最新命令字符串,但尚未测试。这似乎是我需要让这个过程工作吗


curl-X POST-u$USER:$(cat$HOME/.pw)-H'内容类型:application/json'http://bitbucket..com/2.0/repositories/ -d{“is_private”:true,“scm”:“git”,“project”:{“key”:“ABC”}}

我有一个类似的要求来创建多个回购,但这是在Bitbucket的云版本中。我想出了一个python脚本来处理它

  • 我有一个属性文件,其中存储库名称将是节名称
  • 使用配置解析器,我从属性文件读取数据
  • 包含用于创建存储库的数据的JSON文件
  • 最后,使用python脚本创建属性文件中提到的存储库

  • 您可以将其置于循环下,以迭代属性文件中的所有部分。

    有趣的是,您提到了Bitbucket的云版本和服务器版本之间的目标差异。Atlassian可能不会实现API来为目标实现相同的功能?API功能是相同的。区别在于云和prem版本的API请求的URL。我创建了一个json文件$cat load.json{“name\”:“devdocs\”,“scm\”:“git\”,“is\u private\”:“true\”,“fork\u policy\”:“no\u public\u forks\”,“description\:“test\”。我执行的命令$curl-v POST-u user:password-H“内容类型:application/json”“”-d load.json
    [test-repository6]
    project_key=CUS
    project_description=This is test-repository6
    private_repository=true
    
    config = configparser.ConfigParser()
    config.read('repository.properties')
    
    "{\"scm\": \"git\", \"is_private\": \"{private_repository}\", \"fork_policy\": \"no_public_forks\", \"project\": {\"key\": \"{project_key}\"}, \"description\": \"{project_description}\"}"
    
    from subprocess import call
    import configparser
    import subprocess
    import shutil
    import json
    
    project_key = config.get(section_name, "project_key")
    project_description = config.get(section_name, "project_description")
    private_repository = config.get(section_name, "private_repository")
    
    if(private_repository == "true"):
       cmd = 'curl --url "' + bb_url +"/"+ section_name + '" --user ' + bb_user + ':' + bb_pwd + ' --request POST --header "Content-Type: application/json" --data ' + open(os.path.join(base_dir, "repo_creation_private.json"), "r").readline().replace("{project_key}", project_key).replace("{project_description}", project_description).replace("{private_repository}", private_repository)
    else:
      cmd = 'curl --url "' + bb_url +"/"+ section_name + '" --user ' + bb_user + ':' + bb_pwd + ' --request POST --header "Content-Type: application/json" --data ' + open(os.path.join(base_dir, "repo_creation_public.json"), "r").readline().replace("{project_key}", project_key).replace("{project_description}", project_description).replace("{private_repository}", private_repository)
    output = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, creationflags=DETACHED_PROCESS).communicate()