File 如何使用python使用文件参数启动参数化jenkins作业

File 如何使用python使用文件参数启动参数化jenkins作业,file,parameters,build,jobs,File,Parameters,Build,Jobs,情景: 我想用文件参数启动jenkins作业,使用python触发该作业 使用 适用于字符串参数,但如果需要文件参数,如何使用它 有人能帮我吗?Yes@markus-m你说得对,通过Build Parameter plugin,你可以用文件作为参数来构建作业。你可以将此文件提供给浏览器,Jenkins将根据需要运行你的作业,但是请在下面找到我的评论 作为参数传递的文件必须放在Jenkins工作区中,以便Jenkins可以访问和运行此文件。使用Jenkins环境变量也可以访问相同的文件名 对于您的

情景: 我想用文件参数启动jenkins作业,使用python触发该作业

使用

适用于字符串参数,但如果需要文件参数,如何使用它


有人能帮我吗?

Yes@markus-m你说得对,通过Build Parameter plugin,你可以用文件作为参数来构建作业。你可以将此文件提供给浏览器,Jenkins将根据需要运行你的作业,但是请在下面找到我的评论

作为参数传递的文件必须放在Jenkins工作区中,以便Jenkins可以访问和运行此文件。使用Jenkins环境变量也可以访问相同的文件名

对于您的场景,您有两种解决方案

  • 将要作为参数传递的文件复制到Jenkins Workspace,以便在使用文件位置运行作业时,Jenkins将上载该文件并相应地运行

  • 您可以使用远程API访问Jenkins,以便运行CURL命令并将文件作为参数传递


  • 我不清楚文件参数,你想用文件作为参数运行jenkins还是什么,确切地说。您可以使用参数构建作业…这些参数可以是布尔值、选项、字符串、文本参数等…还有一个选项文件参数。如果选择此选项,则可以在jenkins web界面上选择并上载文件。我的问题是,如何用python解决这个问题,类似于我上面的例子。我知道使用curl的可能性,但我不能使用它,原因不止一个。我的问题是,如果可能的话,使用python的jenkinsapi插件。我可以想象,它可以处理文件流,类似于f=open(path_to_file,“rb”)等@markus-m yes。。你可以。我早就用php做了,我用jenkins api做了同样的事情。然而,如果可能的话,我现在不能承诺。
    from jenkinsapi.jenkins import Jenkins
    
    J = Jenkins('http://localhost:8080')
    
    params = {'VERSION': '1.2.3', 'PYTHON_VER': '2.7'}
    
    J.build_job('foo', params)