如何以编程方式在jenkins作业configuration页面中设置github回购

我想每次生成一个新的Jenkins容器时,通过代码在http:// host-ip:8080 / job / my_project / configure jenkins页面中设置Github仓库URL。

我读了这可以通过replaceconfig.xml使用python-jenkins的reconfig_job函数来完成。

那么我将如何做到这一点?

你有一些线索:“ 我怎样才能使用api更新jenkins的工作?

例如,由于您产生了一个新的Jenkins容器,因此您可以将更新后的config.xml到容器(在该作业的正确path中)

( OP Kostas Demiris在git bash中运行的注释中证实了这一点)

您也可以使用其中一个Jenkins API库 ,但首先检查一下简单的curl是否足够

 #Get the current configuration and save it locally curl -X GET http://user:password@jenkins.server.org/job/myjobname/config.xml -o mylocalconfig.xml #Update the configuration via posting a local configuration file curl -X POST http://user:password@jenkins.server.org/job/myjobname/config.xml --data-binary "@mymodifiedlocalconfig.xml" 

更新的Jenkins文件提到 (用于更新现有configuration作业中的一个参数):

 Simple example - sending "String Parameters": curl -X POST JENKINS_URL/job/JOB_NAME/build \ --data token=TOKEN \ --data-urlencode json='{"parameter": [{"name":"id", "value":"123"}, {"name":"verbosity", "value":"high"}]}' Another example - sending a "File Parameter": curl -X POST JENKINS_URL/job/JOB_NAME/build \ --user USER:PASSWORD \ --form file0=@PATH_TO_FILE \ --form json='{"parameter": [{"name":"FILE_LOCATION_AS_SET_IN_JENKINS", "file":"file0"}]}'