LoginSignup
4
5

More than 5 years have passed since last update.

GitBucketでプライベートリポジトリにあるファイルを得たい

Posted at

tl;dr

GitHub APIを使う感じに落ち着きました。互換API素晴らしい...。

curl --fail \
  -H "Authorization: token ACCESSTOKEN" \
  -H "Accept: application/vnd.github.v3.raw" \
  http://HOST:PORT/api/v3/repos/:owner/:repo/contents/:path

Acceptの内容でレスポンスが変わるので、ちゃんと上記の内容で指定する

参考

背景

やりたいこと

クラウド上のあるサーバから社内で運用しているGitBucketへアクセスし、あるスクリプトファイルだけを得たい。
(※クラウド→社内にはSSHトンネルで繋いで一時的にアクセスできる状態にする。)

cloneでも得ることは出来るのですが「スクリプトだけ得られれば良いしcloneするほどでもないなー」と思い、ファイルをダウンロードで済ませられないかと考えました。

やったこと

パブリックなリポジトリであれば、こんな感じにrawアクセスすればよいです。

http://HOST:PORT/:owner/:repo/raw/:branch/:path

(version 4.26.0の画面に出てくるrawボタンのURLはなぜかcommitを指してますが、ブランチ名を指定すればそれで得られます。)

また、プライベートリポジトリのcloneであれば GitHubのHelpにあるUsing a token on the command lineと同じ内容で出来ます。

しかし、version 4.26.0では、rawアクセスはプライベートリポジトリでは使えないようです。Basicもtoken認証もダメな模様。

GitHub APIを実装してるし何とかならないかな、と調べたら冒頭にある通りでしたので、それで対処しました。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5