私は、powershell を使用して新しい git リポジトリの作成を自動化しようとして行き詰まりました。
私が理解しているように、URLでPOSTメソッドを使用して新しいリポジトリを作成します
/rest/api/1.0/projects/$ProjectKey/repos
https://developer.atlassian.com/static/rest/stash/3.0.1/stash-rest.html#idp1178320
変更するには管理者である必要があるため、webrequest に認証ヘッダー フィールドを追加します。
$ByteArr = [System.Text.Encoding]::UTF8.GetBytes('admin:pwd')
$Base64Creds = [Convert]::ToBase64String($ByteArr)
$ProjectKey = 'SBOX'
$CreateRepoUri = "$BaseUri/rest/api/1.0/projects/$ProjectKey/repos/"
Invoke-RestMethod -Method Post `
-Headers @{ Authorization="Basic $Base64Creds" } `
-Uri $CreateRepoUri `
-ContentType 'application/json' `
-Body @{ slug='test'; name='RestCreatedRepo';}
しかし、実行すると内部サーバー エラー (500) が発生します。正確な理由についての詳細や InnerExceptions はありません。
GET を使用してリポジトリのリストを取得すると、認証が機能するようになります (少なくとも Get 要求の場合)。
これによると、それは正しいステートメントである必要があります。
- https://answers.atlassian.com/questions/127261/create-project-using-rest
- powershell http post REST API 基本認証
このスラッグまたは scmId とは正確には何ですか (誰かが聞いたことがあります)。
Web サービスを使い始めたばかりの私に、あなたの天才の 1 人が正しい方向性を教えてくれたら幸いです。
ありがとう、マイケル