Compartilhar via


Conectar-se ao Azure DevOps a partir do Power Apps

O conector do Power Apps para Azure DevOps permite trabalhar com a instância do Azure DevOps. Você pode exibir consultas do Azure DevOps, selecionar itens de trabalho com base em diferentes tipos de itens de trabalho e exibir ou editar detalhes em um aplicativo de tela que se conecta ao Azure DevOps.

Dica

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

O objetivo deste artigo é orientar você na criação de um aplicativo de tela que possa se conectar com Azure DevOps para reunir uma lista de consultas e interagir com os itens de trabalho no projeto.

Pré-requisitos

Os seguintes requisitos são necessários:

Etapa 1 – Adicionar uma 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.

Conecte-se ao Azure DevOps.

Se você ainda não tiver uma conexão do Azure DevOps, selecione Conectar e siga os prompts para fornecer detalhes e, depois, permita que o aplicativo se conecte.

Etapa 2 – Listar consultas compartilhadas

Nesta seção, usaremos a ação ListQueriesInFolder para o conector Azure DevOps para listar as consultas disponíveis.

  1. No painel esquerdo, selecione Inserir > Layout > Galeria vertical em branco.

  2. Digite a seguinte fórmula para a propriedade Items da galeria, substituindo os valores de parâmetro de exemplo conforme apropriado.

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

Listar consultas na pasta usando a fórmula adicionada à propriedade Items da galeria vertical.

Se o exemplo usar as variáveis "Projeto", "Organização" e "Pasta" e os valores reais estiverem nas caixas de texto abaixo da barra de fórmulas (destacados). Você pode encontrar os valores do Projeto e da Organização na URL usada para se conectar ao Azure Dev Ops. A pasta geralmente será "Consultas Compartilhadas" ou "Minhas Consultas".

Localize o nome do projeto e da organização da sua instância do Azure Dev Ops.

Se você receber o erro a seguir na fórmula acima, habilite o acesso de aplicativos de terceiros usando o OAuth na organização do Azure DevOps e tente novamente.
"Falha em AzureDevOps.ListQueriesInFolder:{"status":401,"mensagem":"TF400813:O 'GUID' do usuário não está autorizado a acessar este recurso."}

  1. Selecione Layout da galeria para Título e subtítulo.

  2. Escolha os campos apropriados para o Azure Dev Ops, como Nome e FolderOptions para o título e os subtítulos.

Campos da galeria para consultas de listagem.

Etapa 3 – Listar itens de trabalho

Usaremos a ação GetQueryResultsV2 para o conector Azure DevOps listar todos os itens de trabalho para a consulta selecionada. Isso associa a galeria à fonte de dados.

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

  2. Digite a seguinte fórmula para a propriedade Items da galeria, substituindo os valores de parâmetro de exemplo conforme apropriado. Substitua os nomes do seu Projeto e Organização conforme apropriado.

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

Obtenha os resultados da consulta da galeria existente com base na consulta selecionada.

Esta fórmula usa a ação GetQueryResultsV2 com o nome do projeto, a ID da consulta e o nome da organização. A ID da consulta neste exemplo (Gallery2.Selected.Id) refere-se à consulta selecionada na lista de consultas disponíveis por meio da galeria adicionada anteriormente. Substitua o nome da galeria conforme apropriado.

O resultado retornado de GetQueryResultsV2 é dinâmico. E os valores também são sem tipo.

Mostre campos de item de trabalho de título, tipo de item de trabalho.

No entanto, você pode acessar alguns dos valores. O Azure Dev Ops retorna um conjunto básico de valores para todos os itens com tipo. Selecione o cartão de dados na galeria e insira dois rótulos de texto. Defina as propriedades de texto dos rótulos da seguinte forma:

    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 da consulta selecionada. Agora podemos adicionar um formulário de edição que usaremos simplesmente para exibir os dados.

  1. Organize as duas galerias na tela para abrir espaço para o formulário de edição que adicionaremos movendo as duas galerias para a esquerda na tela.

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

Adicionar 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 os nomes do seu Projeto e Organização conforme apropriado.

  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 para o item de trabalho selecionado na lista de itens de trabalho.

  3. Selecione Editar campos no painel de propriedades no lado direito da tela.

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

    Adicione um cartão personalizado.

  5. Reorganize o cartão de dados no formulário de edição na parte superior.

    Cartão personalizado movido para a seção superior no formulário de edição.

  6. Mantendo o cartão personalizado selecionado, insira um controle Entrada de texto. Após selecionado, o controle é adicionado ao cartão personalizado.

  7. Aumente o tamanho do controle Entrada de texto.

Controle Entrada de texto no cartão personalizado.

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

Este é o controle de entrada de texto referente ao título do item de trabalho.

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

Dica

Se o projeto do Azure DevOps usar o campo Descrição com HTML ou rich text, você também poderá usar o controle de entrada Editor de rich text em vez do controle Entrada de texto ou controles de rótulo. Usando o controle Editor de rich text neste caso também ajuda a resolver problemas, como a exibição da descrição com código HTML em vez de texto simples ou rich text.

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

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

  2. Reorganize os cartões de dados no formulário de edição para criar espaço onde adicionaremos o ícone salvar.

Adicionando valores de retorno dinâmicos e sem tipo aos seus formulários

Até agora, usamos o Formulário de edição, que simplifica a história de acesso a dados, fornecendo uma propriedade DataSource e Item comum com a qual todos os cartões de dados no formulário podem trabalhar. Se você usar o Formulário de edição, para acessar os valores sem tipo, certifique-se de definir tanto a fonte de dados quanto as propriedades do item da seguinte forma: (Substituindo em seus valores por Organização e Projeto.)

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

Ao passar a propriedade de texto "WorkItemType", por exemplo, "Recurso", permite alternar entre itens como Recursos e Itens de Trabalho. Como o conjunto de campos desses itens é diferente de outros, o tipo de retorno dessa chamada é dinâmico.

Você pode acessar valores específicos usando o método comum Text(ThisItem.Value.'System.Id'). Alternativamente, você pode acessá-los por meio 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 monitoramento e examine a resposta de dados para a chamada GetWorkItemDetails. Consulte a imagem abaixo para obter mais orientações.

Se não estiver utilizando um Formulário de edição, mas um contêiner, você poderá recuperar esses valores usando uma fórmula como a abaixo, que recupera 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)

Controle Entrada de texto que se refere ao título do item de trabalho.

Atualizando valores no Azure DevOps

Para atualizar um valor no Azure DevOps, use UpdateWorkItem no OnSelect 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 você também pode usar uma expressão do PowerFx.

Certifique-se de que a fórmula use letras minúsculas para nomes de campos não personalizados ou integrados. Por exemplo, ao se referir ao campo "Descrição", use description: "This is a new description" em vez de Description:"This is a new description". O uso de maiúsculas e minúsculas incorreto pode resultar no erro "400 Parâmetro obrigatório ausente para a operação solicitada: 'UpdateWorkItem'". Para valores personalizados/dinâmicos, você pode usar a capitalização normal do campo de exibição. Por exemplo, o nome do campo personalizado é apenas o nome de exibição 'Campo personalizado 1'. Esta convenção de nomenclatura dos valores de retorno é específica para o Azure DevOps e pode diferir de outros serviços.

Próximas etapas

Reproduza o aplicativo. Selecione uma consulta na lista de consultas. Depois, escolha um item de trabalho cujo título ou descrição você deseja atualizar. Faça uma alteração e, em seguida, selecione o botão salvar. As alterações são salvas no item de trabalho do Azure DevOps. Mude para outra consulta e volte para ver as alterações mostradas no aplicativo.

Da mesma forma, personalize ainda mais o aplicativo ou crie um aplicativo com cartões de dados adicionais em formulários. Você também pode usar o formulário de exibição em vez do formulário de edição para mostrar apenas os dados em diferentes cartões de dados. Ao usar o formulário de exibição, utilize o controle Rótulo do texto para exibir texto. Ao usar o formato rich text ou HTML (como o campo Descrição em Azure DevOps), use o controle Texto HTML. Para obter mais informações sobre como personalizar esse aplicativo, consulte controles, galeria, formulários e cartões.

Confira também

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

Observação

Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)

A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).