次の方法で共有


コードを使用して Dataverse を Git リポジトリに接続して切断する

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 リポジトリに接続する

この接続により、すべての環境レベルの構成とコンポーネントのソース管理が可能になります。

この接続では、次のパラメーターを使用しないでください。

  • RootFolder
  • SolutionUniqueName
  • UpstreamBranch

この例では、 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

Web API アクションを呼び出す方法について説明します

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

Web API アクションを呼び出す方法について説明します

最初のソリューションを Git リポジトリに接続する

この接続により、ソリューション レベルのソース管理のリポジトリ リンクとフォルダー構造が、環境内の最初のソリューションに確立されます。

ソリューションを指定するには、これらのパラメーターの値を含める必要があります。

  • RootFolder
  • SolutionUniqueName

この例では、 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

Web API アクションを呼び出す方法について説明します

初期ソリューションを接続した後、追加のソリューションを同じ Git リポジトリに接続する

最初のソリューションを接続した後は、ソリューション固有のパラメーターのみが必要になります。 最初の接続からリポジトリ接続の詳細を継承します。

次のパラメーターのみを設定します。

  • SolutionUniqueName
  • Branch
  • GitFolder

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

Web API アクションを呼び出す方法について説明します

他のソリューションを接続したまま、特定のソリューションを 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

Web API アクションを呼び出す方法について説明します

エラー処理

正常に完了したときに、 ConnectToGitDisconnectFromGit API のどちらも値を返しません。 API が失敗すると、エラーが返されます。

一般的なエラーのシナリオは次のとおりです。

  • 無効な資格情報: Git プロバイダーに対する有効な認証があることを確認します。
  • リポジトリが見つかりません: 組織、プロジェクト、リポジトリの名前を確認します。
  • アクセス許可が拒否されました: Dataverse アカウントにソース管理の管理アクセス許可があることを確認します。
  • 解決策が見つかりません: SolutionUniqueName が環境内に存在するかどうかを確認します。
  • ブランチが存在しない: 指定したブランチがリポジトリに存在するかどうかを確認します。

サポートとその他のリソース

Dataverse とのソース管理の統合の詳細については、以下を参照してください。