Partilhar via


Conectar-se ao Azure DevOps a partir do Power Apps

O conector do Power Apps para Azure DevOps permite que você trabalhe com sua instância do Azure DevOps. Exiba consultas do Azure DevOps, selecione itens de trabalho por tipo e exiba ou edite detalhes, tudo de dentro de um aplicativo de tela conectado ao Azure DevOps.

Sugestão

Para obter uma lista completa de todas as ações, consulte Ações do conector do Azure DevOps.

Este artigo orienta você na criação de um aplicativo de tela que se conecta ao Azure DevOps para obter uma lista de consultas e interagir com itens de trabalho em seu projeto.

Pré-requisitos

Você precisa do seguinte:

Etapa 1 - Adicionar fonte de dados do Azure DevOps

Para se conectar ao Azure DevOps, edite o aplicativo de tela em branco e adicione a fonte de dados do Azure DevOps .

Captura de tela da conexão com o Azure DevOps no painel de seleção da fonte de dados.

Se você não tiver uma conexão de DevOps do Azure, selecione Conectar, siga as instruções para inserir seus detalhes e permita que o aplicativo se conecte.

Etapa 2 - Listar consultas compartilhadas

Nesta seção, você usa a ação ListQueriesInFolder para o conector do Azure DevOps para listar as consultas disponíveis.

  1. No painel esquerdo, selecione Inserir>galeria vertical em branco dolayout>.

  2. Insira a seguinte fórmula para a propriedade Items da galeria. Substitua os valores de parâmetro de exemplo por seus próprios valores.

    AzureDevOps.ListQueriesInFolder("Project", "Organization", "Folder").value
    

Captura de ecrã de consultas de lista na pasta utilizando a fórmula adicionada à propriedade Items da galeria vertical.

O exemplo usa as variáveis "Project", "Organization" e "Folder". Os valores reais estão nas caixas de texto abaixo da barra de fórmulas (realçada). Você encontra seus valores de Projeto e Organização na URL usada para se conectar ao Azure DevOps. A pasta é geralmente "Consultas compartilhadas" ou "Minhas consultas".

Captura de ecrã a mostrar a localização do nome do projeto e da organização para a sua instância do Azure DevOps.

Se você receber o seguinte erro na fórmula acima, habilite o acesso a aplicativos de terceiros usando OAuth em sua organização do Azure DevOps e tente novamente.

"AzureDevOps.ListQueriesInFolder failed:{"status":401,"message":"TF400813:O usuário 'GUID' não está autorizado a acessar este recurso."}"

  1. Defina o Layout da galeria como Título e subtítulo.

  2. Escolha os campos apropriados para o Azure DevOps como Name e FolderOptions para o título e as legendas.

Captura de ecrã dos campos da galeria para consultas de listagem.

Etapa 3 - Listar itens de trabalho

Use a ação GetQueryResultsV2 para o conector do Azure DevOps para listar todos os itens de trabalho para a consulta selecionada. Esta ação vincula a galeria à fonte de dados.

  1. Insira outra galeria vertical em branco e coloque-a ao lado da galeria existente.

  2. Insira a seguinte fórmula para a propriedade Items da galeria. Substitua os valores de parâmetro de exemplo pelos nomes do projeto e da organização.

    AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id), "Organization").value
    

Captura de ecrã de obter resultados de consulta da galeria existente com base na consulta selecionada.

Esta fórmula utiliza a ação GetQueryResultsV2 com o nome do projeto, o ID da consulta e o nome da organização. O ID da consulta neste exemplo (Gallery2.Selected.Id) refere-se à consulta selecionada na lista de consultas disponíveis através da galeria adicionada anteriormente. Substitua o nome da galeria conforme necessário.

O resultado de GetQueryResultsV2 é dinâmico, portanto, os valores também são dinâmicos.

Captura de tela dos campos de item de trabalho de título, tipo de item de trabalho.

Mas você pode acessar alguns dos valores. O Azure DevOps retorna um conjunto básico de valores para todos os itens digitados. Selecione o cartão de dados na galeria e insira dois rótulos de texto. Defina a propriedade text dos rótulos da seguinte maneira:

ThisItem.Value.'System.WorkItemType'
ThisItem.Value.'System.Title'

Etapa 4 - Exibir itens de trabalho

O aplicativo mostra uma lista de todas as consultas e a lista de itens de trabalho para a consulta selecionada. Agora, adicione um formulário de edição para exibir dados.

  1. Mova ambas as galerias para o lado esquerdo da tela para abrir espaço para o formulário de edição.

  2. Adicione Editar formulário à tela e mova-o para o lado direito das galerias.

Captura de ecrã a mostrar a adição de um formulário de edição.

  1. Defina a propriedade DataSource do formulário de edição como AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value. Substitua "Projeto" e "Organização" pelos nomes do seu projeto e organização.

  2. Defina a propriedade Item do formulário de edição como Gallery2.Selected.

Esta fórmula define a propriedade Item do formulário de edição como o item de trabalho selecionado.

  1. Selecione ... (reticências) >Adicionar um cartão personalizado.

Captura de ecrã a mostrar a adição de um cartão personalizado no formulário de edição.

  1. Mova o cartão de dados para a parte superior do formulário de edição.

Captura de ecrã de um cartão personalizado movido para a secção superior dentro do formulário de edição.

  1. Aumente o tamanho do controle de entrada de texto.

Captura de tela de um controle de entrada de texto dentro de um cartão personalizado.

  1. Defina a propriedade Default do controle de entrada de texto como Text(ThisItem.Value.'System.Title'). A função Text retorna o valor como texto.

Captura de tela de um controle de entrada de texto referente ao título do item de trabalho.

Esta fórmula define o texto padrão dentro do controle de entrada de texto para o campo Título do item de trabalho DevOps do Azure selecionado.

Sugestão

Se seu projeto do Azure DevOps usar o campo Descrição com HTML ou rich text, use o controle de entrada do editor de rich text em vez dos controles de entrada de texto ou rótulo. O controle de editor de rich text ajuda a exibir a descrição como rich text em vez de código HTML.

  1. Repita as etapas anteriores para adicionar outro cartão personalizado, com um controle de entrada de texto dentro com a propriedade Default definida como Text(ThisItem.Value.'System.State').

Esta fórmula define o texto padrão dentro do controle de entrada de texto para o campo Estado do item de trabalho DevOps do Azure selecionado.

  1. Reorganize os cartões de dados dentro do formulário de edição para criar espaço para o ícone Salvar.

Adicionar valores de retorno dinâmico aos seus formulários

Até agora, você usa o formulário Editar, que simplifica o acesso aos dados fornecendo uma propriedade DataSource e Item comum para todos os cartões de dados no formulário. Para acessar valores dinâmicos , defina a fonte de dados e as propriedades do item da seguinte forma (substitua Organização e Projeto por seus valores):

AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType')

Ao passar a propriedade text "WorkItemType", como "Feature", você pode alternar entre itens como Features e Work Items. Como o conjunto de campos para esses itens é diferente, o tipo de retorno dessa chamada é dinâmico.

Acesse valores específicos usando o método comum Text(ThisItem.Value.'System. Id'). Como alternativa, acesse-os através da resposta dinâmica mais geral usando Text(ThisItem.fields.System_Id). Esses nomes de valores dinâmicos normalmente não são documentados. Para encontrar os nomes corretos para esses campos, incluindo campos não padrão, abra a ferramenta de monitor e examine a resposta de dados para a chamada GetWorkItemDetails. Veja a imagem abaixo para orientação.

Se você não estiver usando um formulário Editar, mas estiver usando um contêiner, recupere esses valores com uma fórmula como a abaixo, que obtém informações de um campo de equipe personalizado.

Text(AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType').fields.One_custom_CustomField1)

Captura de tela da ferramenta de monitor mostrando detalhes do item de trabalho.

Atualizando valores no Azure DevOps

Para atualizar um valor no Azure DevOps, use a UpdateWorkItem função na OnSelect propriedade de um botão.

AzureDevOps.UpdateWorkItem(
    Gallery2.Selected.Value.'System.Id',
    Organization,
    {
        description: "This is a new description",
        dynamicFields: ParseJSON(JSON({'Custom Field 1': "This is new custom text" }))
    }
)

A fórmula adiciona um novo texto de exemplo, mas também pode utilizar uma expressão Power Fx.

Certifique-se de que a fórmula utiliza minúsculas para nomes de campos incorporados. Por exemplo, quando você se refere ao campo Descrição, use description: "This is a new description" em vez de Description: "This is a new description". Invólucro incorreto pode resultar no erro "400 parâmetro necessário ausente para a operação solicitada: 'UpdateWorkItem'". Para valores personalizados ou dinâmicos, use o nome para exibição conforme mostrado na interface do usuário, como 'Campo personalizado 1'. Esta convenção de nomenclatura é específica do Azure DevOps e pode diferir de outros serviços.

Próximos passos

Execute o aplicativo. Selecione uma consulta na lista de consultas. Em seguida, escolha um item de trabalho do qual deseja atualizar o título ou a descrição. Faça uma alteração e selecione o botão Salvar. O aplicativo salva suas alterações no item de trabalho do Azure DevOps. Mude para outra consulta e, em seguida, volte para ver as alterações na aplicação.

Você também pode personalizar ainda mais o aplicativo ou criar um aplicativo com mais cartões de dados em formulários. Use um formulário de exibição em vez de um formulário de edição para mostrar dados em cartões de dados diferentes. Quando você usa um formulário de exibição, use o controle de rótulo de texto para mostrar texto. Quando você usa rich text ou formato HTML (como o campo Descrição no Azure DevOps), use o controle de texto HTML . Para obter mais informações sobre como personalizar o aplicativo, consulte controles, galeria, formulários e cartões.

Consulte também

Trabalhando com fontes de dados de esquema dinâmico no Power Apps (experimental)