3

POSTTower服务器中执行以下操作:

http://<my-tower-url>/api/v2/job_templates/10/launch/


Headers:
Content-Type:application/json
Authorization:sometokenhere

并找回错误:

{"detail":"未提供身份验证凭据。"}

还尝试了以下方法:

Headers:
Content-Type:application/json
Authorization:Token sometokenhere

正如这里建议的那样。

在正文中传递原始用户名/密码时也会发生同样的情况POST(并跳过Authorization标题):

{
    "username": "myusername",
    "password": "mypass",
    "inventory": "inventoryname",
    "verbosity": 0,
    "extra_vars": {
        "var1": "somevar1",
        "var2": "somevar2",
        "var3": "somevar3",
        "var4": "somevar4",
        "var5": "somevar5"
    }
}

知道为什么这不起作用吗?

4

2 回答 2

1
Authorization: Bearer <oauth2-token-value>

请参见此处,“3. OAuth 2 令牌身份验证”部分,“Curl 示例”部分。

于 2020-04-24T13:30:33.427 回答
0

我最终使用了基本身份验证,如下所示:

1 .创建您要运行 ci 作业的用户

2 .在相应的 CI 工作中执行以下职位:

curl -o /dev/null -s -w \"%{http_code}\n\" -X POST http://<my-tower-url>/api/v2/job_templates/10/launch/ \
                  -H \"authorization: Basic $MY_AUTH_TOKEN\" \
                  -H \"content-type: application/json\" \
                  -d \"@awx_data.json

在哪里

  • awx_data.json是保存实际POST主体的文件
  • MY_AUTH_TOKEN是上述用户的典型base64编码用户名+密码

您还可以分配上述结果并检查成功创建作业后返回的201结果。AWX

当然,轮询AWX服务器以检查作业是否成功完成是另一回事。

于 2018-05-11T09:22:38.280 回答