ADO Query runner for

About


The main goal of this project is to create a simple web application that allows the querying of ADO work items and displays them in a list.

Main menu

PAT

The tool has a Personal Access Token (PAT) to authenticate to Azure DevOps (ADO), enabling the querying of work items using the ADO REST API.

How to create a personal access token: MS documentation

PAT listpage

All necessary information about the PAT can be entered into the form and saved to the database, where:

  • Pat id - identifier of the token in the site
  • Description - description of the token
  • Pat - token from Azure DevOps
  • Expiration date - the date when the token will expire

Project

Afterward, projects can be created. A project represents any query from Azure DevOps and has the following list of properties:

Project listpage

  • ProjId - internal identifier of the project
  • Organization, project name - there are two types of projects in ADO.
    • First type is https://dev.azure.com/[organisation]/[project name]/
    • Second type is https://[fixed value].visualstudio.com/[project name]/
  • Query Id - identifier of the query in ADO
  • URL to Project - link to the project in ADO
  • PAT - personal access token for this project
  • query Name - name of the Query
  • Disabled - indicates whether this project is disabled or enabled for update

Project property

Items

Project items - this is a list of work items from ADO for each project associated with the ADO query

  • Project - project field from the project table
  • Query name - query name from the project table
  • Item type - type of ADO Item
  • State - ADO state
  • Assigned to - name of the person the item is assigned to (each project can have a different name assigned to it)
  • Email - email of the person the item is assigned to
  • id - id for the item in ADO. You can click on the URL in this field and be directed to ADO itself
  • Title - title of the item
  • Priority - priority of the item
  • Severity - severity of the item
  • Changed date - date when the item was last changed
  • Changed by - name of the person who last changed the item
  • Inactive days - how many days the item has been inactive
  • Description - description of the item
  • Last message - last message for the item

List of ADO items

You can filter, sort, group, and expand items on the page.

You can group items by fields and filter by the entire dataset or individual fields.

You can have several group by fields.

Column actions

Authentication

Next-auth is used to authenticate users. Currently, you can authenticate using a custom email or a GitHub account.

Known issues

  • Refresh button: When you press the refresh button, it starts the update process but does not display any changes on the main page. The workaround is to refresh the page in the browser.
  • After creating an access token, the Expiration date field shows the date and time. The workaround is to refresh the page in the browser.
  • The Project disable field can only accept the string value true or false. The workaround is to manually enter true or false.

Future plans

  • Add more authentication providers (e.g., Google).
  • Add the ability to replace one value with another. For example, you can have different email or nickname for each project. The main idea here is to have one standard list for comfortable grouping, filtering, and so on.
  • Update index page items on page load.
  • Mark new lines in some way (possibly with a new field tick box and color-coded lines).
  • Remember the table state for each user. The best choice is to implement it similar to D365FO/CE, where you can save several views and make one of them the default.