Skip to main content

Azure DevOps Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a sync or streaming data flow that sends data to an Azure DevOps location.
azure_devops_api.png

Azure DevOps

Create an Azure DevOps Destination

  1. Click the + icon on the Nexset that will be sent to the Azure DevOps destination, and select the Send to Destination option from the menu.

  2. Select the Azure DevOps connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Azure DevOps organization, and click Next; or, create a new Azure DevOps credential for use in this flow.

  3. In Nexla, Azure DevOps destinations can be created using pre-built endpoint templates, which expedite destination setup for common Azure DevOps endpoints. Each template is designed specifically for the corresponding Azure DevOps endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Azure DevOps destinations can also be configured manually, allowing you to send data to Azure DevOps endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Azure DevOps endpoints. Each template is designed specifically for the corresponding Azure DevOps endpoint, making destination setup easy and efficient.

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Create Work Item Object

    This endpoint creates a new work item in Azure DevOps. Use this endpoint when you need to create work items such as tasks, bugs, user stories, or other work item types from your data.

    • Enter the name of your Azure DevOps organization in the Organization field. This is the organization name that appears in your Azure DevOps URL (e.g., if your URL is https://dev.azure.com/MyOrg, enter MyOrg).
    • Enter the name of your Azure DevOps project in the Project field. This is the project name within your organization where the work item will be created.
    • Select the type of work item you want to create from the Work Item Type dropdown menu. Available options include Task, Bug, User Story, Feature, Epic, and other work item types defined in your project's process template.
    • Enter the API version in the API Version field. This should be the Azure DevOps REST API version you want to use (e.g., 7.0, 7.1). The API version determines which features and request formats are available.
    • The endpoint uses POST requests to the Azure DevOps Work Item Tracking API endpoint (https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/${work_item_type}) with the work item data in the request body.
    • The endpoint sends data from your Nexset as the request body in JSON Patch format (application/json-patch+json). Each record in your Nexset will be sent as a JSON Patch document containing the work item fields and values to create. The JSON Patch format uses operations like add, replace, and remove to specify field values.
    • Ensure your Nexset data includes the required fields for work item creation, such as work item title, description, and other required fields based on your project's work item type definition. The JSON Patch document should follow the Azure DevOps API specification for creating work items.
    • Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to create a work item. If you need to create multiple work items, you can send multiple records, but each will be processed as a separate request.

    The request body must be properly formatted as a JSON Patch document (application/json-patch+json) that matches the Azure DevOps API specification for creating work items. The JSON Patch format uses operations like [{"op": "add", "path": "/fields/System.Title", "value": "Work Item Title"}] to specify field values. The endpoint requires Basic Authentication with a Personal Access Token, which is handled automatically by your credential configuration. The Content-Type: application/json-patch+json header is automatically included in requests. Batch mode is disabled by default (batch.mode: false), so each record will be sent as a separate request. For detailed information about creating work items, including JSON Patch format, required fields, and API versions, see the Azure DevOps Work Items API documentation.

    Update Work Item Object

    This endpoint updates an existing work item in Azure DevOps. Use this endpoint when you need to modify work item fields, status, assignee, or other properties of existing work items.

    • Enter the name of your Azure DevOps organization in the Organization field. This is the organization name that appears in your Azure DevOps URL.
    • Enter the name of your Azure DevOps project in the Project field. This is the project name within your organization where the work item exists.
    • Enter the ID of the work item you want to update in the ID field. This should be the numeric ID of the existing work item you want to modify.
    • Enter the API version in the API Version field. This should be the Azure DevOps REST API version you want to use (e.g., 7.0, 7.1).
    • The endpoint uses PATCH requests to the Azure DevOps Work Item Tracking API endpoint (https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}) with the work item update data in the request body.
    • The endpoint sends data from your Nexset as the request body in JSON Patch format (application/json-patch+json). Each record in your Nexset will be sent as a JSON Patch document containing the work item field updates. The JSON Patch format uses operations like add, replace, and remove to specify field value changes.
    • Ensure your Nexset data includes the fields you want to update and their new values. The JSON Patch document should follow the Azure DevOps API specification for updating work items, including field paths (e.g., /fields/System.Title for the title field) and operation types.
    • Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to update a work item. If you need to update multiple work items, you can send multiple records, but each will be processed as a separate request.

    The request body must be properly formatted as a JSON Patch document (application/json-patch+json) that matches the Azure DevOps API specification for updating work items. The JSON Patch format uses operations like [{"op": "replace", "path": "/fields/System.Title", "value": "Updated Title"}] to specify field updates. The endpoint requires Basic Authentication with a Personal Access Token, which is handled automatically by your credential configuration. The Content-Type: application/json-patch+json header is automatically included in requests. Batch mode is disabled by default (batch.mode: false), so each record will be sent as a separate request. For detailed information about updating work items, including JSON Patch format, field paths, and API versions, see the Azure DevOps Work Items API documentation.

Configure Manually

Azure DevOps destinations can be manually configured to send data to any valid Azure DevOps REST API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Azure DevOps API from the Method pulldown menu. The Azure DevOps REST API primarily uses POST, PATCH, and PUT requests for data writing operations. The most common methods are:

    • POST: For creating new resources (e.g., creating work items)
    • PATCH: For updating existing resources (e.g., updating work items)
    • PUT: For replacing existing data
    • DELETE: For removing data

API Endpoint URL

  1. Enter the URL of the Azure DevOps REST API endpoint to which this destination will send data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. Azure DevOps REST API endpoints follow the pattern https://dev.azure.com/{organization}/{project}/{team}/_apis/{api_path}?api-version={version} where {organization} is your organization name, {project} is your project name (optional for organization-level APIs), {team} is your team name (optional), {api_path} is the specific API path, and {version} is the API version.

Ensure the API endpoint URL is correct and accessible with your current credentials. Azure DevOps REST API endpoints require Basic Authentication with a Personal Access Token, which is handled automatically by your credential configuration. You can test the endpoint using the Test button after configuring the URL. For detailed information about Azure DevOps REST API endpoints, available APIs, and API versions, see the Azure DevOps REST API documentation.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers are often required for API versioning, content type specifications, or custom authentication requirements.

    You do not need to include any headers already present in the credentials. Common headers like Authorization, Content-Type, and Accept are typically handled automatically by Nexla based on your credential configuration. Azure DevOps REST API requests require Basic Authentication with a Personal Access Token, which is handled automatically by your credential configuration. For work item operations, the Content-Type: application/json-patch+json header is typically required and should be included in the request headers if not automatically set.

Request Body

Optional
  • If the API endpoint requires a specific request body format, configure how Nexla should format the request body from your Nexset data. The request body can be sent as JSON, XML, or form data, depending on the API endpoint requirements.

    • For JSON format, select JSON from the Request Body Format dropdown, and the Nexset data will be sent as a JSON object in the request body. Azure DevOps REST API endpoints typically use JSON format for request bodies, often in JSON Patch format (application/json-patch+json) for work item operations.

    • For XML format, select XML from the Request Body Format dropdown, and the Nexset data will be converted to XML format in the request body.

    • For Form data format, select Form Data from the Request Body Format dropdown, and the Nexset data will be sent as form-encoded data in the request body.

The request body format should match the requirements of the specific Azure DevOps API endpoint you're using. Most Azure DevOps REST API endpoints use JSON format for request bodies. For work item operations, the request body should be formatted as a JSON Patch document (application/json-patch+json) with operations like add, replace, and remove to specify field values. Ensure your Nexset data structure matches the expected format for the API endpoint, including required fields, data types, and nested structures as specified in the Azure DevOps REST API documentation.

Save & Activate the Destination

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Azure DevOps destination. Nexla will now begin sending data from the selected Nexset to the configured endpoint.