Команды с косой чертой — переменная/параметры

Я интегрирую slack с jenkins для использования slash команд и хочу знать, имеют ли slash команды variables

Я хочу сделать что-то вроде этого;

/this_word_should_be_in_the_url word

и иметь возможность использовать word в URL вызовет команда косой черты.

На их странице есть что-то вроде /weather 94070

Есть ли у меня доступ к 94070 и как-то установлен параметр query для URL.

Это возможно? Не могу найти документацию по этому поводу.

Спасибо.


person moh_abk    schedule 31.08.2016    source источник


Ответы (1)


Да. У вас будет доступ к word в соответствии с примером, который вы упомянули.

Так, например, если у вас есть следующее:

/this_word_should_be_in_the_url word

Затем будет дополнительный параметр запроса с именем text, который будет содержать все остальное после команды косой черты. Если у вас есть только один параметр, то должно быть просто просто обрезать и использовать параметр запроса text, но если у вас есть несколько слов и вам нужно разделить их на что-то более значимое, вам, возможно, придется использовать некоторое регулярное выражение или простую функцию разделения строк.

Это описано на странице Как работают команды. В этом разделе они предоставили различные параметры запроса, которые будут переданы на ваш внешний URL-адрес Slash Command. Для примера погоды данные, опубликованные в соответствии с документацией, таковы:

token=gIkuvaNzQIHg97ATvDxqgjtO team_id=T0001 team_domain=example channel_id=C2147483705 channel_name=test user_id=U2147483697 user_name=Steve command=/weather text=94070 response_url=https://hooks.slack.com/commands/1234/5678

Обратите внимание на параметр text в приведенном выше списке.

person Romin    schedule 01.09.2016
comment
а если у меня несколько слов? пример /lyft ride <pickup_address> to <dropoff_address> как я могу получить доступ к pickup_address и dropoff_address или мне нужно выполнять манипуляции со строками на моей стороне? - person moh_abk; 01.09.2016
comment
а под request.text все будет правильно? - person moh_abk; 01.09.2016
comment
Да, должно. Попробуйте. - person Romin; 01.09.2016
comment
Следуя вашему ответу и некоторым другим, я написал небольшой скрипт NodeJS, чтобы взять команду косой черты и вызвать jenkins. github.com/victorbello/jenkins-trigger - person blacktone; 28.04.2017