Skip to content

Repository files navigation

@qodevai/tfs-soap

npm CI License: MIT

TypeScript client for TFS / Azure DevOps SOAP services. Speaks the protocol used by Azure DevOps Services (cloud), Azure DevOps Server (on-prem), and Team Foundation Server back to ~2010 — without depending on Visual Studio, Team Explorer Everywhere, or the tf command-line.

Currently covered:

  • TFVC (Repository.asmx) — workspaces, pending changes, shelvesets, undo
  • Upload (upload.ashx) — multipart file content upload for shelve / pend
  • Discussion / Code review (DiscussionWebService.asmx) — inline review comments

Pure TypeScript, ESM-only, zero runtime dependencies.

Install

npm install @qodevai/tfs-soap

Usage

import { HttpClient } from '@qodevai/tfs-soap/core';
import { TfvcSoapClient, TfvcUploadClient } from '@qodevai/tfs-soap/tfvc';

const http = new HttpClient({ strictSSL: true });
const tfvc = new TfvcSoapClient(http, 'https://dev.azure.com/myorg', pat);
await tfvc.createWorkspace({
    name: 'my-workspace',
    owner: 'me@example.com',
    ownerDisplayName: 'Me',
    computer: 'laptop',
});

Subpath imports (/core, /tfvc, /discussion) let you pull only the surface you need; the top-level import { ... } from '@qodevai/tfs-soap' re-exports everything.

Authentication

Personal Access Token (PAT) over HTTP Basic. NTLM/Kerberos are not (yet) supported.

Compatibility

  • Azure DevOps Services (cloud, dev.azure.com)
  • Azure DevOps Server 2019, 2020, 2022 (on-prem)
  • Team Foundation Server 2012, 2013, 2015, 2017, 2018 (older may work, untested)

Development

make test       # run unit tests
make check      # lint, typecheck, build, publint, attw
make build      # produce dist/

Releases: bump version + CHANGELOG, tag v<version>, push tag — GitHub Actions publishes to npm via Trusted Publishing (no token; provenance attested automatically).

License

MIT — see LICENSE.

About

TypeScript client for TFS / Azure DevOps SOAP services

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages