Skip to content

Commit fd38521

Browse files
committed
refresh index.md
1 parent 78d0d56 commit fd38521

File tree

1 file changed

+206
-16
lines changed

1 file changed

+206
-16
lines changed

docs/integrate/index.md

Lines changed: 206 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,220 @@
11
---
22
ms.subservice: azure-devops-ecosystem
33
ms.topic: conceptual
4-
title: Building custom apps and third party services with Azure DevOps
5-
description: Overview of building apps with Azure DevOps.
4+
title: Build secure applications and services with Azure DevOps
5+
description: Learn how to build secure, scalable applications that integrate with Azure DevOps using modern authentication and best practices.
66
ms.assetid: c9b97ad7-ffd8-4657-8322-74f764eec5c9
7+
ai-usage: ai-assisted
78
monikerRange: '<= azure-devops'
89
ms.author: chcomley
910
author: chcomley
10-
ms.date: 01/27/2025
11+
ms.date: 07/14/2025
1112
---
1213

13-
# Build applications
14+
# Build secure applications with Azure DevOps
1415

1516
[!INCLUDE [version-lt-eq-azure-devops](../includes/version-lt-eq-azure-devops.md)]
1617

17-
Build custom applications or services that integrate with Azure DevOps to access a user's Azure DevOps resources and perform actions programmatically, instead of needing access through a UI.
18+
Build secure, scalable applications and services that integrate with Azure DevOps to access user resources and automate processes programmatically. Whether you're creating internal automation tools or building commercial products, Azure DevOps provides robust APIs and modern authentication options to support your integration needs.
1819

19-
This can be helpful for writing a script to automate a regular to-do item for your team, or building a product offering for customers that pulls the latest status for Azure DevOps. Consider building with Azure DevOps to help you with:
20-
* [Creating new bugs](./quickstarts/create-bug-quickstart.md) discovered by customers
21-
* [Tracking your team's open work items](./quickstarts/work-item-quickstart.md) on a dashboard
20+
## Why integrate with Azure DevOps?
2221

23-
To get started, check out the following resources:
24-
* Learn about the different [authentication mechanisms](./get-started/authentication/authentication-guidance.md) available to you.
25-
* [Explore the Microsoft Entra Identity platform](./get-started/authentication/entra.md) when integrating with Azure DevOps to build more secure, enterprise-level applications.
26-
* Read up on the basics to use the [Azure DevOps REST API](./how-to/call-rest-api.md), or
27-
* See if our [client libraries](./concepts/dotnet-client-libraries.md) might be a more suitable alternative to making direct API calls.
28-
* [Integrate with a webhook](../service-hooks/overview.md) to receive and action on events.
29-
* [Develop and publish extensions](../extend/overview.md) on the Visual Studio Marketplace to customize or extend the Azure DevOps platform for your team or customers.
30-
* Review our [app development](./concepts/integration-bestpractices.md) and [security best practices](../organizations/security/security-overview.md)
22+
Azure DevOps integration enables you to:
23+
24+
**🔧 Automate workflows**
25+
- [Create and track bugs](./quickstarts/create-bug-quickstart.md) automatically from customer reports
26+
- [Monitor work items](./quickstarts/work-item-quickstart.md) and display status on custom dashboards
27+
- Sync data between Azure DevOps and external systems
28+
- Generate reports and analytics from Azure DevOps data
29+
30+
**🏗️ Build commercial solutions**
31+
- Develop marketplace extensions for Azure DevOps customers
32+
- Create SaaS products that integrate with Azure DevOps
33+
- Build mobile apps that connect to Azure DevOps services
34+
- Integrate Azure DevOps with enterprise systems
35+
36+
## Getting started: Choose your path
37+
38+
### 🚀 Quick start options
39+
40+
| **Need** | **Recommended approach** | **Best for** |
41+
|----------|-------------------------|--------------|
42+
| **Simple automation** | [REST API](./how-to/call-rest-api.md) with personal access tokens (PATs) | Scripts, personal tools |
43+
| **Production applications** | [.NET client libraries](./concepts/dotnet-client-libraries.md) with managed identity | Enterprise apps, Azure-hosted services |
44+
| **Interactive applications** | [Microsoft Entra authentication](./get-started/authentication/entra.md) | User-facing apps, desktop tools |
45+
| **Custom UI components** | [Azure DevOps extensions](../extend/overview.md) | Team customizations, marketplace products |
46+
47+
### 🔐 Authentication: Security first
48+
49+
**Choose the right authentication method:**
50+
51+
**✅ Recommended for production:**
52+
- **[Managed Identity](./get-started/authentication/authentication-guidance.md#managed-identity)** - For Azure-hosted applications (most secure)
53+
- **[Service Principal](./get-started/authentication/authentication-guidance.md#service-principal)** - For CI/CD pipelines and automated services
54+
- **[Microsoft Entra ID](./get-started/authentication/entra.md)** - For user-facing applications requiring OAuth flows
55+
56+
**⚡ Quick development:**
57+
- **[Personal Access Tokens (PATs)](./get-started/authentication/authentication-guidance.md#personal-access-tokens)** - For testing and personal automation only
58+
59+
**❌ Avoid for production:**
60+
- Username/password authentication (deprecated)
61+
- Hardcoded credentials in source code
62+
- Overly broad permission scopes
63+
64+
## Development approaches
65+
66+
### 🔌 REST API integration
67+
68+
**Best for:** Direct HTTP calls, platform-agnostic development, simple automation
69+
70+
```markdown
71+
**Key benefits:**
72+
- Works with any programming language
73+
- Full control over HTTP requests and responses
74+
- Lightweight integration for simple scenarios
75+
- Easy to debug and test
76+
77+
**Get started:**
78+
- [Learn REST API basics](./how-to/call-rest-api.md)
79+
- [Browse API reference](/rest/api/azure/devops/)
80+
- [Try APIs in the browser](https://docs.microsoft.com/rest/api/azure/devops/)
81+
```
82+
83+
### 📚 .NET client libraries
84+
85+
**Best for:** C# applications, enterprise development, complex integrations
86+
87+
```markdown
88+
**Key benefits:**
89+
- Strongly typed APIs with IntelliSense support
90+
- Built-in retry logic and error handling
91+
- Async/await patterns for better performance
92+
- Production-ready authentication options
93+
94+
**Get started:**
95+
- [.NET client library samples](./get-started/client-libraries/samples.md)
96+
- [Authentication guidance](./get-started/authentication/authentication-guidance.md)
97+
- [Client library concepts](./concepts/dotnet-client-libraries.md)
98+
```
99+
100+
### 🔔 Event-driven integration
101+
102+
**Best for:** Real-time responses, webhook-based automation, external system synchronization
103+
104+
```markdown
105+
**Key benefits:**
106+
- Real-time event notifications
107+
- Reduced polling and improved efficiency
108+
- Support for multiple event types
109+
- Easy integration with external services
110+
111+
**Get started:**
112+
- [Service hooks overview](../service-hooks/overview.md)
113+
- [Webhook configuration guide](../service-hooks/services/webhooks.md)
114+
- [Event reference documentation](../service-hooks/events.md)
115+
```
116+
117+
### 🧩 Platform extensions
118+
119+
**Best for:** Custom UI components, team-specific features, marketplace products
120+
121+
```markdown
122+
**Key benefits:**
123+
- Native integration with Azure DevOps UI
124+
- Access to platform APIs and services
125+
- Distribution through Visual Studio Marketplace
126+
- Rich customization capabilities
127+
128+
**Get started:**
129+
- [Extension development overview](../extend/overview.md)
130+
- [Extension samples and tutorials](../extend/develop/samples-overview.md)
131+
- [Marketplace publishing guide](../extend/publish/overview.md)
132+
```
133+
134+
## Architecture patterns
135+
136+
### 🏛️ Recommended architectures
137+
138+
**Microservices integration:**
139+
```markdown
140+
Azure Function/App Service → Managed Identity → Azure DevOps APIs
141+
- Secure, serverless integration
142+
- Automatic credential management
143+
- Scalable and cost-effective
144+
```
145+
146+
**Enterprise application:**
147+
```markdown
148+
On-premises App → Service Principal → Azure DevOps REST APIs
149+
- Certificate-based authentication
150+
- Centralized credential management
151+
- Audit logging and compliance
152+
```
153+
154+
**User-facing application:**
155+
```markdown
156+
Web/Mobile App → Microsoft Entra OAuth → Azure DevOps on behalf of user
157+
- User consent flows
158+
- Secure token management
159+
- Granular permission control
160+
```
161+
162+
## Security and compliance
163+
164+
### 🛡️ Security best practices
165+
166+
**Authentication security:**
167+
- ✅ Use managed identities when possible
168+
- ✅ Implement proper token refresh logic
169+
- ✅ Apply principle of least privilege
170+
- ✅ Enable audit logging for all API calls
171+
- ❌ Never commit credentials to source control
172+
- ❌ Don't use overly broad PAT scopes
173+
174+
**Application security:**
175+
- Implement proper error handling and logging
176+
- Use HTTPS for all communications
177+
- Validate all input data
178+
- Handle rate limiting gracefully
179+
- Store sensitive data in Azure Key Vault
180+
181+
**Compliance considerations:**
182+
- Review [Azure DevOps security overview](../organizations/security/security-overview.md)
183+
- Understand data residency requirements
184+
- Implement proper access controls and auditing
185+
- Follow industry-specific compliance guidelines
186+
187+
## Resources and next steps
188+
189+
### 📖 Essential documentation
190+
191+
**Core concepts:**
192+
- [Authentication guidance](./get-started/authentication/authentication-guidance.md) - Choose the right auth method
193+
- [Microsoft Entra integration](./get-started/authentication/entra.md) - OAuth and modern auth patterns
194+
- [Integration best practices](./concepts/integration-bestpractices.md) - Production-ready development patterns
195+
196+
**API references:**
197+
- [Azure DevOps REST API](/rest/api/azure/devops/) - Complete API documentation
198+
- [.NET client libraries](./concepts/dotnet-client-libraries.md) - Managed client library information
199+
- [Service hooks reference](../service-hooks/overview.md) - Event-driven integration
200+
201+
**Code samples:**
202+
- [.NET client samples](./get-started/client-libraries/samples.md) - Production-ready C# examples
203+
- [Azure DevOps auth samples](https://github.com/microsoft/azure-devops-auth-samples) - Authentication examples
204+
- [Extension samples](../extend/develop/samples-overview.md) - Platform extension examples
205+
206+
### 🎯 Quick actions
207+
208+
**Start building today:**
209+
1. **[Set up authentication](./get-started/authentication/authentication-guidance.md)** - Choose your auth method
210+
2. **[Try the REST API](./how-to/call-rest-api.md)** - Make your first API call
211+
3. **[Run client library samples](./get-started/client-libraries/samples.md)** - See working code examples
212+
4. **[Review security practices](../organizations/security/security-overview.md)** - Build securely from the start
213+
214+
**Need help?**
215+
- [Azure DevOps Developer Community](https://developercommunity.visualstudio.com/spaces/21/index.html) - Ask questions and get help
216+
- [Stack Overflow](https://stackoverflow.com/questions/tagged/azure-devops) - Community support and examples
217+
- [GitHub samples repository](https://github.com/microsoft/azure-devops-auth-samples) - Working code examples
218+
219+
> [!TIP]
220+
> **New to Azure DevOps integration?** Start with the [authentication guidance](./get-started/authentication/authentication-guidance.md) to understand your options, then try the [REST API quickstart](./how-to/call-rest-api.md) to make your first successful API call.

0 commit comments

Comments
 (0)