Share via


Azure DevOps CLI のサービス エンドポイント

Azure DevOps Services

このコマンドを az devops service-endpoint 使用すると、さまざまな種類のサービス接続を作成および管理できます。 サービス接続を使用すると、Azure DevOps は、Azure、Bitbucket、Kubernetes、Maven、GitHub などの外部サービスと通信できます。 では az devops service-endpoint、次のタスクを実行できます。

  • 構成ファイルを使用してサービス エンドポイントを作成する
  • サービス エンドポイントを更新する
  • GitHub サービス エンドポイント/接続を管理する
  • Azure Resource Manager サービス エンドポイント/接続を管理する
  • プロジェクトに対して定義されているサービス エンドポイントを一覧表示する
  • サービス エンドポイントの詳細を取得します。

コマンドの構文の詳細については、次を参照してください az devops service-endpoint。 サービス エンドポイントの REST API の構文については、「エンドポイント」を参照してください

Azure cli コマンドを使用して、サービス エンドポイントの詳細の取得、一覧表示、削除、更新を行うこともできます。 Azure DevOps CLI へのインデックス作成の例、サービス エンドポイント、またはサービス接続を参照してください

Web ポータルを使用してサービス接続を作成および編集するには、「サービス接続の管理」を参照してください

構成ファイルを使用してサービス エンドポイントを作成する

構成ファイルを使用してサービス エンドポイントを作成するには、まず構成ファイルを定義する必要があります。 構成ファイルの内容は、Azure クラシック、Azure Data エクスプローラー、Bitbucket Cloud、Chef など、接続の種類によって異なります。

構成ファイルの形式

次の構文は、構成ファイルの json 形式を示しています。

{
  "data": {},
  "name": "MyNewServiceEndpoint",
  "type": "Generic",
  "url": "https://myserver",
  "authorization": {
    "parameters": {
      "username": "myusername",
      "password": "mysecretpassword"
    },
    "scheme": "UsernamePassword"
  },
  "isShared": false,
  "isReady": true,
  "serviceEndpointProjectReferences": [
    {
      "projectReference": {
        "id": "c7e5f0b3-71fa-4429-9fb3-3321963a7c06",
        "name": "TestProject"
      },
      "name": "MyNewServiceEndpoint"
    }
  ]
}

次の表では、各パラメーターについて説明します。 このパラメーターは type 、任意の種類のサービス エンドポイントの作成をサポートします。

パラメーター Type Description
name string エンドポイントのフレンドリ名を設定します。
type string エンドポイントの種類を設定します。
url string エンドポイントの URL を設定します。
authorization EndpointAuthorization エンドポイントと通信するための承認データを設定します。
isShared boolean サービス エンドポイントが他のプロジェクトと共有されているかどうかを示します。
isReady boolean EndPoint 状態インジケーター。
serviceEndpointProjectReferences プロジェクト リファレンス サービス エンドポイントのプロジェクト参照を設定します。

サポートされている型とその必要な入力パラメーターの一覧については、次の REST API エントリを実行できます。

https://dev.azure.com/{organization}/_apis/serviceendpoint/types?api-version=6.0-preview.1

また、サービス接続の種類とその他のパラメーターの説明については、サービス接続の管理、一般的なサービス接続の種類に関するページを参照してください

create コマンドを実行します

コマンドを使用してサービス エンドポイントを az devops service-endpoint create 作成します。

az devops service-endpoint create --service-endpoint-configuration 
                                  [--encoding {ascii, utf-16be, utf-16le, utf-8}]
                                  [--org]
                                  [--project]

パラメーター

  • service-endpoint-configuration: 必須。 サービス エンドポイント構成を json 含む構成ファイルの名前。
  • encoding: 省略可能。 入力ファイルのエンコード。 既定値は utf-8 です。 指定できる値: asciiutf-16beutf-16leutf-8
  • org: Azure DevOps 組織の URL。 az devops configure -d organization=ORG_URL を使用して、既定の組織を構成できます。 既定として構成されていない場合は必須。
  • project: プロジェクトの名前または ID。 az devops configure -d project=NAME_OR_ID を使用して、既定のプロジェクトを構成できます。 既定として構成されていない場合は必須。

次のコマンドは、ファイルを参照するサービス接続を ServiceConnectionGeneric.json 作成します。

az devops service-endpoint create --service-endpoint-configuration ./ServiceConnectionGeneric.json

正常に作成されると、 Id サービス エンドポイントに割り当てられ、次の構文のような応答が返されます。

{
  "administratorsGroup": null,
  "authorization": {
    "parameters": {
      "password": null,
      "username": "myusername"
    },
    "scheme": "UsernamePassword"
  },
  "createdBy": {
    "descriptor": "aad.OGYxZTFlODEtMGJiNC03N2ZkLThkYzUtYjE3MTNiNTQ2MjQ4",
    "directoryAlias": null,
    "displayName": "Jamal Hartnett",
    "id": "60c83423-4eb6-4c5e-8395-1e71cb4aef4c",
    "imageUrl": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aad.OGYxZTFlODEtMGJiNC03N2ZkLThkYzUtYjE3MTNiNTQ2MjQ4",
    "inactive": null,
    "isAadIdentity": null,
    "isContainer": null,
    "isDeletedInOrigin": null,
    "profileUrl": null,
    "uniqueName": "fabrikamfiber4@hotmail.com",
    "url": "https://spsprodwcus0.vssps.visualstudio.com/A0214b8cc-a36c-4b93-abbf-6348473c2f0a/_apis/Identities/60c83423-4eb6-4c5e-8395-1e71cb4aef4c"
  },
  "data": {},
  "description": null,
  "groupScopeId": null,
  "id": "3b6890ef-54b3-47ec-a907-a5d2f96237da",
  "isReady": true,
  "isShared": false,
  "name": "MyNewServiceEndpoint",
  "operationStatus": null,
  "owner": "library",
  "readersGroup": null,
  "serviceEndpointProjectReferences": [
    {
      "name": "MyNewServiceEndpoint",
      "projectReference": {
        "id": "677da0fb-b067-4f77-b89b-f32c12bb8617",
        "name": null
      }
    }
  ],
  "type": "Generic",
  "url": "https://myserver"
}

GitHub サービス エンドポイントを作成する

GitHub サービス エンドポイントを作成するには、次のコマンドを az devops service-endpoint github create 使用します。

az devops service-endpoint github create --github-url
                                         --name 
                                         [--org]
                                         [--project]

対話型モードでは、 az devops service-endpoint github create コマンドはプロンプト メッセージを 使用して GitHub PAT トークン を要求し、自動化のために環境変数を使用して GitHub PAT トークンを AZURE_DEVOPS_EXT_GITHUB_PAT 設定します。 詳細については、「個人用アクセス トークン (PAT) を使用したサインイン」を参照してください

Azure Resource Manager サービス エンドポイントを作成する

Azure Resource Manager サービス エンドポイントを作成するには、コマンドを az devops service-endpoint azurerm create 使用します。

az devops service-endpoint azurerm create --azure-rm-service-principal-id
                                          --azure-rm-subscription-id
                                          --azure-rm-subscription-name
                                          --azure-rm-tenant-id
                                          --name
                                          [--azure-rm-service-principal-certificate-path] 
                                          [--org]
                                          [--project]

クライアント シークレット/パスワードを使用する

対話型モードでは、コマンドは az devops service-endpoint azurerm create プロンプト メッセージを使用してサービス プリンシパルのパスワード/シークレットを要求します。 自動化のために、環境変数を使用してサービス プリンシパルのパスワード/シークレットを AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY 設定します。

export AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>
$env:AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY=<your_secret_here>

クライアント証明書を使用する

Microsoft Entra アプリケーションが認証に証明書を使用 する場合は、証明書の .pem ファイルを作成し、引数を使用して .pem ファイルへのパスを --azure-rm-service-principal-certificate-path 渡します。

openssl を使用して a.pem ファイルを作成できます。

openssl pkcs12 -in file.pfx -out file.pem -nodes -password pass:<password_here>