You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell的Invoke-RestMethod为现有JIRA工单添加Sprint值?

使用PowerShell的Invoke-RestMethod为JIRA工单添加Sprint值

前提条件

  • 拥有JIRA实例的API访问权限(API Token可在个人设置>安全>API Token中生成)
  • 知晓目标工单的Key(如PROJ-123)
  • 确认Sprint的ID(优先用ID,避免名称重复问题;若只有名称,可通过API查询ID)
  • 确认JIRA中Sprint对应的自定义字段ID(通常默认是customfield_10000,不同实例可能不同)

步骤1:配置基础参数与认证

# 替换为你的JIRA实例信息
$jiraBaseUrl = "https://your-jira-domain.atlassian.net"
$issueKey = "PROJ-123"
$sprintId = 1234 # 目标Sprint的ID
$username = "your-email@domain.com"
$apiToken = "your-generated-api-token"

# 构造Basic认证头
$base64Auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$username`:$apiToken"))
$headers = @{
    "Authorization" = "Basic $base64Auth"
    "Content-Type"  = "application/json"
}

步骤2:更新工单的Sprint字段

# 构造请求体,注意替换customfield_xxx为你的Sprint字段ID
$updateBody = @{
    fields = @{
        customfield_10000 = @( @{ id = $sprintId } )
    }
} | ConvertTo-Json

# 发送PUT请求更新工单
Invoke-RestMethod -Uri "$jiraBaseUrl/rest/api/3/issue/$issueKey" -Method Put -Headers $headers -Body $updateBody

若只有Sprint名称,先查询ID

如果不知道Sprint ID,可通过看板ID查询指定名称的Sprint:

$boardId = 567 # 目标Sprint所属的看板ID
$targetSprintName = "2024 Q3 Sprint 1"

# 查询看板下的所有Sprint
$sprintsList = Invoke-RestMethod -Uri "$jiraBaseUrl/rest/agile/1.0/board/$boardId/sprint?name=$targetSprintName" -Method Get -Headers $headers

# 筛选目标Sprint
$targetSprint = $sprintsList.values | Where-Object { $_.name -eq $targetSprintName }

if ($targetSprint) {
    $sprintId = $targetSprint.id
    Write-Host "匹配到Sprint ID:$sprintId"
} else {
    Write-Error "未找到名称为'$targetSprintName'的Sprint"
}

关键注意事项

  • 确认自定义字段ID:发送GET $jiraBaseUrl/rest/api/3/issue/$issueKey?fields=*all请求,查看返回结果中Sprint字段对应的customfield_xxx值
  • 权限验证:确保你的账号具备编辑工单、将工单添加到Sprint的权限
  • 多Sprint支持:若JIRA配置允许工单关联多个Sprint,可在数组中添加多个@{ id = $sprintId }对象

内容的提问来源于stack exchange,提问作者JTR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 06:20:03