Punkt końcowy usługi interfejsu wiersza polecenia usługi Azure DevOps

Azure DevOps Services

az devops service-endpoint Za pomocą polecenia można tworzyć różne typy połączeń usług i zarządzać nimi. Połączenie z usługą umożliwia usłudze Azure DevOps komunikowanie się z usługą zewnętrzną, taką jak Azure, Bitbucket, Kubernetes, Maven, GitHub i inne. Za pomocą az devops service-endpointprogramu można wykonywać następujące zadania:

  • Tworzenie punktu końcowego usługi przy użyciu pliku konfiguracji
  • Aktualizowanie punktu końcowego usługi
  • Zarządzanie punktami końcowymi/połączeniami usługi GitHub
  • Zarządzanie punktami końcowymi/połączeniami usługi Azure Resource Manager
  • Wyświetlanie listy punktów końcowych usługi zdefiniowanych dla projektu
  • Uzyskaj szczegółowe informacje o punkcie końcowym usługi.

Aby uzyskać szczegółową składnię polecenia, zobacz az devops service-endpoint. Aby uzyskać składnię interfejsu API REST dla punktów końcowych usługi, zobacz Punkty końcowe.

Możesz również użyć poleceń interfejsu wiersza polecenia platformy Azure, aby uzyskać szczegółowe informacje, listę, usunąć i zaktualizować punkt końcowy usługi. Zobacz Przykłady interfejsu wiersza polecenia usługi Index to Azure DevOps, punkty końcowe usługi lub połączenia usługi.

Aby użyć portalu internetowego do tworzenia i edytowania połączeń usług, zobacz Zarządzanie połączeniami usług.

Tworzenie punktu końcowego usługi przy użyciu pliku konfiguracji

Aby utworzyć punkt końcowy usługi przy użyciu pliku konfiguracji, należy najpierw zdefiniować plik konfiguracji. Zawartość pliku konfiguracji różni się w zależności od typu połączenia, takiego jak Azure Classic, Azure Data Explorer, Bitbucket Cloud, Chef i nie tylko.

Format pliku konfiguracji

Poniższa składnia json przedstawia format pliku konfiguracji.

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

W poniższej tabeli opisano każdy parametr. Parametr type obsługuje tworzenie dowolnego typu punktu końcowego usługi.

Parametr Type opis
name string Ustawia przyjazną nazwę punktu końcowego.
type string Ustawia typ punktu końcowego.
url string Ustawia adres URL punktu końcowego.
authorization EndpointAuthorization (Autoryzacja punktu końcowego) Ustawia dane autoryzacji do rozmowy z punktem końcowym.
isShared boolean Wskazuje, czy punkt końcowy usługi jest udostępniany innym projektom, czy nie.
isReady boolean Wskaźnik stanu punktu końcowego.
serviceEndpointProjectReferences Dokumentacja projektu Ustawia odwołanie do projektu punktu końcowego usługi.

Aby uzyskać listę obsługiwanych typów i ich wymaganych parametrów wejściowych, możesz wykonać następujący wpis interfejsu API REST:

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

Ponadto, aby uzyskać opis typów połączeń usługi i innych parametrów, których mogą wymagać, zobacz Zarządzanie połączeniami usług, Typowe typy połączeń usług.

Uruchamianie polecenia create

Punkt końcowy usługi można utworzyć za az devops service-endpoint create pomocą polecenia .

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

Parametry

  • service-endpoint-configuration: wymagane. json Nazwa pliku konfiguracji z konfiguracją punktu końcowego usługi.
  • kodowanie: opcjonalne. Kodowanie pliku wejściowego. Wartość domyślna to utf-8. Zaakceptowane wartości: ascii, , utf-16beutf-16le, utf-8.
  • org: Adres URL organizacji usługi Azure DevOps. Domyślną organizację można skonfigurować przy użyciu polecenia az devops configure -d organization=ORG_URL. Wymagane, jeśli nie skonfigurowano jako domyślne.
  • projekt: nazwa lub identyfikator projektu. Projekt domyślny można skonfigurować przy użyciu polecenia az devops configure -d project=NAME_OR_ID. Wymagane, jeśli nie skonfigurowano jako domyślne.

Przykład

Następujące polecenie tworzy połączenie usługi odwołujące się ServiceConnectionGeneric.json do pliku.

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

Po pomyślnym utworzeniu obiekt Id jest przypisywany do punktu końcowego usługi i zwracana jest odpowiedź podobna do poniższej składni.

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

Tworzenie punktu końcowego usługi GitHub

Aby utworzyć punkt końcowy usługi GitHub, użyj az devops service-endpoint github create polecenia :

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

W trybie az devops service-endpoint github create interaktywnym polecenie prosi o token PAT usługi GitHub przy użyciu komunikatu monitu, aby w celu automatyzacji ustawić token PAT usługi GitHub przy użyciu zmiennej środowiskowej AZURE_DEVOPS_EXT_GITHUB_PAT . Aby uzyskać więcej informacji, zobacz Logowanie się przy użyciu osobistego tokenu dostępu (PAT).

Tworzenie punktu końcowego usługi Azure Resource Manager

Aby utworzyć punkt końcowy usługi Azure Resource Manager, użyj az devops service-endpoint azurerm create polecenia .

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]

Używanie wpisu tajnego/hasła klienta

W trybie az devops service-endpoint azurerm create interaktywnym polecenie pyta o hasło/wpis tajny jednostki usługi przy użyciu komunikatu monitu. W celach automatyzacji ustaw hasło/wpis tajny jednostki usługi przy użyciu zmiennej środowiskowej 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>

Używanie certyfikatu klienta

Jeśli aplikacja Microsoft Entra używa certyfikatu do uwierzytelniania, utwórz plik pem dla certyfikatu i przekaż ścieżkę do pliku pem przy użyciu argumentu --azure-rm-service-principal-certificate-path .

Plik a.pem można utworzyć przy użyciu pliku openssl:

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