尝试将卷曲转换为可玩的游戏

时间:2019-01-13 10:00:18

标签: ansible

我正在尝试使用uri模块将以下curl转换为ansible播放: curl -u user:password -X PUT "http://xxxxxxxxrest/api/1.0/projects/project/repos/my-repo/permissions/groups?permission=REPO_WRITE&name=TestGroup"

有人可以建议如何在剧本中添加值吗?以下不起作用。错误:服务器拒绝此请求,因为请求实体的格式不受请求方法的请求资源支持

  - name: Add Permission to Group
    uri:
      url: http://xxxxxxxxrest/api/1.0/projects/project/repos/myrepo/permissions/groups
      method: PUT
      user: user
      password: password
      body: "permission={REPO_WRITE}"
      body: "name={TestGroup}"
      force_basic_auth: yes
      status_code: 200

1 个答案:

答案 0 :(得分:1)

 body: "permission={REPO_WRITE}"
 body: "name={TestGroup}"

我不知道为什么当它们不在curl的身体中时将它们移到身体;它们也是您curl中的查询参数,因为它们也应该在您的uri:调用中:

- uri:
    url: http://xx.../groups?permission=REPO_WRITE&name=TestGroup

话虽如此,请注意非幂等的行为(除非您在其他地方when:守卫着这个uri:),因为ansible不知道uri 的作用,因此无法就该uri是否需要进行任何声明。