extensions
3 TopicsExtension Authentication at external Service
I am currently trying to develop an Azure DevOps extension. What I want is the current user to be authenticated at an external service (website) that uses an app registration. Could somebody guide me into the right direction? I've been looking around but can't seem to find the correct way to handle this.1.4KViews0likes1CommentAzurepipeline Extension- doesn't give any error nor able to show dynamic dropdown value
I have created an extension, pushed to Marketplace & then used it in my org all this went so smooth. then when I started building Pipe line at TASK step when I choose my extension it is populating a field that has options pre-defined. but when it comes to dynamic it says "Not Found" aka empty. Details:- Custom step has 3 fields. Category- Cars [ pre defined option list ] Color - Blue [ pre defined option list ] Car List - this used endpoint - https://gist.githubusercontent.com/Satyabsai/b3970e2c3d229de2c70f1def3007ccfc/raw/02dc6f7979a83287adcb6eeecddb5575bef3516e/data.json ******************** TASK.JSON file**************************** { "id": "d9bafed3-2b89-4a4e-89b8-21a3d8a4f1d3", "name": "TestExecutor", "friendlyName": "Execute ", "description": "Executes", "helpMarkDown": "", "category": "Test", "author": "s4legen", "version": { "Major": 5, "Minor": 4, "Patch": 0 }, "instanceNameFormat": "Execute Test Suite $(carlist)", "inputs": [ { "name": "category", "type": "pickList", "defaultValue": "Web", "label": "Category", "required": true, "helpMarkDown": "Select the ", "options": { "mobile": "car", "web": "truck", "api": "Plan" } }, { "name": "Color", "type": "pickList", "defaultValue": "Blue", "label": "color", "required": true, "helpMarkDown": "Select the ", "options": { "nonProd": "Blue", "prod": "Red" } }, { "name": "Carlist", "type": "pickList", "defaultValue" :"BMWX7", "label": "Carlist", "required": true, "helpMarkDown": "Select the list to execute", "properties": { "EditableOptions": "true", "Selectable": "true", "Id": "CarInput" }, "loadOptions": { "endpointUrl": "https://gist.githubusercontent.com/Satyabsai/b3970e2c3d229de2c70f1def3007ccfc/raw/02dc6f7979a83287adcb6eeecddb5575bef3516e/data.json", "resultSelector": "jsonpath:$[*]", "itemPattern": "{ \"value\": \"{value}\", \"displayValue\": \"{displayValue}\" }" } } ], "execution": { "Node16": { "target": "index.js" } }, "messages": { "TestSuiteLoadFailed": "Failed to load test from endpoint. Using default options." } } ************** ************************* const tl = require('azure-pipelines-task-lib/task'); const axios = require('axios'); const TEST_ENDPOINT = 'https://gist.githubusercontent.com/Satyabsai/b3970e2c3d229de2c70f1def3007ccfc/raw/02dc6f7979a83287adcb6eeecddb5575bef3516e/data.json'; async function getValue(field) { if (field === 'Carlist') { try { const response = await axios.get(TEST_ENDPOINT, { timeout: 5000 }); return { options: response.data.map(item => ({ value: item.value, displayValue: item.displayValue })), properties: { "id": "CarlistDropdown" } }; } catch (error) { tl.warning(tl.loc('TestLoadFailed')); } } return null; } async function run() { try { const color = tl.getInput('color', true); const category = tl.getInput('category', true); const carlist = tl.getInput('Carlist', true); const result = await axios.post(tl.getInput('clicQaEndpoint'), { testSuite, category, environment }, { timeout: 10000 }); tl.setResult(tl.TaskResult.Succeeded, `Execution ID: ${result.data.executionId}`); } catch (err) { tl.setResult(tl.TaskResult.Failed, err.message); } } module.exports = { run, getValue }; ******************** CAN SOMEONE TELL ME WHAT JSON RESPONSE IS ACCPETABLE BY AZURE TO POPULATE DROPDOWN DYNAMICALLY SOURCE IS api131Views0likes1CommentFree Extension: Generate AI Development Prompts from Azure DevOps Work Items — Verity Framework
Hi Azure DevOps community, I wanted to share a free extension we just published to the Visual Studio Marketplace: the Verity Framework ADO Extension. **What it does** It adds a "Verity Prompt" tab to your work items. When you populate five custom fields on a User Story or Delivery Item, the extension generates a structured prompt ready to paste into Claude Code, Cursor, or GitHub Copilot Workspace. The five fields: - VF Intent — the problem and who experiences it - VF Value — the expected outcome - VF Appetite — time/resource ceiling (not an estimate) - VF Trust Criteria — Gate 2 hardening requirements - VF Failure Scope — Narrow / Moderate / Broad / Systemic **Why it matters** Most engineers using AI tools start from a blank context or a vague task description. The extension carries the team's planning judgment — including production risk level and hardening requirements — directly into the implementation context. It also includes field validation that flags vague Trust Criteria, incorrectly formatted Appetite values, and solution-framed Intent statements before generating the prompt. **Setup** About 20 minutes. You add five custom fields to your existing User Story work item type (no new work item type required). Full instructions are in the extension tab. **Install** Search "Verity Framework" on the Visual Studio Marketplace or visit idearoost.com/verity for the full framework context. Free. No subscription required. Happy to answer questions about the field definitions or the setup process. — Jacques Steward, IdeaRoost70Views0likes0Comments