Lors de l’utilisation d’Azure DevOps, nous générons un grand nombre de données. Cela peut être des données de planification, mais également des données sur l’équipe ou sur les différents pipelines mis en place.
Il serait dommage de ne pas se servir de ces informations pour mieux piloter notre projet Azure DevOps. Dans cet article, nous proposons d’utiliser le logiciel Power BI afin de mettre en forme ces données.
La toute première chose à faire est bien sûr de créer un rapport Power BI avec Power BI Desktop. Ce lien décrit comment démarrer : https://docs.microsoft.com/en-us/power-bi/create-reports/.
Pour mettre en place, dans ce rapport, des graphiques décrivant vos données, il va falloir définir une ou plusieurs sources de données. Azure DevOps permet de récupérer les informations de 3 manières différentes :
Nous allons expliquer, dans la suite de cet article, comment créer et se servir de chacune de ces 3 sources.
Ce type de source permet de récupérer l’image des données sur les éléments de travail par tranches régulières de temps (et non l’ensemble de l’historique).
Afin d’utiliser la partie Analytics Views, la première étape est de créer une vue en allant sur le projet Azure DevOps voulu, dans « Overview/Analytics Views* ».
Des vues sont déjà disponibles pour des besoins standards. Si nécessaire, il est possible d’en créer une nouvelle en définissant les filtres (sur les éléments de travail, sur les areas, etc.), la période de temps prise en compte et les différents champs voulus. Attention, pour utiliser une vue dans PowerBI, il faut impérativement qu’elle soit de type « Shared ».
Une fois la vue disponible, dans PowerBI, il suffit de déclarer une nouvelle source de données à travers le connecteur Azure DevOps (en allant dans le ruban « Home », puis « Get Data »).
Pour paramétrer le connecteur, seul le nom de l’organisation et du projet Azure DevOps sont nécessaires. Il faut néanmoins s’identifier (soit avec ses identifiants Microsoft, soit avec un Personel Access Token). Après l’authentification, PowerBI liste les différentes vues disponibles.
Dans notre cas, je choisis la vue « Work Items – All history by month » et, après avoir cliqué sur « Load », on peut voir la nouvelle source de données s’afficher avec les champs voulus :
En ce qui concerne la récupération de données via requêtes OData, l’éventail de données est plus large. Il sera possible d’avoir accès aux informations sur les works items (par tranches régulières de temps ou l’historique précis) mais également l’ensemble des métadatas relatives à la partie Board d’Azure DevOps. Ce lien décrit assez bien les éléments manipulés et leurs relations.
Pour la création de la source de données PowerBI, nous choisirons cette fois le connecteur « OData Feed ».
Il faudra, dans un premier temps, lui fournir l’URL de requête : https://analytics.dev.azure.com/{organization_name}/{project_name}/_odata/v2.0. Il s’agit ici de la version 2.0, la version 3.0 qui permet un accès encore plus large est en preview pour le moment.
Ensuite, vient la partie authentification. Si normalement l’authentification avec les identifiants Microsoft devrait fonctionner, il arrive qu’il y ait une erreur. Dans ce cas, il faut créer un PAT (https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=preview-page), aller dans la section « Basic » de l’authentification et coller le PAT comme mot de passe (on peut laisser le nom d’utilisateur vide).
PowerBI nous liste ensuite les différentes tables que l’on peut définir comme source de données :
Dans le cas où le filtrage/la transformation des données serait trop complexe, il reste une dernière option : l’utilisation de l’API de Azure DevOps. Vous pouvez trouver de la documentation sur cette API ici : https://docs.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-6.1.
L’API d’Azure DevOps permet de requêter quasiment toutes les informations disponibles dans notre organisation Azure DevOps.
Afin de créer notre source de données, il est possible d’utiliser le connecteur Web de PowerBI. Il faudra alors renseigner l’URL de la méthode d’API voulue et s’authentifier. Cependant, si des traitements complexes (filtrages, transformations, etc.) doivent être réalisés et ne peuvent l’être dans PowerBI, cela est réalisable dans des ressources Azure. Typiquement, l’utilisation d’une LogicApp avec la shape « Send an HTTP request to Azure DevOps » utilisant la méthode d’API souhaitée permet facilement d’accéder aux données voulues.
L’insertion des données retravaillées dans une Azure SQL table ou une Azure Storage Table permet ensuite, via PowerBI, de créer la source de données grâce à un connecteur Azure SQL Database ou Azure Table Storage.