本ページでは、バージョン管理で利用するGit連携について、どのように貴社プロジェクトで設定できるかを説明します。(🇺🇸本記事は、このヘルプ記事を翻訳したものになります)
Project Settings
Project Settingsページで設定を変更するためには、Looker管理者である必要があります。管理者ではないLooker開発者はProject Settingsページを閲覧することはできますが、変更することはできません。
Project Settingsページでは、プロジェクトの追加設定を行うことができます。このページを表示するためには、対象のプロジェクトを開き、GitメニューからProject Settingsを選択します。

Projects SettingsページConfigurationタブ上で、以下の設定を行えます:
- Name: プロジェクト名。 テキストを編集し、Save Project Settingsボタンをクリックすることで、リネームすることができます。詳細には、こちらを参照。
- Code Quality: プロジェクトに対する変更をコミットする前に、開発者に対してLookML Validator を実行しエラーがない状態にすることを要求するかを選択します。以下のオプションがあります:
- Require fixing errors and warnings before committing: Looker開発者はLookML Validatorを実行し、すべてのエラーと警告を解消したときのみコミット可能。(推奨)
- Only require fixing errors before committing: Looker開発者は、LookML Validatorを実行し、すべてのエラーを解消したときのみコミット可能。警告が存在していてもコミット可能。推奨されていませんが、このオプションは、たとえば、Lookerのアップグレード後にLookMLの動作に新しい警告が導入される場合に役立ちます。
- Allow committing broken code: Looker開発者は、LookML Validatorを実行せず、エラーや警告があったとしてもコミット可能。LookMLが機能しなかったり、誤った結果を生成する可能性があるため、このオプションは推奨されません。
- このプロジェクトを実稼働環境に展開する前にデータテストに合格する必要があります。変更を展開する前に開発者がデータテストを実行する必要があります。 データテストに合格すると、開発者はIDEを使用して本番環境に変更を展開できます。 LookMLプロジェクトでデータテストを設定する方法については、テストドキュメントのページを参照してください。 プロジェクトでデータテストを実行する方法については、「バージョン管理と展開のドキュメントの使用」ページをご覧ください。
- Git連携:Gitプロバイダーとの統合レベル。 詳細については、Git統合オプションを参照してください。
- Webhook Deploy Secret:Lookerインスタンスの本番環境に変更をデプロイするための認証を設定します。 詳細については、Webhook Deploy Secretを参照してください。
- Git接続のリセット:このボタンをクリックすると、Gitリポジトリの接続設定を更新できるGitの構成ウィンドウが開きます。
- プロジェクトの削除:このボタンはプロジェクトを削除し、Lookerインスタンス全体のすべての開発環境および運用環境でプロジェクトからすべてのLookMLを削除します。
Git接続をリセットすると、masterブランチのGit履歴が保持されます。 また、開発者モードを同期すると、各Looker開発者の個人ブランチの履歴も保持されます。 すべてのブランチの履歴を保存するには、このヘルプセンターの記事をご覧ください。
[プロジェクト設定]ページの[ブランチ管理]タブで、プロジェクトに関連付けられているすべてのGitブランチを確認できます。

[プロジェクト設定]ページの下部で、プロジェクトの現在のGit設定も確認できます:

Git Integration Options
Git接続をセットアップすると、LookerはLookMLソースファイルの管理にGitプロバイダーを使用します(バージョン管理の使用とドキュメントの展開ページを参照)。 ソースファイル管理とバージョン管理を使用してプロジェクトをセットアップするために必要な作業はこれだけです。 ただし、Looker管理者の場合は、[プロジェクト設定]ページの[Git統合]オプションを使用して、GitとLookerの統合の追加オプションを構成できます。
この例では、GitHubを使用しているため、ウィンドウにはGitHub Integrationが表示されます。 ただし、別のGitプロバイダーを使用している場合、Lookerは代わりにGitプロバイダーの名前を表示します。
[[https://docs.looker.com/assets/images/dev-git-show-links-file-50.png]]
Git統合をオフに設定すると、LookerはLookMLファイルの管理にGitプロバイダーを完全に使用しますが、LookerはGitプロバイダーのインターフェイスへの外部リンクを表示しません。
次のオプションは、Git接続の設定とテストのドキュメントページのLookerとGitの統合セクションで説明されているように、Gitプロバイダーを使用してリポジトリを自己ホストしている場合にのみ適用されます。 GitリポジトリがLookerでホストされているかどうかを確認するには、[プロジェクト設定]ページの下部までスクロールして、リモートオリジンURLを確認します。 Lookerがホストするリポジトリには、次で始まるURLがあります
git@github.com:llooker.
- Show Links: Lookerは、Gitプロバイダーのインターフェイスへの外部リンクを提供し、開発者がGitプロバイダーのインターフェイスでプロジェクトを表示できるようにします。 Lookerは各プロジェクトファイルへのリンクも提供するため、開発者はGitプロバイダーのインターフェイスでファイルの履歴とGitの非難情報を表示できます。リンクについては、「Gitプロバイダーへの外部リンクの統合」セクションを参照してください。 LookerがホストするGitリポジトリがある場合、[リンクの表示]オプションは効果がありません。
- Pull Requests Recommended: Lookerでは、Gitプロバイダーのインターフェイスへの外部リンクを提供するほか、開発者がプルリクエストを送信できるようにして、プロジェクトに追加する前に別の開発者が変更を承認できるようにします。この設定の詳細については、プロジェクトのプルリクエストの統合セクションを参照してください。 LookerがホストするGitリポジトリがある場合、このオプションは表示されません。
- Pull Requests Required: これは上記と同じですが、LookML開発者はプルリクエストを開いてプロジェクトに変更を送信する必要があります。この設定の詳細については、プロジェクトのプルリクエストの統合セクションを参照してください。 LookerがホストするGitリポジトリがある場合、このオプションは表示されません。
Git統合をオンまたはオフに切り替える場合は、[プロジェクト設定を保存]をクリックして変更を保存します。
外部リンクをGitプロバイダーに統合する
追加のGit統合オプション(Show Links, Pull Requests Recommended, or Pull Requests Required)のいずれかを有効にした場合、LookerはGitプロバイダーのインターフェイスへの外部リンクを提供します。 これらの外部リンクは、Gitプロバイダーのサイトへの新しいブラウザータブを開きます。
これらの外部リンクを表示するには、開発者はGitプロバイダーのアカウントを持ち、プロジェクトのGitリポジトリにアクセスできる必要があります。
LookMLは、各LookMLファイルのギアメニューで、Gitプロバイダーのサイトへのリンクを提供して、ファイルを表示し、ファイルのGit情報を表示し、ファイルのコミット履歴を表示します:

LookerはGitメニューで、Gitプロバイダーのサイトにあるプロジェクトファイルへのリンクを提供します:
プロジェクトとPull Requestの統合
デフォルトでは、Looker開発者は、commitおよび本番へのデプロイをすることが可能になっています。 しかしながら、開発者に自分で変更を本番へ反映させる代わりに、Pull Requestを推奨もしくは、Pull Requestを必須とするように設定することができます。
Pull Requests RecommendedオプションとPull Requests Requiredオプションは、Gitプロバイダーを使用してリポジトリを貴社がホストしている場合にのみ使用できます。 Lookerがホストするリポジトリを使用している場合、これらのオプションは表示されません。 Lookerがホストするリポジトリから貴社がホストするリポジトリへなど、新しいGitリポジトリへの移行については、このヘルプセンターの記事をご覧ください。
Lookerは、GitHub、GitLab、Bitbucket Cloud、およびBitbucket Server(以前は「Stash」と呼ばれていました)のGitプロバイダーのプルリクエスト統合をサポートしています。
Pull Requests RecommendedまたはPull Requests Requiredのいずれかを使用して、Looker開発者はブランチの変更に対するGitプルリクエストを送信します。 開発者がプルリクエストを作成すると、他のLooker開発者はGitプロバイダーのウェブインターフェースからプルリクエストを確認および承認できます。ウェブフックは、Lookerプロジェクトの本番ブランチに変更をプッシュします。
LookerでPull Requestを利用する場合の注意事項:
- Looker開発者がRevertしたいプルリクエストを発行した場合、プルリクエストを元に戻す方法については、このコミュニティトピックを参照してください。
- Gitプルリクエストを使用すると、Lookerのステージングインスタンスを使用できるようになるため、ステージングインスタンスとプロダクションインスタンスを作成し、プルリクエストをステージングインスタンスで有効にすることができます。 すべての開発およびコードレビューはステージング環境で実行でき、レビューされたコードは必要に応じて実稼働インスタンスにデプロイできます。 これを設定するには、こちらのヘルプセンターの記事をご覧ください。
- Lookerは、マージのマージコミットメソッドを使用して、Looker開発者ブランチからの変更を本番ブランチにマージします。 Gitプロバイダーのインターフェイスを使用する場合、開発者がスカッシュマージもリベースマージも使用しないようにしてください。 詳細については、Gitプロバイダーのインター・フェイス・セクションのマージオプションをご覧ください。
プロジェクトをPull Requestと連携させる設定
LookerプロジェクトでGIt Pull Requestを利用するに設定するには:

- 対象のプロジェクトから、Gitドロップダウン・メニューからProject Settingsを選択する
- Git Integrationセクションにおいて、Pull Requests Recommended or Pull Requests Requiredを選択する
- 本手順の後半で利用するために、webhook informationをコピーしてテキストファイルに貼り付けておく
- オプションとして、Set Webhook Secretをクリックすることで、Gitプロバイダとの連携との連携で認証に利用できるWebhook deploy secretを発行することができます。本手順の後半で利用するため、Deploy secretをコピーして、テキストファイルに貼り付けておく。詳細は、Webhook Deploy Secret を参照。
- Save Project Settingsをクリック
次に、Gitプロダイバーのインタフェースを利用して、webhookトリガーを作成します:

- GitプロバイダーのWebサイトでプロジェクトのリポジトリ設定に移動します。
- リポジトリの設定で、[Webhook]をクリックします。
- [Webhookの追加]をクリックします。 これにより、[Webhookの追加]ウィンドウが開きます。
- [ペイロードURL]テキストボックスに、LookerのGit Integrationセクションからコピーしたwebhook情報を貼り付けます。
- オプションで、[シークレット]テキストボックスに、Lookerの[Webhookデプロイシークレット]セクションからコピーしたwebhookデプロイシークレットを貼り付けます。
- プッシュイベントのみのオプションを選択します。
- [Webhookの追加]をクリックします。
以上で、Looker開発者がプロジェクトに対して変更をコミットした際には、Looker IDEはOpen Pull Request ボタンを表示します。
このボタンは、GitプロバイダのWebサイト上で新規プル・リクエストを行うためのページをブラウザ上の新しいタブを開き、Lookerからの開発者のコミットメッセージでタイトルを自動的に入力します:

Gitプロバイダーのインターフェースのマージオプション
Lookerプロジェクトがプルリクエストと統合されている場合、開発者はGitプロバイダーのインターフェイスを使用してプルリクエストを送信し、変更を本番ブランチにマージします。
Lookerは、開発ブランチから本番ブランチに変更をマージするマージコミットメソッドをサポートしています。 ただし、Gitプロバイダーのインターフェイスには、マージの追加オプションが表示される場合があります:

Lookerはスカッシュマージまたはリベースマージをサポートしていないため、開発者はこれらのオプションの使用を避ける必要があります。 可能な場合、ベストプラクティスは、リポジトリのオプションを無効にすることです。 次の例は、GitHubリポジトリでこれらのオプションを無効にする方法を示しています:

- GitプロバイダーのWebサイトでプロジェクトのリポジトリ設定に移動します。
ヒント:Git統合で構成されたプロジェクトの場合、LookerのプロジェクトのGitメニューから[Gitでプロジェクトを表示]オプションを使用できます。
- リポジトリの設定で、[オプション]をクリックします。
- [マージボタン]セクションまでスクロールします。
- [スカッシュマージを許可する]オプションと[リベースマージを許可する]オプションをオフにします。
これらのオプションをオフにすると、リポジトリ内のブランチをマージするときに使用できなくなります:
