The Azure DevOps API opens up a world of possibilities for automating and enhancing your software development workflows. Through Pipedream, you can leverage this API to create custom integrations and serverless workflows that interact with your Azure DevOps projects. Automate tasks such as triggering builds, managing work items, updating repositories, and orchestrating multi-step processes that connect Azure DevOps with other services.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
azure_devops: {
type: "app",
app: "azure_devops",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://app.vssps.visualstudio.com/_apis/profile/profiles/Me`,
headers: {
Authorization: `Bearer ${this.azure_devops.$auth.oauth_access_token}`,
},
params: {
"api-version": `5.0`,
},
})
},
})
Automated Build Triggers: Create a workflow on Pipedream that listens for code commits or pull requests on GitHub. When a change is detected, it triggers a new build in Azure DevOps. This ensures your project is always up to date with the latest code changes.
Work Item Management: Set up a Pipedream workflow that syncs Azure DevOps work items with Trello cards. Every time a work item is created or updated in Azure DevOps, a corresponding card is created or updated in Trello, keeping non-technical team members in the loop.
Release Notifications: Use Pipedream to monitor the status of Azure DevOps deployments. Whenever a deployment to a particular environment is successful, send a notification via Slack to inform your team, allowing for immediate awareness and quick response to any issues that may arise.
Azure DevOps uses OAuth authentication. When you connect your Azure DevOps account, Pipedream will open a popup window where you can sign into Azure DevOps and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Azure DevOps API.
Pipedream requests the following authorization scopes when you connect your account:
vso.analyticsvso.auditlogvso.build_executevso.code_managevso.dashboards_managevso.entitlementsvso.extension.data_writevso.extension_managevso.gallery_managevso.graph_managevso.identity_managevso.loadtest_writevso.machinegroup_managevso.memberentitlementmanagement_writevso.notification_diagnosticsvso.notification_managevso.packaging_managevso.profile_writevso.project_managevso.release_managevso.serviceendpoint_managevso.symbols_managevso.taskgroups_managevso.test_writevso.threads_fullvso.variablegroups_managevso.wiki_writevso.work_fullGEThttps://app.vssps.visualstudio.com/oauth2/authorize?client_id={{oauth.client_id}}&redirect_uri={{oauth.redirect_uri}}&state={{oauth.state}}&response_type=Assertion&scope={{oauth.space_separated_scopes}}POSThttps://app.vssps.visualstudio.com/oauth2/tokencontent-type: application/x-www-form-urlencodedaccept: application/jsonclient_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={{oauth.client_secret}}&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={{oauth.code}}&redirect_uri={{oauth.redirect_uri}}POSThttps://app.vssps.visualstudio.com/oauth2/tokencontent-type: application/x-www-form-urlencodedaccept: application/jsonclient_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=refresh_token&assertion={{oauth.refresh_token}}&client_assertion={{oauth.client_secret}}&redirect_uri={{oauth.redirect_uri}}