GitBucket 4.6をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.6をリリースしました。

https://github.com/takezoe/gitbucket/releases/tag/4.6

リポジトリのフォークを禁止するオプション

リポジトリの設定でフォークを禁止できるようになりました。

f:id:takezoe:20161023025446p:plain

WikiページにHistoryボタンを追加

これまでHistoryボタンはWikiページの編集画面にしか表示されていませんでしたが、参照画面にも表示されるようになりました。

f:id:takezoe:20161023025551p:plain

Gitリポジトリのリダイレクト

JenkinsなどGitHub前提の外部ツールとの連携をやりやすくするためにGitHub風URLでのGitリポジトリへのHTTPアクセスをリダイレクトするようになりました。

http://localhost:8080/user1/gitbucket.git

上記のURLは以下にリダイレクトされます。

http://localhost:8080/git/user1/gitbucket.git

Get-Content APIの改善

Get-Content APIはこれまでディレクトリしかサポートされていませんでしたが、ファイルにも対応しました。

  • API呼び出し:
$ curl http://localhost:8080/api/v3/repos/user1/gitbucket/contents/project/build.properties
  • レスポンス
{
  "type":"file",
  "name":"build.properties",
  "content":"c2J0LnZlcnNpb249MC4xMy4xMgo=",
  "encoding":"base64"
}

また、カスタムメディアタイプもサポートしています。リクエスト時にAcceptヘッダを指定することでレスポンスのデータ型を選択することができます。Acceptヘッダが指定されていない場合はBase64エンコードされたコンテンツを含むJSONを返します。

  • 生データを要求する場合:
$ curl http://localhost:8080/api/v3/repos/user1/gitbucket/contents/project/build.properties \
-H "Accept: application/vnd.github.v3.raw"
  • HTMLを要求する場合:
$ curl http://localhost:8080/api/v3/repos/user1/gitbucket/contents/project/build.properties \
-H "Accept: application/vnd.github.v3.html"

グループのメンバー一覧で管理者を表示

グループのMembersタブのメンバー一覧で、誰がグループの管理者かわかるよう管理者にはマークを表示するようにしました。

f:id:takezoe:20161029151447p:plain

この他にも様々な改善やバグフィックスを行っています。詳細についてはIssueの一覧をご覧ください。