ConnectToGit API とDisconnectFromGit API を使用して、Microsoft Dataverse 環境を Git ソース管理とプログラムで統合します。 これらの API を使用すると、個々のソリューションまたは環境全体を Azure DevOps でホストされている Git リポジトリに接続し、コードを使用してそれらの接続を管理できます。
Important
現在、Azure DevOps はサポートされている唯一の Git プロバイダーです。
前提条件
これらの API を使用する前に、次のことを確認してください。
- Microsoft Dataverse 環境へのアクセス
- システム管理者のアクセス許可
- Git リポジトリへの読み取りと書き込みアクセス
ConnectToGit API
Dataverse ソリューションまたは環境と Git リポジトリの間の接続を作成します。 この接続を使用すると、Dataverse コンポーネントのソース管理を管理できます。
パラメーター
ConnectToGit API は、次のパラメーターを受け入れます。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
GitFolder |
糸 | はい | ソリューションまたは環境をバインドするフォルダーの名前。 |
Branch |
糸 | はい | 接続先のブランチの名前。 |
ConnectionType |
整数 | いいえ | 接続先を指定します。 ConnectionType パラメーターを参照してください。 |
GitProvider |
整数 | いいえ | Git プロバイダー。 GitProvider パラメーターを参照してください。 |
Organization |
糸 | いいえ | 接続する組織の名前。 |
Project |
糸 | いいえ | 接続するプロジェクトの名前。 |
Repository |
糸 | いいえ | 接続先のリポジトリの名前。 |
RootFolder |
糸 | いいえ | すべてのソリューションがソリューション スコープ内に存在するルート フォルダーの名前。 |
SolutionUniqueName |
糸 | いいえ | Git に接続するソリューションの一意の名前。 |
UpstreamBranch |
糸 | いいえ | 接続先のアップストリーム ブランチの名前。 既定値はリポジトリの既定のブランチです。 |
ConnectionType パラメーター
ConnectionType パラメーターは、Dataverse 環境全体に接続するか、特定のソリューションに接続するかを制御します。
| 価値 | ラベル | 説明 |
|---|---|---|
| 0 | ソリューション | 特定の Dataverse ソリューションを Git に接続します。 |
| 1 | 環境 | Dataverse 環境全体を Git に接続します。 |
GitProvider パラメーター
GitProvider パラメーターを使用して、使用している Git プロバイダーの種類 (Azure DevOps または GitHub) を指定します。
| 価値 | ラベル | 説明 |
|---|---|---|
| 0 | Azure DevOps | Azure DevOps でホストされているリポジトリに使用する |
| 1 | GitHub | GitHub でホストされているリポジトリに使用する |
DisconnectFromGit API
Dataverse ソリューションまたは環境から Git 接続を削除し、ソース管理の統合を無効にします。
パラメーター
DisconnectFromGit API にはパラメーターが 1 つだけ含まれています。
| パラメーター | タイプ | 必須 | 説明 |
|---|---|---|---|
SolutionUniqueName |
糸 | いいえ | Git から切断するソリューションの一意の名前。 すべてのソリューションまたは環境の接続を解除しないようにするために省略します。 |
追加情報
DisconnectFromGitを呼び出すときに指定するパラメーター値のオプションをいくつか次に示します。
-
1 つのソリューションを切断する: 特定のソリューションを切断するための
SolutionUniqueNameを提供します。 - すべてのソリューションを切断する: すべてのソリューション レベルの接続を切断するためのパラメーターを指定しません。
- 環境の切断: 環境レベルの接続を切断するためのパラメーターを指定しません。
例示
次の例では、 ConnectToGit API と DisconnectFromGit API を使用するシナリオについて説明します。
- Dataverse 環境全体を Azure DevOps リポジトリに接続する
- Dataverse 環境全体を Git ソース管理から切断する
- 最初のソリューションを Git リポジトリに接続する
- 初期ソリューションを接続した後、追加のソリューションを同じ Git リポジトリに接続する
- 他のソリューションを接続したまま、特定のソリューションを Git ソース管理から切断する
Dataverse 環境全体を Azure DevOps リポジトリに接続する
この接続により、すべての環境レベルの構成とコンポーネントのソース管理が可能になります。
この接続では、次のパラメーターを使用しないでください。
RootFolderSolutionUniqueNameUpstreamBranch
この例では、 ConnectToGit アクション を使用して Dataverse 環境全体を Azure DevOps リポジトリに接続する方法を示します。
依頼
POST [Organization URI]/api/data/v9.2/ConnectToGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"GitFolder": "yourGitfolderName",
"Branch": "yourBranchName",
"ConnectionType": 1,
"GitProvider": 0,
"Organization": "yourOrganizationName",
"Project": "yourProjectName",
"Repository": "yourRepositoryName"
}
応答
HTTP/1.1 204 No Content
OData-Version: 4.0
Dataverse 環境全体を Git ソース管理から切断する
このアクションにより、環境レベルの Git 接続が削除されます。 この操作には SolutionUniqueName パラメーターを使用しないでください。 Dataverse は、環境レベルの Git 接続を自動的に識別して削除します。
この例では、 DisconnectFromGit アクション を使用して、Dataverse 環境全体を Git ソース管理から切断する方法を示します。
依頼
POST [Organization URI]/api/data/v9.2/DisconnectFromGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
応答
HTTP/1.1 204 No Content
OData-Version: 4.0
最初のソリューションを Git リポジトリに接続する
この接続により、ソリューション レベルのソース管理のリポジトリ リンクとフォルダー構造が、環境内の最初のソリューションに確立されます。
ソリューションを指定するには、これらのパラメーターの値を含める必要があります。
RootFolderSolutionUniqueName
この例では、 ConnectToGit アクション を使用して、最初のソリューションを Git リポジトリに接続する方法を示します。
依頼
POST [Organization URI]/api/data/v9.2/ConnectToGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"GitFolder": "yourGitfolderName",
"Branch": "yourBranchName",
"ConnectionType": 1,
"GitProvider": 0,
"Organization": "yourOrganizationName",
"Project": "yourProjectName",
"Repository": "yourRepositoryName",
"RootFolder": "yourRootFolderName",
"SolutionUniqueName": "yourSolutionUniqueName"
}
応答
HTTP/1.1 204 No Content
OData-Version: 4.0
初期ソリューションを接続した後、追加のソリューションを同じ Git リポジトリに接続する
最初のソリューションを接続した後は、ソリューション固有のパラメーターのみが必要になります。 最初の接続からリポジトリ接続の詳細を継承します。
次のパラメーターのみを設定します。
SolutionUniqueNameBranchGitFolder
Important
これが機能する前に、最初のソリューションを最初に接続する必要があります。 最初のソリューションを Git リポジトリに接続するを参照してください。
この例では、 ConnectToGit アクション を使用して後続のソリューションを Git リポジトリに接続する方法を示します。
依頼
POST [Organization URI]/api/data/v9.2/ConnectToGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"GitFolder": "yourGitfolderName",
"Branch": "yourBranchName",
"SolutionUniqueName": "yourSolutionUniqueName"
}
応答
HTTP/1.1 204 No Content
OData-Version: 4.0
他のソリューションを接続したまま、特定のソリューションを Git ソース管理から切断する
このアプローチを使用して、他のソリューションに影響を与えずに 1 つのソリューションのソース管理を削除します。
この例では、 DisconnectFromGit アクション を使用して、他のソリューションに影響を与えずに 1 つのソリューションのソース管理を削除する方法を示します。
依頼
POST [Organization URI]/api/data/v9.2/DisconnectFromGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"SolutionUniqueName": "yourSolutionUniqueName"
}
応答
HTTP/1.1 204 No Content
OData-Version: 4.0
エラー処理
正常に完了したときに、 ConnectToGit と DisconnectFromGit API のどちらも値を返しません。 API が失敗すると、エラーが返されます。
一般的なエラーのシナリオは次のとおりです。
- 無効な資格情報: Git プロバイダーに対する有効な認証があることを確認します。
- リポジトリが見つかりません: 組織、プロジェクト、リポジトリの名前を確認します。
- アクセス許可が拒否されました: Dataverse アカウントにソース管理の管理アクセス許可があることを確認します。
-
解決策が見つかりません:
SolutionUniqueNameが環境内に存在するかどうかを確認します。 - ブランチが存在しない: 指定したブランチがリポジトリに存在するかどうかを確認します。
サポートとその他のリソース
Dataverse とのソース管理の統合の詳細については、以下を参照してください。