私は自分の bitbucket アカウントにmyteam
という名前のプロジェクトを含むチームを持っていますmainproject
。内部にリポジトリを作成したいときはいつでも、次のコマンドラインを実行するだけです。
$ curl -X POST -v -u myaccount:passwd "https://api.bitbucket.org/2.0/repositories/myteam/repo1" -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks"}'
これは機能します。ただし、という名前の 2 番目のプロジェクトを作成すると、問題が発生しますsecondproject
。リポジトリが属するプロジェクトを API に伝えるにはどうすればよいですか?
データにプロジェクト情報を指定してみました(-d):
$ curl -X POST -v -u myaccount:passwd "https://api.bitbucket.org/2.0/repositories/myteam/repo2" -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks", "project": {"name": "secondproject"} }'
またはキーパラメータを使用:
$ curl -X POST -v -u myaccount:passwd "https://api.bitbucket.org/2.0/repositories/myteam/repo2" -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks", "project": {"key": "SEC"} }'
これにより、プロジェクトにリポジトリ repo2 が作成されますmainproject
。
uuid を使用してみましたが、同じことが起こり、メインプロジェクトにリポジトリが作成されます。
リンクにプロジェクト名を入れてみました:
$ curl -X POST -v -u myaccount:passwd "https://api.bitbucket.org/2.0/repositories/myteam/secondproject/repo1" -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks"
...
{"error": {"message": "Resource not found", "detail": "There is no API hosted at this URL.\n\nFor information about our API's, please refer to the documentation at: https://confluence.atlassian.com/x/IYBGDQ"}}
作成するリポジトリが属するプロジェクトを指定するにはどうすればよいですか? この方法でリポジトリの作成を自動化する必要があるため、コマンドラインに固執したいと思います。