57 lines
1.8 KiB
PowerShell
57 lines
1.8 KiB
PowerShell
# Test Epic Creation with Authentication
|
|
|
|
$apiUrl = "http://localhost:5167"
|
|
|
|
Write-Host "Step 1: Login to get JWT Token..." -ForegroundColor Cyan
|
|
|
|
# Login
|
|
$loginPayload = @{
|
|
tenantSlug = "testcompany"
|
|
email = "admin@test.com"
|
|
password = "Admin@123456"
|
|
} | ConvertTo-Json
|
|
|
|
$loginResponse = Invoke-RestMethod -Uri "$apiUrl/api/auth/login" -Method Post -Body $loginPayload -ContentType "application/json"
|
|
$token = $loginResponse.accessToken
|
|
$userId = $loginResponse.user.id
|
|
|
|
Write-Host "✅ Login successful" -ForegroundColor Green
|
|
Write-Host "User ID: $userId" -ForegroundColor Gray
|
|
Write-Host "Token (first 50 chars): $($token.Substring(0,50))..." -ForegroundColor Gray
|
|
Write-Host ""
|
|
|
|
Write-Host "Step 2: Create Epic..." -ForegroundColor Cyan
|
|
|
|
# Create Epic
|
|
$projectId = "599e0a24-38be-4ada-945c-2bd11d5b051b"
|
|
$createEpicPayload = @{
|
|
projectId = $projectId
|
|
name = "Test Epic from PowerShell"
|
|
description = "This is a test epic created via API"
|
|
priority = "Medium"
|
|
createdBy = $userId
|
|
} | ConvertTo-Json
|
|
|
|
Write-Host "Request Payload:" -ForegroundColor Gray
|
|
Write-Host $createEpicPayload -ForegroundColor Gray
|
|
Write-Host ""
|
|
|
|
try {
|
|
$headers = @{
|
|
"Authorization" = "Bearer $token"
|
|
"Content-Type" = "application/json"
|
|
}
|
|
|
|
$epicResponse = Invoke-RestMethod -Uri "$apiUrl/api/v1/epics" -Method Post -Body $createEpicPayload -Headers $headers
|
|
|
|
Write-Host "✅ Epic created successfully!" -ForegroundColor Green
|
|
Write-Host ""
|
|
Write-Host "Epic Details:" -ForegroundColor Yellow
|
|
$epicResponse | ConvertTo-Json -Depth 3
|
|
|
|
} catch {
|
|
Write-Host "❌ Failed to create epic" -ForegroundColor Red
|
|
Write-Host "Status Code: $($_.Exception.Response.StatusCode.value__)" -ForegroundColor Red
|
|
Write-Host "Error: $($_.ErrorDetails.Message)" -ForegroundColor Red
|
|
}
|