Samaya
Pre-beta. Samaya is early software: expect rough edges and changes between releases. Keep a backup of your Org files.

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:

  1. A personal access token saved in Settings → Azure DevOps. Delete token removes it, after asking you to confirm.

  2. A token issued to your az login, from az account get-access-token. With az login done, 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:

NameQuery
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:

ParameterFinds
reviewer=@mepull requests you're a reviewer on
creator=@mepull requests you opened
statusactive, completed, abandoned or all; active by default
vote=noneonly those you haven't voted on
draft=falseno 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:

NameQuery
Review requestspr: reviewer=@me&vote=none&draft=false
My pull requestspr: 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.