Azure DevOps
Route feedback into your Azure DevOps boards. Automatically create work items when feedback is submitted, choose the project and work item type, and link them back to the original feedback post. Inbound webhooks keep your feedback post statuses in sync when work items move through your workflow.
Overview
The Azure DevOps integration enables:
- Create work items from feedback posts -- automatically create an Azure DevOps work item when new feedback is submitted
- Link posts to work items -- link feedback posts to Azure DevOps work items for traceability
- Status sync -- update feedback status when work item state changes via inbound webhooks
Prerequisites
- Admin access to your Quackback workspace
- An Azure DevOps organization
- A Personal Access Token (PAT) with Work Items (Read & Write) scope
Azure DevOps uses Personal Access Tokens instead of OAuth. No OAuth application setup is required.
Setup
1. Create a Personal Access Token
- Go to your Azure DevOps organization
- Click your profile icon and select Personal access tokens
- Click New Token
- Configure the token:
- Name: Quackback Integration
- Organization: Select your organization
- Expiration: Choose an appropriate duration
- Scopes: Select Work Items > Read & Write
- Copy the generated token
Store the PAT securely -- Azure DevOps only shows it once. If you lose it, you will need to create a new one.
2. Connect Azure DevOps
- Go to Admin → Settings → Integrations → Azure DevOps
- Enter your Organization URL in one of these formats:
https://dev.azure.com/\{your-org\}(modern format)https://\{your-org\}.visualstudio.com(legacy format)
- Enter the Personal Access Token you created
- Click Connect
Quackback validates the connection by listing your projects. If the credentials are invalid, you will see an error.
3. Select a Project and Work Item Type
After connecting:
- Choose the Azure DevOps project where work items should be created
- Select the work item type (e.g., User Story, Bug, Task, Feature) -- the list is fetched from the selected project
The target is stored as a combination of project name and work item type.
4. Configure Status Mappings
Map Azure DevOps work item states to Quackback statuses:
- Go to the Azure DevOps integration settings
- Configure status mappings between work item states and Quackback statuses
- Azure DevOps states are project-specific (e.g., New, Active, Resolved, Closed) -- map each to the corresponding Quackback status, or set it to ignore
Status sync works via Azure DevOps service hooks. When a linked work item changes state, the corresponding Quackback post status updates automatically.
5. Configure Events
Choose which events trigger Azure DevOps actions:
| Event | Action |
|---|---|
| New post | Create a work item with the feedback details |
The Azure DevOps integration currently creates work items only for post.created events. Status changes and comments are handled through the status sync mechanism rather than creating new work items.
6. Save and Test
- Click Save
- Submit test feedback to verify a work item is created in the selected project
Work Item Format
When a new feedback post triggers work item creation, the work item includes:
- Title (System.Title): The feedback post title
- Description (System.Description): The post content in HTML, followed by metadata including the author, board, vote count, and a link back to the post in Quackback
The description uses HTML formatting, which Azure DevOps renders natively in the work item detail view.
Status Sync
When status sync is configured, Quackback receives inbound webhooks from Azure DevOps when work items are updated. When a linked work item's state changes:
- Azure DevOps sends a
workitem.updatedwebhook to Quackback - Quackback verifies the request using Basic Authentication
- Quackback checks for a
System.Statefield change in the payload - If a status mapping exists for the new state, the linked feedback post's status is updated
On post delete
When you delete a feedback post with a linked Azure DevOps work item, you can close the work item at the same time. The delete dialog shows a checkbox for each linked work item.
To pre-check this by default, enable the On post delete toggle in the Azure DevOps integration settings. You can always override the default per-delete.
Manage the integration
Pause
Temporarily stop the integration:
- Go to Admin → Settings → Integrations → Azure DevOps
- Toggle Enabled off
- Work item creation and status sync pause, but the connection remains
Reconnect
If your PAT expires or is revoked:
- Create a new Personal Access Token in Azure DevOps
- Update the token in Admin → Settings → Integrations → Azure DevOps
Disconnect
To fully remove the integration:
- Go to Admin → Settings → Integrations → Azure DevOps
- Click Disconnect
- Confirm the action
Disconnecting removes the connection from Quackback. The Personal Access Token is not revoked automatically -- revoke it manually in Azure DevOps if no longer needed.
Troubleshooting
Work Items Not Being Created
- Check integration status -- look for errors in settings
- Verify project selection -- ensure a project and work item type are selected
- Check event mappings -- confirm
post.createdis mapped - PAT permissions -- the token must have Work Items Read & Write scope
- PAT expiration -- check that the token has not expired
Status Sync Not Working
- Check status mappings -- ensure Azure DevOps states are mapped to Quackback statuses
- Verify service hook -- confirm the Azure DevOps service hook is configured and pointing to the correct callback URL
- Check authentication -- the Basic Auth credentials must match
"Authentication Failed" or "Forbidden" Error
The Personal Access Token may be expired or revoked:
- Check the token status in Azure DevOps
- Create a new token if needed
- Update the token in Quackback integration settings
"Organization Not Found" Error
Verify the organization URL format:
- Modern:
https://dev.azure.com/\{your-org\} - Legacy:
https://\{your-org\}.visualstudio.com
Ensure the PAT has access to the specified organization.
Next Steps
- GitHub - GitHub issue integration
- Jira - Jira issue integration
- Integrations Overview - All integrations