Bitbucket のソース コードへのハイパーリンク

一般的なスタック トレースにはファイル パスや行番号が含まれることが多くありますが、Bitbucket アカウント、リポジトリ、または Git コミットの情報は、ほとんどの場合含まれません。製品は、ランタイム エラーの状態からソース コードに戻れるよう、ランタイム コンテキストの外でこの情報に対応する必要があります。これは通常、ローカル コピーが本番と同じリビジョンであることを前提として、スタック トレース、例外レポート、またはログ メッセージをソース コードのローカル コピーに合わせることを意味します。

この問題をハイパーリンクで解決する方法

インテグレーターは、エラー レポートから Bitbucket のコードの特定の行へハイパーリンクを設定できるようになりました。アカウント、リポジトリ、コミット、ファイル パス、行番号などの情報に適切にリンクすることをおすすめします。


ソース ビュー URL

src の URI テンプレート
{+bitbucket}{/owner, repository_name}/src{/commitish}{/filepath}{?fileviewer}{#fileline}
キー必須説明値の例
bitbucketはいBitbucket Cloud のベース URL。https://bitbucket.org
ownerはいターゲット ファイルを含むリポジトリのアカウント オーナー。atlassian
repository_nameはいターゲット ファイルを含むリポジトリの名前。リポジトリ スラッグとも呼ばれます。python-bitbucket
commitishはいターゲット ファイルの状態を示す ref (ブランチまたはタグ) またはコミット SHA。master
filepathはいリポジトリ内のパスと、ターゲット ファイルの名前。tests/test_auth.py
fileviewerいいえ: オプションターゲット ファイルのファイル ビューアー。指定しない場合、Bitbucket は既定のファイル ビューアーを URL に適用します。file-view-default
filelineいいえ: オプションターゲット ファイル名と行番号 (ダッシュ区切り)。fileline セグメントがない場合、URL は単純にターゲット ファイルにナビゲートします。test_auth.py-29
src の URL 例

https://bitbucket.org/atlassian/python-bitbucket/src/master/tests/test_auth.py?fileviewer=file-view-default#test_auth.py-29

オーナー、リポジトリ名、およびコミットを取得する方法

このメタデータはほとんどのスタック トレースでは利用できないため、Bitbucket の知識を活用して調整する必要があります。オプションの一部を紹介します。

  • ビルド時間中にメタデータを抽出する。たとえば、Bamboo を使用して Java プロジェクトを構築しているとします。Bamboo は Bitbucket のリポジトリ URL とリビジョンを環境変数として表示します。URL をパースすることでオーナーとリポジトリ名を取得できます。これら 3 つはいずれも、JAR にパッケージ化する前に、META-INF/MANIFEST.MF へ書き込むことができます。
  • プッシュ イベントの Bitbucket Web hook をアーティファクトのデプロイ イベントと関連させます。
  • 命名規則が必要です。
  • 問い合わせます。

ファイル ビューアーについて

ファイル ビューアーを使用してスタック トレースをリンクする際には、Bitbucket の既定ファイル ビューアーを使用することをお勧めします。

Bitbucket は、画像、動画、3D モデルなどのソース コードで構成ファイルに便利なアドオンや、多数のファイル ビューアーを提供しています。ただし、製品監視を実現するほとんどの製品は、基盤となるソース コードの形式を所有していません。カスタム ファイル ビューアーを使用する場合、リンクをクリックするユーザーはそのファイル ビューアーをインストールしている必要があります。


最終更新日 2020 年 5 月 25 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.