Skip to content

feat(azuredevops): collect work items and test plans - #9310

Open
rabelenda wants to merge 1 commit into
apache:mainfrom
abstracta:main
Open

rabelenda wants to merge 1 commit into
apache:mainfrom
abstracta:main

Conversation

@rabelenda

@rabelenda rabelenda commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Collect Azure Boards work items, iterations, comments, and changelogs, and Azure Test Plans cases and executions, into the ticket and QA domains. Scope config can map Azure types and states, and comment and changelog collection stay optional.

Work items and tests belong to the project. Collecting them on every selected repository would store the same rows once per repository, so the the plugin only collects the one board and QA project for first scope that requests them.

Now the plugin does not show repositories that are disabled in Azure Devops. Additionally, a project with no repository now gets one " (project)" scope, which the scope picker can select.

Graph users are served by vssps.dev.azure.com. With recent changes in API client, it now rejects an absolute UrlTemplate, so the plugin now uses a second client for account collection with that endpoint and a relative path.

The connection form now lists the Read scopes this plugin needs, so a user can easily create a token with necessary scopes. Additionally, username can now be left empty for Cloud (as was stated on the description of the field), instead of having to set a username with a whitespace to be able to save the connection.

Does this close any open issues?

References #5996 which is closed but it never merged the changes and was missing the Test Plans entities.

Screenshots

SCR-20261102-pfpe SCR-20261030-oqbm SCR-20261030-opyw SCR-20261030-oqfb SCR-20261030-oqip SCR-20261030-jnuk SCR-20261030-jnwh

Collect Azure Boards work items, iterations, comments, and changelogs, and Azure Test Plans cases and executions, into the ticket and QA domains. Scope config can map Azure types and states, and comment and changelog collection stay optional.

Work items and tests belong to the project. Collecting them on every selected repository would store the same rows once per repository, so the the plugin only collects the one board and QA project for first scope that requests them.

Now the plugin does not show repositories that are disabled in Azure Devops. Additionally, a project with no repository now gets one "<project> (project)" scope, which the scope picker can select.

Graph users are served by vssps.dev.azure.com. With recent changes in API client, it now rejects an absolute UrlTemplate, so the plugin now uses a second client for account collection with that endpoint and a relative path.

The connection form now lists the Read scopes this plugin needs, so a user can easily create a token with necessary scopes. Additionally, username can now be left empty for Cloud (as was stated on the description of the field), instead of having to set a username with a whitespace to be able to save the connection.

Refs apache#5996

Signed-off-by: Roger Abelenda <3179183+rabelenda@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant