<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: JR DevTools</title>
    <description>The latest articles on DEV Community by JR DevTools (@jr_devtools_a635a3af0e838).</description>
    <link>https://dev.to/jr_devtools_a635a3af0e838</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4165716%2F41da3e50-0cf5-4cb2-84ea-14e96cd7a305.png</url>
      <title>DEV Community: JR DevTools</title>
      <link>https://dev.to/jr_devtools_a635a3af0e838</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jr_devtools_a635a3af0e838"/>
    <language>en</language>
    <item>
      <title>Azure DevOps work items in Excel on a Mac: what works and what doesn’t</title>
      <dc:creator>JR DevTools</dc:creator>
      <pubDate>Wed, 07 Oct 2026 17:48:09 +0000</pubDate>
      <link>https://dev.to/jr_devtools_a635a3af0e838/azure-devops-work-items-in-excel-on-a-mac-what-works-and-what-doesnt-447n</link>
      <guid>https://dev.to/jr_devtools_a635a3af0e838/azure-devops-work-items-in-excel-on-a-mac-what-works-and-what-doesnt-447n</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I'm the developer of Bulk Editor, one of the options mentioned below. Originally published on &lt;a href="https://jr-devtools.com/guides/azure-devops-work-items-excel-mac/" rel="noopener noreferrer"&gt;jr-devtools.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Short answer: the Azure DevOps Excel integration (the Team tab, &lt;strong&gt;Open in Excel&lt;/strong&gt;, &lt;em&gt;Publish&lt;/em&gt; and &lt;em&gt;Refresh&lt;/em&gt;) is a Windows-only COM add-in. It doesn't exist for Excel for Mac or Excel for the web. You can still get work items into a spreadsheet and back on a Mac; here's how.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Export a query to CSV and open it in Excel
&lt;/h2&gt;

&lt;p&gt;Run a query in &lt;strong&gt;Boards → Queries&lt;/strong&gt;, open the &lt;em&gt;…&lt;/em&gt; menu and choose &lt;strong&gt;Export to CSV&lt;/strong&gt;. Excel for Mac (or Numbers) opens the file directly. Add columns to the query first with &lt;em&gt;Column options&lt;/em&gt;, including &lt;em&gt;Parent&lt;/em&gt; if you need the parent ID on each row.&lt;/p&gt;

&lt;p&gt;Watch out: rich-text fields such as Description are exported as raw HTML, and the export is a snapshot. Nothing links it back to Azure DevOps.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Import your changes back with CSV
&lt;/h2&gt;

&lt;p&gt;Save the edited sheet as CSV (UTF-8) and import it with &lt;strong&gt;Boards → Work items → Import Work Items&lt;/strong&gt;. Rows with an &lt;em&gt;ID&lt;/em&gt; update existing work items; rows without one create new items. Keep the &lt;em&gt;ID&lt;/em&gt; and &lt;em&gt;Work Item Type&lt;/em&gt; columns, and remove columns you didn't change so you don't overwrite fields by accident.&lt;/p&gt;

&lt;p&gt;Two things to know: errors only show up during the import, and the import doesn't check whether someone changed a work item after you exported it. Their change is overwritten.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Change many items to the same value: bulk edit
&lt;/h2&gt;

&lt;p&gt;For "move these 40 items to the next sprint", you don't need a spreadsheet at all. Select the items in a query or backlog, open the context menu and choose &lt;strong&gt;Edit&lt;/strong&gt; to set one or more fields for all of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Edit in a spreadsheet grid in the browser
&lt;/h2&gt;

&lt;p&gt;If you want the spreadsheet experience without the round trip, &lt;a href="https://jr-devtools.com/bulk-editor/" rel="noopener noreferrer"&gt;Bulk Editor&lt;/a&gt; (made by me) opens a query or backlog selection in an editable grid inside Azure DevOps Services, so it works the same on a Mac, Windows or Linux:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;type in cells or paste a block copied from Excel for Mac;&lt;/li&gt;
&lt;li&gt;pick lists, required fields and area/iteration paths come from your process, and invalid values are flagged before you publish;&lt;/li&gt;
&lt;li&gt;a row that someone else changed in the meantime is refused instead of overwritten;&lt;/li&gt;
&lt;li&gt;export a clean .xlsx without HTML tags, and (Pro) import it back.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frfujwxkfzwvlbo6ilr8q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frfujwxkfzwvlbo6ilr8q.png" alt="A block pasted from Excel into the Bulk Editor grid, highlighted until published" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There's a free plan of 25 published work items per organization per month and a 14-day Pro trial.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which one should I use?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;You want to …&lt;/th&gt;
&lt;th&gt;On a Mac, use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Share or analyse a list of work items&lt;/td&gt;
&lt;td&gt;Export to CSV&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Set one field to the same value on many items&lt;/td&gt;
&lt;td&gt;Bulk edit in the query&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Create a few hundred items once&lt;/td&gt;
&lt;td&gt;CSV import&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Edit different values per row, regularly&lt;/td&gt;
&lt;td&gt;A grid in the browser&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Also on Windows and the add-in gives you trouble? See &lt;a href="https://jr-devtools.com/guides/azure-devops-excel-add-in-not-working/" rel="noopener noreferrer"&gt;Azure DevOps Excel add-in not working&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related guides
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jr-devtools.com/guides/bulk-edit-azure-devops-work-items-without-excel/" rel="noopener noreferrer"&gt;How to bulk edit Azure DevOps work items without Excel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jr-devtools.com/guides/azure-devops-excel-add-in-not-working/" rel="noopener noreferrer"&gt;Azure DevOps Excel add-in not working: fixes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jr-devtools.com/bulk-editor/" rel="noopener noreferrer"&gt;Bulk Editor: features, pricing and free plan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Not affiliated with Microsoft. “Azure DevOps”, “Excel” and “Office” are trademarks of Microsoft.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>azuredevops</category>
      <category>excel</category>
      <category>macos</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to resolve merge conflicts in an Azure DevOps pull request</title>
      <dc:creator>JR DevTools</dc:creator>
      <pubDate>Tue, 06 Oct 2026 07:40:08 +0000</pubDate>
      <link>https://dev.to/jr_devtools_a635a3af0e838/how-to-resolve-merge-conflicts-in-an-azure-devops-pull-request-bj8</link>
      <guid>https://dev.to/jr_devtools_a635a3af0e838/how-to-resolve-merge-conflicts-in-an-azure-devops-pull-request-bj8</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I'm the developer of Merge Conflict Resolver, one of the options mentioned below. Originally published on &lt;a href="https://jr-devtools.com/guides/resolve-merge-conflicts-azure-devops/" rel="noopener noreferrer"&gt;jr-devtools.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Your pull request says &lt;em&gt;“Merge conflicts. Next steps: Manually resolve these conflicts and push new changes to the source branch.”&lt;/em&gt; Azure DevOps has no built-in conflict editor, so you have two options: resolve locally with Git, or resolve in the browser with an extension.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the conflict happens
&lt;/h2&gt;

&lt;p&gt;Azure DevOps tries a test merge of your source branch into the target branch (for example &lt;code&gt;main&lt;/code&gt;). When both branches changed the same lines of a file, or one deleted a file the other changed, Git can't decide which version wins. The pull request can't be completed until the conflict is resolved in the &lt;strong&gt;source branch&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 1: resolve locally with Git
&lt;/h2&gt;

&lt;p&gt;This works everywhere and needs nothing but Git and an editor. Replace &lt;code&gt;feature/my-branch&lt;/code&gt; and &lt;code&gt;main&lt;/code&gt; with your source and target branch.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git fetch origin
git checkout feature/my-branch
git pull
git merge origin/main
# Git lists the conflicted files. Open each one, resolve the
# &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; / ======= / &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; blocks, then:
git add .
git commit
git push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;After the push, the pull request updates and the conflict is gone. A few tips:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use a 3-way merge editor&lt;/strong&gt; instead of editing markers by hand: VS Code's merge editor, Visual Studio's &lt;em&gt;Git Changes → Merge conflicts&lt;/em&gt;, or &lt;code&gt;git mergetool&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prefer merge over rebase&lt;/strong&gt; for a branch others also use: a rebase rewrites history and needs a force-push, which can reset approvals and surprise teammates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch your encodings.&lt;/strong&gt; Files in Windows-1252/ANSI or UTF-16 can be damaged by editors that assume UTF-8. Check the diff before you push.&lt;/li&gt;
&lt;li&gt;If Azure DevOps keeps showing “Checking for merge conflicts” after the push, refresh the page; the test merge runs again for every new commit.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Option 2: resolve in the browser
&lt;/h2&gt;

&lt;p&gt;Cloning a large repository just to fix two lines is slow, and not everyone who reviews or completes pull requests has the repository locally. An extension can add a conflict editor to the pull request page.&lt;/p&gt;

&lt;p&gt;Microsoft's DevLabs &lt;em&gt;Pull Request Merge Conflict Extension&lt;/em&gt; used to be the usual choice, but it hasn't been updated since November 2023 and Microsoft says there are no development resources for it. See &lt;a href="https://jr-devtools.com/guides/devlabs-merge-conflict-extension-alternatives/" rel="noopener noreferrer"&gt;alternatives to the DevLabs extension&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://jr-devtools.com/merge-conflict-resolver/" rel="noopener noreferrer"&gt;Merge Conflict Resolver&lt;/a&gt; (made by me) adds a &lt;strong&gt;Resolve conflicts&lt;/strong&gt; tab to every pull request:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the pull request and select the &lt;strong&gt;Resolve conflicts&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;Pick a file. Target, source and result are shown side by side; non-conflicting changes are already merged.&lt;/li&gt;
&lt;li&gt;Above each conflict, choose &lt;em&gt;Accept target&lt;/em&gt;, &lt;em&gt;Accept source&lt;/em&gt; or &lt;em&gt;Accept both&lt;/em&gt;, or edit the result freely.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Mark as resolved&lt;/strong&gt;. When the last file is done, Azure DevOps creates the merge with your resolutions.&lt;/li&gt;
&lt;li&gt;Optional (Pro): &lt;strong&gt;Commit the resolution to the source branch&lt;/strong&gt;, so reviewers, builds and branch policies see exactly what will be merged.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxi2ehhv3rnogz09bjooi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxi2ehhv3rnogz09bjooi.png" alt="3-way merge editor in the Resolve conflicts tab of an Azure DevOps pull request" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your edits are saved as a draft in the browser, so a reload doesn't lose work, and encodings and line endings are written back exactly as they were. There's a free plan and a 14-day Pro trial.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which option should I pick?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Situation&lt;/th&gt;
&lt;th&gt;Best option&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Complex conflict that needs building or running tests before you push&lt;/td&gt;
&lt;td&gt;Locally&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A few conflicting lines, or you don't have the repository cloned&lt;/td&gt;
&lt;td&gt;In the browser&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Someone else's pull request that you're reviewing or completing&lt;/td&gt;
&lt;td&gt;In the browser&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hundreds of conflicts where one side should simply win&lt;/td&gt;
&lt;td&gt;Either: &lt;code&gt;git checkout --theirs&lt;/code&gt; / &lt;code&gt;--ours&lt;/code&gt; locally, or bulk resolve in the browser&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Related guides
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jr-devtools.com/guides/devlabs-merge-conflict-extension-alternatives/" rel="noopener noreferrer"&gt;Alternatives to the DevLabs Pull Request Merge Conflict Extension&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jr-devtools.com/merge-conflict-resolver/" rel="noopener noreferrer"&gt;Merge Conflict Resolver: features, pricing and free plan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Not affiliated with Microsoft. “Azure DevOps”, “Excel” and “Office” are trademarks of Microsoft.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>azuredevops</category>
      <category>git</category>
      <category>devops</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
