Jenkins - Passing array/list to Parameterized Remote Build

后端 未结 2 817
故里飘歌
故里飘歌 2021-01-27 11:15

I am using Jenkins to remotely run an Ansible playbook via the Publish Over SSH command.

This command:

curl -k -v -X POST https://jenkins.m         


        
2条回答
  •  孤街浪徒
    2021-01-27 11:44

    This is a bit of a guess, based on a similar problem I have seen with a choice parameter. Any documentation I have found seems to be wrong about how to handle these. It shouldn't be a list. Try passing as a string with newlines separating the items.

    curl -k -v -X POST https://jenkins.myhost.com/job/Ansible_Deploy/build?token= --user : --data-urlencode json='{"parameter":[{"name":"thisIsAList","value":"one\ntwo\nthree"}]}'
    

    Let me know if this works. I'm interested to find out.


    Edit: (based on comments)

    Would this work:

    curl -k -v -X POST https://jenkins.myhost.com/job/Ansible_Deploy/build?token= --user : --data-urlencode json='{"parameter":[{"name":"thisIsAList","value":"'{\"thisIsAList\": [\"one\",\"two\",\"three\"]}'"}]}'
    

    The nested quotes get a bit ugly. If you are using pipeline or can massage the data in a shell script first, it would probably be cleaner.

提交回复
热议问题