Я запускаю задания по сборке в локальном 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
?