Koncový bod služby Azure DevOps CLI

Služby Azure DevOps

az devops service-endpoint Pomocí příkazu můžete vytvářet a spravovat různé typy připojení služeb. Připojení služby umožňuje Azure DevOps komunikovat s externí službou, jako je Azure, Bitbucket, Kubernetes, Maven, GitHub a další. Pomocí az devops service-endpointpříkazu můžete provádět následující úlohy:

  • Vytvoření koncového bodu služby pomocí konfiguračního souboru
  • Aktualizace koncového bodu služby
  • Správa koncových bodů nebo připojení služby GitHub
  • Správa koncových bodů nebo připojení služby Azure Resource Manager
  • Výpis koncových bodů služby definovaných pro projekt
  • Získejte podrobnosti o koncovém bodu služby.

Podrobnou syntaxi příkazu naleznete v tématu az devops service-endpoint. Syntaxi rozhraní REST API pro koncové body služby najdete v tématu Koncové body.

Pomocí příkazů Azure CLI můžete také získat podrobnosti, výpis, odstranění a aktualizaci koncového bodu služby. Viz příklady rozhraní příkazového řádku Azure DevOps, koncové body služby nebo připojení služeb.

Pokud chcete použít webový portál k vytváření a úpravám připojení služeb, přečtěte si téma Správa připojení služeb.

Vytvoření koncového bodu služby pomocí konfiguračního souboru

Pokud chcete vytvořit koncový bod služby pomocí konfiguračního souboru, musíte nejprve definovat konfigurační soubor. Obsah konfiguračního souboru se liší v závislosti na typu připojení, jako je Azure Classic, Azure Data Explorer, Bitbucket Cloud, Chef a další.

Formát konfiguračního souboru

Následující syntaxe ukazuje json formát konfiguračního souboru.

{
  "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"
    }
  ]
}

Následující tabulka popisuje jednotlivé parametry. Parametr type podporuje vytvoření libovolného typu koncového bodu služby.

Parametr Typ Description
name string Nastaví popisný název koncového bodu.
type string Nastaví typ koncového bodu.
url string Nastaví adresu URL koncového bodu.
authorization EndpointAuthorization Nastaví autorizační data pro komunikaci s koncovým bodem.
isShared boolean Určuje, jestli se koncový bod služby sdílí s jinými projekty, nebo ne.
isReady boolean Ukazatel stavu koncového bodu
serviceEndpointProjectReferences Referenční dokumentace k projektu Nastaví odkaz na projekt koncového bodu služby.

Seznam podporovaných typů a jejich požadovaných vstupních parametrů najdete v následující položce rozhraní REST API:

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

Popis typů připojení služby a dalších parametrů, které mohou vyžadovat, najdete v tématu Správa připojení služeb, typy připojení služby Common Service.

Spuštění příkazu create

Pomocí příkazu vytvoříte koncový bod az devops service-endpoint create služby.

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

Parametry

  • konfigurace koncového bodu služby: Povinné. Název konfiguračního souboru s konfigurací koncového json bodu služby
  • kódování: Volitelné. Kódování vstupního souboru Výchozí hodnota je utf-8. Přijaté hodnoty: ascii, utf-16be, utf-16leutf-8.
  • org: Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=ORG_URL Vyžaduje se, pokud není nakonfigurované jako výchozí.
  • projekt: Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=NAME_OR_ID. Vyžaduje se, pokud není nakonfigurované jako výchozí.

Příklad

Následující příkaz vytvoří připojení služby odkazující na ServiceConnectionGeneric.json soubor.

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

Po úspěšném vytvoření Id se koncový bod služby přiřadí a vrátí se odpověď podobná následující syntaxi.

{
  "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"
}

Vytvoření koncového bodu služby GitHub

K vytvoření koncového bodu služby GitHub použijte az devops service-endpoint github create příkaz:

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

V interaktivním režimu příkaz az devops service-endpoint github create požádá o token PAT GitHubu pomocí výzvy, aby pro účely automatizace nastavil token PAT GitHubu AZURE_DEVOPS_EXT_GITHUB_PAT pomocí proměnné prostředí. Další informace najdete v tématu Přihlášení pomocí tokenu PAT (Personal Access Token).

Vytvoření koncového bodu služby Azure Resource Manager

K vytvoření koncového bodu služby Azure Resource Manager použijte az devops service-endpoint azurerm create příkaz.

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]

Použití tajného klíče klienta nebo hesla

V interaktivním režimu příkaz az devops service-endpoint azurerm create požádá o heslo nebo tajný kód instančního objektu pomocí výzvy. Pro účely automatizace nastavte heslo nebo tajný klíč instančního objektu AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY pomocí proměnné prostředí.

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

Použití klientského certifikátu

Pokud aplikace Microsoft Entra používá certifikát pro ověřování, vytvořte pro certifikát soubor .pem a předejte cestu k souboru .pem pomocí argumentu --azure-rm-service-principal-certificate-path .

Soubor .pem můžete vytvořit pomocí openssl:

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