Azure DevOps
The Azure DevOps panel lists work items and pull requests from saved searches across one organization's projects. Drag one onto a day to plan it as an org task. See GitHub for shared planning controls.
Organization and sign-in
Settings → Azure DevOps → Instance is your organization's address, such as
https://dev.azure.com/contoso, or an Azure DevOps Server collection's. Left
empty, Samaya uses the default organization set with
az devops configure --defaults organization=https://dev.azure.com/contoso.
For the token, Samaya uses the first of these it finds:
A personal access token saved in Settings → Azure DevOps. Delete token removes it, after asking you to confirm.
A token issued to your
azlogin, fromaz account get-access-token. Withaz logindone, there is nothing to set up.
A personal access token needs the Work Items (Read) and Code (Read) scopes. Create one under User settings → Personal access tokens in Azure DevOps.
If work items load but Review requests and My pull requests fail with 401
or 403, check that the saved token also has Code (Read) and access to the
repositories. A saved token takes priority even when your az login works.
Update the token in Settings → Azure DevOps, or use Delete token there to
fall back to your Azure CLI login.
Filters
Manage saved filters in Settings → Azure DevOps.
A filter searches work items, or pull requests when its query starts with
pr:.
Work items
A work item filter's query is the WHERE clause of a
WIQL
query. Searches span the organization. Macros such as @Me, @Today and @RecentMentions work;
@Project doesn't, as no project is chosen.
Its defaults are:
| Name | Query |
| Assigned to me | [System.AssignedTo] = @Me AND [System.State] NOT IN ('Closed', 'Done', 'Removed', 'Resolved') |
| Created by me | [System.CreatedBy] = @Me AND [System.State] NOT IN ('Closed', 'Done', 'Removed', 'Resolved') |
To narrow one to a project, add AND [System.TeamProject] = 'App'.
Pull requests
After pr:, a pull request filter's query is key=value pairs joined by &,
searched across the organization:
| Parameter | Finds |
reviewer=@me | pull requests you're a reviewer on |
creator=@me | pull requests you opened |
status | active, completed, abandoned or all; active by default |
vote=none | only those you haven't voted on |
draft=false | no drafts |
reviewer and creator also take a user's ID. Other search criteria include
targetRefName=refs/heads/main.
Reviewing as part of a team doesn't count as reviewer=@me.
Its defaults are:
| Name | Query |
| Review requests | pr: reviewer=@me&vote=none&draft=false |
| My pull requests | pr: creator=@me |
A pull request's card is labelled PR and referred to as repo!42, and the
task it becomes records it as pr:42, apart from work item 42.
Planning an item
As on GitHub, a card dropped on a day becomes a task in Inbox.org, recorded
as coming from Azure DevOps by the work item's ID and reference. Its card shows
the work item type, such as Bug or User Story.
* TODO Crash on launch
SCHEDULED: <2026-10-12 Mon>
:PROPERTIES:
:ID: ...
:EFFORT: 0:30
:SAMAYA_SOURCE_INTEGRATION: azure-devops
:SAMAYA_SOURCE_ITEM: 300
:SAMAYA_SOURCE_REFERENCE: App#300
:END:
Drag the task back onto the Azure DevOps panel to un-plan it.
