LINUX.ORG.RU

jira rest api approve

 ,


0

2

Привет всем, надеюсь здесь есть кто знает api жиры. Я лиш немного,, Вопрос - как назначить согласование задачи? Не нашел в доках, есть же полe approvers ,но какие точно данные json передать? И по какой ссылке rest ?


  1. Находишь rest url в доках. Доки разные для cloud и hosted.
  2. Смотришь json выхлоп таски в браузере - поля тестовой таски, как они меняется, когда ты вручную делаешь нужные действия. Возможно твое approvers - это вообще какое-то customfield_xxxxx.
  3. Меняешь поля согласно докам.
  4. Если при этом ещё нужно поменять статус таски, то делаешь transition.
Pavval ★★★★★ ()
Ответ на: комментарий от Pavval

Да именно customfiеld, и тут я не понимаю какой номер его должен быть? И транзишн тоже происходит, а это разные ссылки , транзишн и апрув, и как быть непонятно? По очереди ? Тогда какая сначала?

flat ()
Последнее исправление: flat (всего исправлений: 2)
Ответ на: комментарий от flat
  1. Ты нашёл доки?
  2. Ты зашёл на какой-то свой таск через rest URL, чтобы увидеть весь таск в JSON?

У тебя сразу будет меньше вопросов, когда ты это сделаешь.

По очереди ? Тогда какая сначала?

Может при транзишне можно сразу изменить поля - не уверен, надо смотреть доку. Если нет, то точно сработает сначала задать поле, а потом выполнить транзишн. У тебя скорее всего это поле записано как необходимое для транзита, потому транзишн без него невозможен.

Pavval ★★★★★ ()
Ответ на: комментарий от Pavval

ухх не такто все есть как по докам, подсмотрел я customfield в реальной задаче с назначеными согласователями, и пытаюсь изменить теперь это поле, но хз по какой ссылке опятьтаки - rest/servicedeskapi/request/SD-118496/approval/ -по докам, но там разрешен только GET, а в доках PUT, а если по http://jira-new/rest/api/2/issue/sd-117320 то –data ‘{ «fields»: { «customfield_10904»: [{ «name»:«apr1» },{ «name»:«apr2» } ] } }’ - проходят но поле не меняют,,

вобщем когда дое… отпишу чтоб другие не мучились

flat ()
Ответ на: комментарий от Pavval

да уже домучил - вот так работает-

-определяем customfield -

curl -ks -u $user:$pw -X GET http://jira-new/rest/api/2/field |jq |grep -i согласующие -1 |grep customfield

-заполняем это поле апруверами -

curl -ks -u $user:$pw -X PUT -H «Content-Type: application/json» –data ‘{ «fields»: { "’$customfield’": [{ «name»:«‘$apr1’»},{«name»:«‘$apr2’»} ] } }’ http://jira-new/rest/api/latest/issue/$issue

-находим номер action_id= для transition -согласование одного из-

curl -ks -u $user:$pw -X GET http://jira-new/browse/$issue |sed -e ‘s/span>/\n/g’|grep -i «согласование одного»

  • и делаем переход

curl -ks -u $user:$pw -X POST -H «Content-Type: application/json» –data ‘{«transition»:{«id»:"’$action_id’"}}’ http://jira-new/rest/api/latest/issue/$issue/transitions

flat ()