AgentSmith72
@AgentSmith72
JS - это моё хобби

Как передавать get параметр ссылки боту Телеграма?

Добрый вечер, и хороших всем выходных.

Формирую в notify.sh ссылку на скачивание артефактов в GitLab:
TEXT_ARTIFACT_URL="$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$CI_COMMIT_BRANCH/download?job=$3&job_token=$ARTIFACT_TOKEN"
TEXT_ARTIFACT_URL_HREF="Ссылка на артефакт: "'<a href="'$TEXT_ARTIFACT_URL'">Download Artifact</a>'
echo $TEXT_ARTIFACT_URL_HREF

и получаю такой вывод в консоли джобы переменной TEXT_ARTIFACT_URL_HREF:
Ссылка на артефакт: <a href="https://gitlab.mydomain.ru/api/v4/projects/6781/jobs/artifacts/release-0.0.1/download?job=build-backend-job&job_token=geg54y547457dfb">Download Artifact</a>

и ошибку от телеграм:
{"ok":false,"error_code":400,"description":"Bad Request: can't parse entities: Unclosed start tag at byte offset 163"}


То есть без get-параметра ссылка создаётся и скачивает артефакты, а вот передать токен не получается
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
Надо разобраться как работает экранирование и разные типы кавычек в шелле.
TEXT_ARTIFACT_URL_HREF="Ссылка на артефакт: <a href=\"$TEXT_ARTIFACT_URL\">Download Artifact</a>"
Ответ написан
Lynn
@Lynn
nginx, js, css
Попробуйте амперсанд (&) заменить на HTML-сущность (&amp;).

TEXT_ARTIFACT_URL="$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$CI_COMMIT_BRANCH/download?job=$3&amp;job_token=$ARTIFACT_TOKEN"
TEXT_ARTIFACT_URL_HREF="Ссылка на артефакт: "'<a href="'$TEXT_ARTIFACT_URL'">Download Artifact</a>'
echo $TEXT_ARTIFACT_URL_HREF


P.S. HTML нормально работает с одинарными кавычками, так что можно не страдать чередованием кавычек, а просто написать
TEXT_ARTIFACT_URL_HREF="Ссылка на артефакт: <a href='$TEXT_ARTIFACT_URL'>Download Artifact</a>"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы