使用 POSTMAN Jira REST 添加没有 timeSpent 的工作日志,仅 remaininEstimate API
Add worklog with no timeSpent, only remaininEstimate using POSTMAN Jira REST API
在此处的文档中:
表明创建工作日志时需要正文参数timeSpent。
但是,直接在 Jira 中,您可以添加一个没有工作时间的工作日志,只有剩余的 Estimate。
但是其余的 API 不允许这样做,这很不幸,因为如果我想在没有实际登录的情况下更新问题的剩余估计怎么办?
仅供参考这是我正在做的请求:
https://{server_url}/rest/api/3/issue/issueKey/worklog?adjustEstimate=new&newEstimate=300
这实际上是在修改问题的剩余估计时间,但它迫使我至少添加一分钟的日志时间。
是否有任何解决方法可以让我更改剩余时间而无需记录任何工作时间?
我也尝试使用问题更新修改时间跟踪,但总是得到相同的错误消息:无法更新字段时间跟踪,因为它不在适当的屏幕上,或者未知。
这是屏幕截图:
我开始认为目前没有办法在不插入工作时间的情况下更新问题的剩余估计时间...
BTW,我可以修改summary,description等等。。。貌似只有timetracking是不可修改的。。。
我必须绕过这个问题的解决方案是获取目标问题的所有工作日志,select 最后一个,并用这个休息请求更新它:
https://{server}/rest/api/3/issue/{key}/worklog/{id}?adjustEstimate=new&newEstimate={minutes}
然而,这要求至少有一个工作日志已添加到问题中。
所以
第 1 步:
使用以下方法获取每个工作日志:
https://{server}/rest/api/3/issue/{key}/worklog/
第 2 步:
遍历所有工作日志以找到您要更新的最新工作日志,并检索 timeSpentSeconds 和 id。
步骤 3
使用此休息请求作为 PUT 请求
更新工作日志
https://{server}/rest/api/3/issue/{key}/worklog/{id}?adjustEstimate=new&newEstimate={minutes}
正文如下:
{
"timeSpentSeconds":timeSpentSeconds
}
请注意,您必须使用与更新前相同的数字发回 timeSpentSeconds,以确保请求调用有效。
希望这对遇到与我相同问题的任何人有所帮助。
如果有人有不需要更新以前工作日志的解决方案,请随时添加新答案。
可以在 Jira 中修改时间跟踪。您似乎使用了错误的 API 来更新时间跟踪字段。此外,屏幕截图中提到的错误与时间跟踪字段的修改无关。身份验证可能是 screenshot.Also 中看到的错误的问题,当您编辑问题时检查 Jira UI 中可见的字段。当您尝试使用 REST API 编辑问题时,您只能设置在该屏幕中可见的字段。
要仅更新剩余估算字段而不添加 timeSpent,您可以尝试按照 Jira Rest URL 和 Request Payload,
Jira UI 将更新如下,
发布一些有用的 Jira Rest API 链接,
https://docs.atlassian.com/software/jira/docs/api/REST/8.0.2/#api/2/issue-addWorklog
在此处的文档中:
表明创建工作日志时需要正文参数timeSpent。
但是,直接在 Jira 中,您可以添加一个没有工作时间的工作日志,只有剩余的 Estimate。
但是其余的 API 不允许这样做,这很不幸,因为如果我想在没有实际登录的情况下更新问题的剩余估计怎么办?
仅供参考这是我正在做的请求:
https://{server_url}/rest/api/3/issue/issueKey/worklog?adjustEstimate=new&newEstimate=300
这实际上是在修改问题的剩余估计时间,但它迫使我至少添加一分钟的日志时间。
是否有任何解决方法可以让我更改剩余时间而无需记录任何工作时间?
我也尝试使用问题更新修改时间跟踪,但总是得到相同的错误消息:无法更新字段时间跟踪,因为它不在适当的屏幕上,或者未知。
这是屏幕截图:
我开始认为目前没有办法在不插入工作时间的情况下更新问题的剩余估计时间...
BTW,我可以修改summary,description等等。。。貌似只有timetracking是不可修改的。。。
我必须绕过这个问题的解决方案是获取目标问题的所有工作日志,select 最后一个,并用这个休息请求更新它:
https://{server}/rest/api/3/issue/{key}/worklog/{id}?adjustEstimate=new&newEstimate={minutes}
然而,这要求至少有一个工作日志已添加到问题中。
所以
第 1 步:
使用以下方法获取每个工作日志:
https://{server}/rest/api/3/issue/{key}/worklog/
第 2 步:
遍历所有工作日志以找到您要更新的最新工作日志,并检索 timeSpentSeconds 和 id。
步骤 3
使用此休息请求作为 PUT 请求
更新工作日志https://{server}/rest/api/3/issue/{key}/worklog/{id}?adjustEstimate=new&newEstimate={minutes}
正文如下:
{ "timeSpentSeconds":timeSpentSeconds }
请注意,您必须使用与更新前相同的数字发回 timeSpentSeconds,以确保请求调用有效。
希望这对遇到与我相同问题的任何人有所帮助。
如果有人有不需要更新以前工作日志的解决方案,请随时添加新答案。
可以在 Jira 中修改时间跟踪。您似乎使用了错误的 API 来更新时间跟踪字段。此外,屏幕截图中提到的错误与时间跟踪字段的修改无关。身份验证可能是 screenshot.Also 中看到的错误的问题,当您编辑问题时检查 Jira UI 中可见的字段。当您尝试使用 REST API 编辑问题时,您只能设置在该屏幕中可见的字段。
要仅更新剩余估算字段而不添加 timeSpent,您可以尝试按照 Jira Rest URL 和 Request Payload,
Jira UI 将更新如下,
发布一些有用的 Jira Rest API 链接, https://docs.atlassian.com/software/jira/docs/api/REST/8.0.2/#api/2/issue-addWorklog