diff --git a/jenkins/__init__.py b/jenkins/__init__.py index 6236f4c..d9387d2 100755 --- a/jenkins/__init__.py +++ b/jenkins/__init__.py @@ -2136,9 +2136,14 @@ class Jenkins(object): folder_url, short_name = self._get_job_folder(folder_name) name = self._get_tag_text('id', config_xml) self.assert_credential_exists(name, folder_name, domain_name) + + reconfig_url = self._build_url(CONFIG_CREDENTIAL, locals()) + self.jenkins_open(requests.Request( - 'POST', self._build_url(CONFIG_CREDENTIAL, locals()) - )) + 'POST', reconfig_url, + data=config_xml.encode('utf-8'), + headers=DEFAULT_HEADERS + )) def list_credentials(self, folder_name, domain_name='_'): '''List credentials in domain of folder diff --git a/tests/test_credential.py b/tests/test_credential.py index 8e4e5f7..8e7418b 100644 --- a/tests/test_credential.py +++ b/tests/test_credential.py @@ -332,6 +332,10 @@ class JenkinsReconfigCredentialTest(JenkinsCredentialTestBase): jenkins_mock.call_args_list[2][0][0].url, self.make_url('job/Test%20Folder/credentials/store/folder/domain/' '_/credential/Test%20Credential/config.xml')) + self.assertEqual( + jenkins_mock.call_args_list[2][0][0].data, + self.config_xml.encode('utf-8')) + self._check_requests(jenkins_mock.call_args_list)