[Resolved] REST API через curl, ошибка авторизации (You are not logged in)

Версия YouTrack 5.2.2-8792
Пытаюсь написать bash-скрипт, который создает задачу и выставляет у задачи поле Subsystem.

#!/bin/bash

# log in
curl -c cookies --request POST -d login=user -d password=password http://localhost:7080/rest/user/login 1>&- 2>&-

# create an issue
ISSUE_ID=`curl -i -b cookies --request PUT -d "project=$1" -d "summary=$3" -d "description=$4" http://localhost:7080/rest/issue 2>&- | grep "^Location" | sed "s/^.*\/rest\/issue\/\(.*\)$/\1/"`

# set subsystem
curl -i -b cookies --request POST -d "command=Subsystem $2" http://localhost:7080/rest/issue/$ISSUE_ID/execute
prettyPrint();
По факту - задача создается, но на второй запрос получаю:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><error>You are not logged in.</error>
prettyPrint();

При этом, если выполнять запросы по отдельности - все ок, не работает именно в связке. То есть я пробовал комментировать второй curl и выставлять ISSUE_ID "руками", все работает.

Пробовал также проходить авторизацию еще раз перед командой на смену подсистемы - не помогает.

Что я делаю не так?
3 comments
Comment actions Permalink
Здравствуйте,

Пожалуйста попробуйте исправить команду следующим образом:

ISSUE_ID=`curl -i -b cookies --request PUT -d "project=$1" -d "summary=$3" -d "description=$4" http://localhost:7080/rest/issue 2>&- | grep "^Location" | sed "s/^.*\/rest\/issue\/\(.*\)$/\1/" | tr -d '\r\n'
prettyPrint();

Спасибо.
0
Comment actions Permalink
Помогло!

/me посыпает голову пеплом :-)

PS. На будущее - тут лучше на английском общаться?
0
Comment actions Permalink
Отлично.

Общаться можно на любом удобном вам языке. Если вы хотите, чтобы в трэде могли участвовать и другие пользователи, то наверное имеет смысл переключиться на английский.

Спасибо.
0

Please sign in to leave a comment.