# Azure Task Processor

## ⚠️ CRITICAL EXECUTION NOTICE ⚠️

**THIS IS AN EXECUTABLE WORKFLOW - NOT REFERENCE MATERIAL**

When this task is invoked:
1. **MANDATORY API CALL EXECUTION** - Simple API call to retrieve task data
2. **AZURE API INTEGRATION** - This workflow requires Azure DevOps API access only

## Overview

This workflow imports Azure DevOps work items by making a simple API call to retrieve task data. No enhancement or processing is performed.

## Input Parameters

### Required Parameters
- **task_ids**: Array of Azure DevOps work item IDs (e.g., ["AZ-123", "AZ-124"])
- **azure_config**: Azure DevOps configuration object

## Execution Steps

### Phase 1: Authentication

```yaml
step: authenticate_azure
description: Establish Azure DevOps connection
actions:
  - validate_credentials: Check PAT or Service Principal access
  - test_connection: Verify API connectivity
error_handling:
  - invalid_credentials: Request credential refresh
  - insufficient_permissions: Return error message
```

### Phase 2: Task Retrieval

```yaml
step: retrieve_tasks
description: Fetch work items from Azure DevOps
actions:
  - api_call: GET /wit/workitems?ids={task_ids}
  - return_data: Return raw task data as received from API
```

## Output Format

### Task Data
```yaml
api_response:
  tasks:
    - task_id: "AZ-123"
      title: string
      description: string
      state: string
      assignedTo: string
      workItemType: string
      raw_data: object  # Complete raw response from Azure DevOps API
```

### Error Handling
```yaml
error_scenarios:
  - scenario: "azure_api_failure"
    action: "return_error_message"
  
  - scenario: "invalid_task_id"
    action: "return_not_found_error"
  
  - scenario: "authentication_failure"
    action: "return_auth_error"
```

## Usage Examples

### Single Task Import
```yaml
input:
  task_ids: ["AZ-123"]
  azure_config: {organization: "hubtel", project: "main", pat: "..."}
```

### Multiple Task Import
```yaml
input:
  task_ids: ["AZ-123", "AZ-124", "AZ-125"]
  azure_config: {organization: "hubtel", project: "main", pat: "..."}
```

This workflow simply imports raw task data from Azure DevOps API without any processing or enhancement.