Как добавить вложение (имя файла с префиксом) в jira с помощью curl из teamcity - PullRequest
0 голосов
/ 12 апреля 2020

Я хотел бы прикрепить pdf-файл к jira из teamcity, как прикрепить pdf-файл с префиксом, например, finalExecution202005.pdf? (здесь префикс 'finalExecution' всегда фиксирован)

рабочая команда: т.е. curl -D- -u% env.JIRAUSER%:% env.JIRAPWD% -X POST -H "X-Atlassian-Token: нет -check "-F" file=@finalExecution202005.pdf "http://myhost/rest/api/2/issue/%env.JIRAID%/attachments

после каждого изменения имени запуска, поэтому хотел бы искать его по префиксу

не рабочая команда: то есть curl -D- -u% env.JIRAUSER%:% env.JIRAPWD% -X POST -H "X-Atlassian-Token: без проверки" -F "file=@finalExecution*. Pdf" http://myhost/rest/api/2/issue/%env.JIRAID%/attachments

здесь я должен использовать подстановочные знаки в имени файла, но не уверен, как это работает? или какой-то лог c, который сначала ищет точное имя файла, а затем заменяет это имя на URL cmd

дополнительная информация: я выполняю все свои шаги на windows агент

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

решений как шаг teamcity: sh - c "FILENAME = $ (окончательный вариант *); curl -D -k -u% env.jira_username%:% env.jira_password% -X post -H \" X-Atlassian-Token: no-check \ "-F \" file = @ $ FILENAME \ "% env.JIRA_ENDPOINT% / rest / api / 2 / issue /% env.JIRA_TEST_EXECUTION_KEY% / attachments"

0 голосов
/ 17 апреля 2020

Решение, которое вы ищете, не связано ни с Jira, ни cURL. Вам просто нужно указать Windows, чтобы расширить подстановочные знаки в вашей команде. Это невозможно в Windows (не проблема в Linux).

Вы можете обойти это, используя FOR l oop и перебирая файлы в каталоге, затем сохраняя последний найденный файл (так как /OD используется в команде DIR) в переменную.

Для этого вам потребуется больше команд. Либо напишите несколько команд (если это позволяет TeamCity), либо подготовьте собственный пакетный файл, включающий несколько команд:

FOR /F "usebackq delims=" %%f IN (`DIR /B /OD finalExecution*.pdf`) DO SET MY_FILE=%%f
curl -D- -u %env.JIRAUSER%:%env.JIRAPWD% -X POST -H "X-Atlassian-Token: no-check" -F "file=%MY_FILE%"

Примечание. Используйте двойной знак процента (%%f) в пакетном файле DOS или один знак (%f) если вы запускаете его из командной строки в TeamCity.

Ответы на этот топи c:

РЕДАКТИРОВАТЬ: Вы можете запустить команды выше в одной строке следующим образом:

F "usebackq delims=" %f IN (`DIR /B /OD finalExecution*.pdf`) DO SET MY_FILE=%f & curl -D- -u %env.JIRAUSER%:%env.JIRAPWD% -X POST -H "X-Atlassian-Token: no-check" -F "file=%MY_FILE%"

Обратите внимание, что переменная %%f изменилась на %f, поскольку она не находится внутри командного файла.

...