POST URL с токеном REST API в VBS без пароля - PullRequest
1 голос
/ 27 сентября 2019

Я запускаю задания по сборке в локальном Jenkins с:

curl -X POST "http://UID:TOKEN@server:port/job/DevGate/build?delay=0sec&json=%7B%22parameter%22%3A+%7B%22name%22%3A+%22DEVGATE_PACKAGELIST%22%2C+%22value%22%3A+%2212345678%3A9%22%7D%2C+%22statusCode%22%3A+%22303%22%2C+%22redirectTo%22%3A+%22.%22%7D&Submit=Build"

, что означает

curl -X POST "http://UID:TOKEN@server:port/job/DevGate/build?delay=0sec&json={"parameter": {"name": "DEVGATE_PACKAGELIST", "value": "12345678:9"}, "statusCode": "303", "redirectTo": "."}&Submit=Build"

UID как идентификатор пользователя.TOKEN - это токен API, предоставленный Jenkins / REST API.И это работает.Теперь эта команда запускается внутри VBScript, который в основном собирает данные для создания вышеупомянутого URL.Пароль не нужен, и я бы хотел сохранить его таким.Проблема: я хотел бы избежать использования curl и использовать только встроенную функциональность VBScript.

Что я пробовал до сих пор:

Dim http: Set http = CreateObject("Microsoft.XMLHTTP")
Dim url: url = "http://server:port/job/DevGate/build"
Dim data: data = "delay=0sec&json=%7B%22parameter%22:+%7B%22name%22:+%22DEVGATE_PACKAGELIST%22,+%22value%22:+%22" + the rest of data
'string2try = Base64EncodeString("UID:TOKEN")
'string2try = Base64EncodeString("UID:PASSWORD")
With http
  .Open "POST", url, False
   Call .SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
   Call .SetRequestHeader("oAuth", token)
  .Send data
  'Call .SetRequestHeader("X-Api-Key", token)
  'Call .SetRequestHeader("Authorization", "Bearer " & token)
  'Call .SetRequestHeader("X-Auth-Token", token or string2try)
  'Call .SetRequestHeader("X-Parse-REST-API-Key", token)
End With

Каждая перестановка этого кода не проходит аутентификацию,Как правильно передать мой токен + uid в VBScript без использования curl?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...