Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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:
- Uma licença do Power Apps. Se você não tiver uma, use uma avaliação de 30 dias ou inscreva-se em um plano de desenvolvedor para uso fora da produção.
- Se você é novo no Power Apps, aprenda o básico gerando um aplicativo e, em seguida, personalize os controles, a galeria, os formulários e os cartões do aplicativo.
- Um aplicativo de tela em branco para se conectar ao Azure DevOps.
- Para criar o aplicativo neste artigo, você precisa de uma instância do Azure DevOps com uma organização, um projeto e uma consulta compartilhada que tenha alguns itens de trabalho de exemplo disponíveis para edição.
- A instância do Azure DevOps deve permitir o acesso de aplicativos de terceiros via OAuth. Para obter mais informações, consulte Gerenciar políticas de acesso para o Azure DevOps.
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 .
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.
No painel esquerdo, selecione Inserir>galeria vertical em branco dolayout>.
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
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".
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."}"
Defina o Layout da galeria como Título e subtítulo.
Escolha os campos apropriados para o Azure DevOps como Name e FolderOptions para o título e as legendas.
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.
Insira outra galeria vertical em branco e coloque-a ao lado da galeria existente.
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
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.
Adicionar valores de retorno dinâmico à sua galeria
O resultado de GetQueryResultsV2 é dinâmico, portanto, os valores também são dinâmicos.
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.
Mova ambas as galerias para o lado esquerdo da tela para abrir espaço para o formulário de edição.
Adicione Editar formulário à tela e mova-o para o lado direito das galerias.
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.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.
- Selecione ... (reticências) >Adicionar um cartão personalizado.
- Mova o cartão de dados para a parte superior do formulário de edição.
- Aumente o tamanho do controle de entrada de texto.
- 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.
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.
- 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.
- 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)
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)