2016-10-03 6 views
0

まず、以下のようにbitbucketからコードを取得してビルドプロセスを自動化しようとしています。powershellスクリプトアクセストークンを使用したbitBucketプライベートレポジトリのダウンロード

$output = "E:\FileName.xyz" 
$url = 'https://bitbucket.org/WhatEver/WhatEverBranchName/get/master.zip' 
$wc = New-Object -TypeName System.Net.WebClient 
$wc.Headers.Add('Authorization','token oinksdilikncl--MyAccessToken--ioiwcnoisif89kfg9') 
$wc.DownloadFile($url, $output) 

私はこれを実行すると、私はFileName.xyzで受け取るファイルは、私がアクセストークンをsuppiledにもかかわらず、基本的にそのはcredsをを求めて、ビットバケットのloginpageに私をリダイレクトするHTMLファイルです。

どこが間違っていますか?これを行う他の方法は、Invoke-Webrequestですか?または誰か親切にコードサンプルに私を指示してください?

+0

[多分関連](https://confluence.atlassian.com/bitbucket/oauth-on-bitbucket-cloud-238027431.html)。 –

答えて

2

私はpowershellで全く経験がありませんが、私はノードで同様の作業をしようとしましたが、ここでは私の発見です。

  1. まず、bitbucketアカウント設定のアクセス管理セクションに "Oauth"を作成します。これはあなたに "キー"と "秘密"を与えます。

  2. これらのKeyとSecretを使用すると、Bitbucketにトークンを要求します。私の場合は、https://bitbucket.org/site/oauth2/access_tokenにhttpリクエストをしました。あなたのケースでは、同等のCURL(Invoke-RestMethodかもしれませんか?)を使用する必要があります。 CURLコマンドは次のようにされています。今、あなたはトークンを、あなたのプログラムを持っていることを

    request.post("https://yourKeyHere:[email protected]/site/oauth2/access_token").send('grant_type=client_credentials'); 
    
  3. $ curl -X POST -u "yourKeyHere:yourSecretHere" https://bitbucket.org/site/oauth2/access_token -d grant_type=client_credentials 
    

    私のhttpリクエストはapplication/x-www-form-urlencodedに私のContent-Type設定して(ノードでたSuperAgentを使用して)このようなものでしたまたはあなたのコマンドでプライベートレポをクローンすることができます。しかし、あなたのレポへのURLは、この(周りのトークンブラケットを維持する)ようにする必要があります:

    https://x-token-auth:{tokenHere}@bitbucket.org/youRepoOwnerHere/RepoNameHere.git 
    
  4. 今すぐあなたのマシン上で全体のコードベースを持っています。しかし、私はあなたがこれをRetrieve a single file from a repositoryに紹介するレポ全体ではなく1つのファイルを望みますが、通常のrepo urlの代わりに上記のrepo urlをトークンと共に使用することを忘れないでください。

関連する問題