pycontribs / jenkinsapi

A Python API for accessing resources and configuring Hudson & Jenkins continuous-integration servers
http://pypi.python.org/pypi/jenkinsapi
MIT License
858 stars 485 forks source link

BuildParameters with file option failing #768

Open premkumar970 opened 4 years ago

premkumar970 commented 4 years ago
Jenkinsapi 0.3.9
Jenkins VERSION
SUMMARY

Trying to send a file, as part of the job ,seeing this error , the file content is not json format.its text file

EXPECTED RESULTS

to submit the job successfully

ACTUAL RESULTS

exception raised

USEFUL INFORMATION
import jenkinsapi
#from jenkinsapi.job import *
from jenkinsapi.jenkins import Jenkins
import os.path

data_file = open('test-data.txt', 'r')
build_params = {"IMAGE":"test-image","test_URL":"www.test.com/test","AREA_NAME":"test","PARA":"4","TYPE":"custom"}

jenkins_url = "https://jenkins-pc.test.cci.test.com"
username = "test_user"
password = "passcode"

server = Jenkins(jenkins_url, username=username, password=password, timeout = 1200, lazy = True)
job = "tenant/sec/value-Check"
new_job = server[job]
running_job_object = new_job.invoke(block=True,
build_params=build_params,
files={'tests.custom': data_file})
data_file.close()

TRACEBACK
Traceback (most recent call last):
File "executeJob.py_t", line 23, in
files={'tests.custom': data_file})
File "/test/prem-test/lib/python3.6/site-packages/jenkinsapi/job.py", line 180, in invoke
if build_params and (not self.has_params()):
File "/test/prem-test/lib/python3.6/site-packages/jenkinsapi/job.py", line 730, in has_params
if any("parameterDefinitions" in a for a in (self._data["actions"])
TypeError: 'NoneType' object is not subscriptable
nickyfoster commented 4 years ago

same issue here

joelee2012 commented 3 years ago

you may want to try https://api4jenkins.readthedocs.io/en/latest/index.html