DataForm で変換ワークフローを定義する SQLX を徹底解説 では、DataForm で変換ワークフローを定義するための SQLX ファイルの作成方法について解説しました。
本記事では、DataForm プロジェクトのリポジトリと Git リポジトリを接続する方法について解説します。
Git リポジトリと連携すれば、DataForm のワークスペースで行った変更を Git リポジトリに反映させたり、逆に Git リポジトリの変更を DataForm に反映させることができます。
DataForm では次の Git プロバイダをサポートしています。
- Azure DevOps サービス
- Bitbucket
- GitHub
- GitLab
ここからは、一例としてGitHub リポジトリと接続する方法を解説します。

注意
2024年5月時点では、インターネットに公開されていない社内ネットワーク上に各種Gitサーバを構築している場合は、DataformのリポジトリとGitリポジトリの接続はできないようです。
ただし、こちらのドキュメントには、認証のためにDataformの外向きのIPアドレスを固定する実験的機能が将来的に実装される予定であるとの記述があり、この機能を利用すれば、固定IPからのネットワークへの接続を許可することで、上記の場合でも接続が行えるようになりそうです。
リポジトリとの接続を認証する方式を決める
DataForm は、リポジトリとの接続を認証する方式として、以下の2つの方式を提供しています。
- HTTPS
- SSH
HTTPS ではアクセストークンを使用して認証を行います。個人開発の場合は自分のアカウントの Personal Access Token を使うのが手っ取り早いでしょう。
Organization のリポジトリと連携する場合などでは、マシンアカウントを用意し Personal Access Token を使うのが一般的です。
SSH では SSH キーを使用して認証を行います。個人開発の場合は自分のアカウントで SSH キーを発行して使うのが手っ取り早いでしょう。
個別のリポジトリでデプロイキーを追加して使うこともできます。
パーソナルアクセストークンや個人アカウントのSSHキーは当然その個人のアカウントに紐づいているため、そのアカウントが削除されるとトークンやSSHキーも削除されてしまう点には注意が必要です。
以下では、デプロイキーを使った認証を例に解説します。
デプロイキーを追加する
などで公開鍵と秘密鍵を用意します。
連携する GitHub リポジトリを用意して Setitngs > Deploy keys へ行き、DataForm との接続を認証するための公開鍵を追加します。

DataForm リポジトリ側の変更を GitHub リポジトリに反映させるためには、GitHub リポジトリに対して書き込み権限が必要です。そのため、デプロイキーを追加する際には Allow write access にチェックを入れてください。
Secret Manager を使って用意した秘密鍵をシークレットとして追加します。
次に DataForm で使用するサービスアカウントにシークレットへのアクセス権を付与します。
具体的には、DataForm に使用するサービスアカウントに以下のロールを付与します。
Git リポジトリと接続する
DataForm で使用するサービスアカウントにシークレットへのアクセス権を付与したら、DataForm でリポジトリと接続するための設定を行います。
DataForm リポジトリをコンソールで開き SETTINGS > GIT と接続 を選択します。画面の案内に従って接続プロトコルを HTTPS, SSH から選び、接続する Git リポジトリのURLやデフォルトのブランチ名、シークレットの設定などを行います。
使用するサービスアカウントに正しくシークレットへのアクセス権が付与されていれば接続が成功するはずです。

DataForm とリモートの Git リポジトリ双方での変更を反映することができます。
DataForm リポジトリの開発ワークスペース上で、リモートリポジトリから pull を選択して作業中の DataForm リポジトリのワークスペースにリモートリポジトリの変更を取り込むことができます。
また、ある名前で作成したワークスペースの変更をリモートリポジトリのデフォルトブランチや同じ名前のブランチに push することもできます。

まとめ
DataForm プロジェクトのリポジトリと Git リポジトリを接続する方法について解説しました。
Git リポジトリと連携すれば、DataForm のワークスペースで行った変更を Git リポジトリに反映させたり、逆に Git リポジトリの変更を DataForm に反映させることができます。
参考

備考
Hakky ではエンジニアを募集中です!まずは話してみたいなどでも構いませんので、ぜひお気軽に採用ページからお問い合わせくださいませ。
