Bitbucket Code Insights は、コードレビューの質とスピードに貢献します
2020年06月22日(2025年10月21日 更新)
こんにちは
今日は、ソースコードのバージョン管理をされている方で以下のような課題をお持ちの方に、ご紹介したい機能があります。
- Gitでバージョン管理していて、「もっとコードの品質を向上したい!」あるいは「もっとプルリクエストを有効的に活用したい!」という方。
- Subversion (svn) からGitへの移行を考えていて「移行によって、コードの品質向上について期待できること」「コード解析と連携して、もっと効率的なコードレビューの方法」などを知りたい方。
このようなコードレビュー効率化やコードの品質向上に課題を持っている方にお薦めしたいのが、アトラシアン製品のGitホスティングツール「Bitbucket Server」の Bitbucket Code Insights(*1)です。
コードに対する静的解析やユニットテストは一般的にCIツールなどで実行しますが、Bitbucket Code Insightsではこれらの実行結果レポートをBitbucketに送信することで、プルリクエストの画面上にこれらのレポートを表示する機能です。
(*1: このブログはServer版のBitbucketを用いてご紹介しています。Atlassian CloudのBitbucketにもCode Insightsはありますが、連携できるツールや使い方などは異なる場合もあります。この点をご留意頂きお読み下さい。)
Bitbucket Code Insights のメリットは、こちらのAtlassian Blog で紹介されている文章を拝借して要約しますと次のようなものがあります。
- コード品質を改善するための情報をより良い方法で提供します。
- プルリクエスト中のコードレビューで、コード品質に関する問題を発見しやすくします。
- 品質レポートでは様々な分析の要約とコード注釈を表示することで、脆弱性やコードの不吉な匂いを迅速に特定して対処することができます。
では、実際にリックソフトが取り扱っているOSSライブラリの脆弱性診断ツール WhiteSource を利用して、Bitbucket Code Insights の使い方を見ていきましょう。
WhiteSource for Bitbucket Serverを導入する
先にCode InsightsでWhiteSourceのレポートを取得する仕組みを説明させてください。
WhiteSourceによる検査は通常、CIツールで実行します。CIツールのジョブタスクでは、クローンしたリポジトリからOSSライブラリの情報をスキャンして、その情報をSaaSのWhiteSourceクラウドに送信して、スキャン情報から脆弱性を診断します。
ですが、この仕組みですとWhiteSourceの場合はCIツールからBitbucketに向けた診断結果レポートを送信することができません。そこで登場するのが、WhiteSource for Bitbucket Server(*2) です。
WhiteSource for Bitbucket Server は、WhiteSource for Developers(*3) に含まれる開発ツールの1つです。
(*2: WhiteSource for Bitbucket Server は名前が示す通り、Bitbucket Server専用のため、Atlassian Cloudには対応していません。)
(*3: Bitbucket Code Insightsを利用するには「WhiteSource for Developers」(オプション)のライセンスが必要です。)
これはBitbucket Serverと直接通信するエージェントアプリケーションを構築することで次のような仕組みで、CIツールを介さずにリポジトリのOSSライブラリを検査します。
- Bitbucket Serverが管理するリモートリポジトリに対してコミットを行います。
- コミットをトリガにして、Bitbucket ServerにインストールするWhiteSourceコネクタアプリ(*4) を介して、WhiteSource for Bitbucket Serverとの通信を開始します。
(*4: このアプリは、WhiteSource for Bitbucket Serverのインストーラに付属しています。 - WhiteSource for Bitbucket Serverは、リポジトリをスキャンしてOSSライブラリの情報をWhiteSourceクラウドに転送します。
- WhiteSourceクラウドでは受け取ったスキャン結果を基に脆弱性検査を行い、結果を返します。
- WhiteSource for Bitbucket Serverは検査結果を受け取ると、Bitbucket ServerにCode Insightsフォーマットの検査結果レポートを送信します。
WhiteSource for Bitbucket Serverは、Dockerファイルで提供されます。
標準設定で使う場合には、提供されるdockerfileを使って、Dockerイメージ作成し、Dockerコンテナの立ち上げして起動することで利用できます。
Bitbucket のリポジトリをスキャンしてみる
初期設定としてWhiteSourceでスキャンを行うリポジトリを選択します。
選択したリポジトリに対して、WhiteSource for Bitbucket Serverから初期設定のためのプルリクエストが申請されますので、承認してmasterブランチにマージします。
マージが完了すると、リポジトリのファイル一覧画面に直近の検査結果のサマリが表示されるようになります。
あとはいつも通り、ローカルで修正したブランチをリモートリポジトリにプッシュすると、自動的にOSSの脆弱性検査を実行します。
この検査はBitbucket上では「ビルド」として扱われ、コミットごとに結果レポートを閲覧することができます。
そして、プルリクエストを行うと該当するコミットに紐づく検査レポートをCode Insightsレポートとして確認することができます。
画面では右上の方の"WhiteSource Security"をクリックすることで、品質レポートを表示します。
例えば画面の例ですと、利用しているOSSライブラリに脆弱性が発見されており「失敗」と表示されています。
このようにして、プルリクエストでコードレビューを行う前に、静的解析結果を一通り確認することができます。
このようにCode Insightsの品質レポートを使うことで、コードレビューの時間を有効的に利用できることがお分かりいただけますでしょうか?
その他に品質レポートから閲覧できること
今回は、WhiteSourceを用いたOSSライブラリの脆弱性検査の結果を出力しましたが、品質レポートにはその他にも、SonarQubeやSnykからもCode Insightsに対応したアプリが公開されています。
また、AtlassianのCI/CDツールであるBambooには、Build warnings parser task があり、これはビルド結果ログから警告やエラーを取得して、Bitbucketに結果レポートを出力することができるので、例えばJUnitなどの自動テストフレームワークの実行時にエラーが出ればその結果をBitbucket Code Insightsにも出力できます。
Bitbucket Code InsightsはAPIも公開されておりレポートもJSON形式となるので、お使いの静的解析ツールやユニットテストツールに対応した品質レポートをカスタマイズして、Code Insightsで表示させることもできます。
Bitbucket Code Insightsは、コード解析結果をレポーティングすることで、PRにおけるコードレビューのボトルネックを改善し、コードの品質を保ちながらリリーススピードを上げることに貢献します。コードの品質管理に興味を持って頂けたなら、Bitbucket Serverをせひご利用してみてください。
この記事を読んだ⼈におすすめのページ
本情報はブログを公開した時点の情報となります。
Software Collection
Jira Service Management
Customer Service Management
Assets
Rovo
Focus
Jira Align
Talent


2026年春、ベトナムで感じた「AI熱」とBiplusの本気度 ――ベトナムITイベントレポ
5,000名以上のエンタープライズで Jira / Confluenceを選ぶ理由 ― 情報ガバナンスとセキュリティを両立する Atlassian Guard活用術
モダン開発の落とし穴『認知負荷』の正体――。複雑なエンジニアリング環境を救うIDP (Compass)の価値を一般家庭に例える
SFA・Excel・データ整形の限界を突破!Workatoで予実管理を自動化する方法|月末の「あの作業」がなくなる