Ponto de extremidade de serviço da CLI do Azure DevOps

Azure DevOps Services

Com o az devops service-endpoint comando, você pode criar e gerenciar diferentes tipos de conexões de serviço. Uma conexão de serviço permite que o Azure DevOps se comunique com um serviço externo, como Azure, Bitbucket, Kubernetes, Maven, GitHub e muito mais. Com az devops service-endpointo , você pode executar as seguintes tarefas:

  • Criar um ponto de extremidade de serviço usando um arquivo de configuração
  • Atualizar um ponto de extremidade de serviço
  • Gerenciar pontos de extremidade/conexões de serviço do GitHub
  • Gerenciar pontos de extremidade/conexões de serviço do Gerenciador de Recursos do Azure
  • Listar pontos de extremidade de serviço definidos para um projeto
  • Obtenha os detalhes de um ponto de extremidade de serviço.

Para obter a sintaxe detalhada do comando, consulte az devops service-endpoint. Para obter a sintaxe da API REST para pontos de extremidade de serviço, consulte Pontos de extremidade.

Você também pode usar comandos azure cli para obter detalhes, listar, excluir e atualizar um ponto de extremidade de serviço. Consulte Index to Azure DevOps CLI examples, Service endpoints or service connections.

Para usar o portal da Web para criar e editar conexões de serviço, consulte Gerenciar conexões de serviço.

Criar ponto de extremidade de serviço usando um arquivo de configuração

Para criar um ponto de extremidade de serviço usando um arquivo de configuração, você deve primeiro definir o arquivo de configuração. O conteúdo do arquivo de configuração difere dependendo do tipo de conexão, como Azure Classic, Azure Data Explorer, Bitbucket Cloud, Chef e muito mais.

Formato de arquivo de configuração

A sintaxe a seguir mostra o json formato do arquivo de configuração.

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

A tabela a seguir descreve cada parâmetro. O type parâmetro oferece suporte à criação de qualquer tipo de ponto de extremidade de serviço.

Parâmetro Tipo Descrição
name string Define o nome amigável do ponto de extremidade.
type string Define o tipo do ponto de extremidade.
url string Define a URL do ponto de extremidade.
authorization EndpointAuthorization Define os dados de autorização para conversar com o ponto de extremidade.
isShared boolean Indica se o ponto de extremidade de serviço é compartilhado com outros projetos ou não.
isReady boolean Indicador de estado EndPoint.
serviceEndpointProjectReferences Referência do Projeto Define a referência do projeto do ponto de extremidade do serviço.

Para obter uma lista de tipos suportados e seus parâmetros de entrada necessários, você pode exercer a seguinte entrada da API REST:

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

Além disso, para obter uma descrição dos tipos de conexão de serviço e outros parâmetros que eles podem exigir, consulte Gerenciar conexões de serviço, Tipos de conexão de serviço comuns.

Execute o comando create

Criar um ponto de extremidade de serviço com o az devops service-endpoint create comando.

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

Parâmetros

  • service-endpoint-configuration: Obrigatório. Nome do arquivo de configuração com a json configuração do ponto de extremidade de serviço.
  • codificação: Opcional. Codificação do arquivo de entrada. O padrão é utf-8. Valores aceitos: ascii, utf-16be, utf-16le, utf-8.
  • org: a URL da organização do Azure DevOps. Você pode configurar a organização padrão usando az devops configure -d organization=ORG_URL. Obrigatório se não estiver configurado como padrão.
  • project: nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=NAME_OR_ID. Obrigatório se não estiver configurado como padrão.

Exemplo

O comando a seguir cria uma conexão de serviço fazendo referência ao ServiceConnectionGeneric.json arquivo.

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

Após a criação bem-sucedida, um Id é atribuído ao ponto de extremidade de serviço e uma resposta semelhante à sintaxe a seguir é retornada.

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

Criar um ponto de extremidade de serviço do GitHub

Para criar um ponto de extremidade de serviço do GitHub, use o az devops service-endpoint github create comando:

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

No modo interativo, o comando solicita um token PAT do GitHub usando uma mensagem de prompt, para fins de automação defina o az devops service-endpoint github create token PAT do GitHub usando a AZURE_DEVOPS_EXT_GITHUB_PAT variável de ambiente. Para obter mais informações, consulte Entrar com um token de acesso pessoal (PAT).

Criar um ponto de extremidade de serviço do Gerenciador de Recursos do Azure

Para criar um ponto de extremidade de serviço do Gerenciador de Recursos do Azure, use o az devops service-endpoint azurerm create comando.

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]

Usar um segredo/senha do cliente

No modo interativo, o az devops service-endpoint azurerm create comando solicita uma senha/segredo da entidade de serviço usando uma mensagem de prompt. Para fins de automação, defina a senha/segredo da entidade de serviço usando a AZURE_DEVOPS_EXT_AZURE_RM_SERVICE_PRINCIPAL_KEY variável de ambiente.

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

Usar um certificado de cliente

Se o aplicativo Microsoft Entra usar certificado para autenticação, crie um arquivo .pem para o certificado e passe o caminho para o arquivo .pem usando o --azure-rm-service-principal-certificate-path argumento.

Você pode criar um arquivo .pem usando openssl:

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