rbtcollins: The failure is from other flaky tests :(. Could you please retest it?
diff --git a/jenkinsapi/build.py b/jenkinsapi/build.py
index 2e142da..e220b61 100644
--- a/jenkinsapi/build.py
+++ b/jenkinsapi/build.py
@@ -106,7 +106,7 @@ class Build(JenkinsBase):
                 if elem.get('_class') == 'hudson.model.ParametersAction':
                     parameters = elem.get('parameters', {})
                     break
-            return {pair['name']: pair['value'] for pair in parameters}
+            return {pair['name']: pair.get('value') for pair in parameters}
 
     def get_changeset_items(self):
         """
diff --git a/tox.ini b/tox.ini
index a5aac73..16b7cc1 100644
--- a/tox.ini
+++ b/tox.ini
@@ -22,7 +22,7 @@ usedevelop=
 commands=
   python -m pylint jenkinsapi
   python -m pycodestyle
-  py.test -sv --cov=jenkinsapi --cov-report=term-missing --cov-report=xml jenkinsapi_tests
+  py.test -sv --cov=jenkinsapi --cov-report=term-missing --cov-report=xml jenkinsapi_tests {posargs}
 
 [testenv:args]
 deps = -rtest-requirements.txt

jenkinsapi.build.get_params() fails when Job have password parameter
##### ISSUE TYPE
<!--- Pick one below and delete the rest: -->
 - Bug Report

##### Jenkinsapi VERSION
0.3.4
##### Jenkins VERSION
Jenkins ver. 2.60.2
##### SUMMARY
When Job have Password Parameter and I try to get build parameters of this job ( jenkinsapi.build.get_params() ), procedure get_params() fails with traceback:

```
Traceback (most recent call last):
  File "/opt/pycharm/helpers/pydev/pydevd.py", line 1599, in <module>
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/opt/pycharm/helpers/pydev/pydevd.py", line 1026, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/opt/pycharm/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/tema/Pro/Jenins-job-restart/jjr.py", line 320, in <module>
    jjr.start()
  File "/home/tema/Pro/Jenins-job-restart/jjr.py", line 50, in start
    self.__cycle()
  File "/home/tema/Pro/Jenins-job-restart/jjr.py", line 100, in __cycle
    job_params = job_build.get_params()
  File "/home/tema/Pro/ve_Jenkins/lib/python3.5/site-packages/jenkinsapi/build.py", line 110, in get_params
    return {pair['name']: pair['value'] for pair in parameters}
  File "/home/tema/Pro/ve_Jenkins/lib/python3.5/site-packages/jenkinsapi/build.py", line 110, in <dictcomp>
    return {pair['name']: pair['value'] for pair in parameters}
KeyError: 'value'
```

because value "parameters" in get_params():

`[{'name': 'BRANCH', '_class': 'hudson.model.StringParameterValue', 'value': 'staging'}, {'name': 'REPO_URL', '_class': 'hudson.model.StringParameterValue', 'value': 'git.my.com:/BB.git'}, {'name': 'NODE', '_class': 'org.jvnet.jenkins.plugins.nodelabelparameter.NodeParameterValue', 'value': 'my11'}, {'name': 'DOMAIN', '_class': 'hudson.model.StringParameterValue', 'value': 'my.lan'}, {'name': 'SETUP', '_class': 'hudson.model.BooleanParameterValue', 'value': True}, {'name': 'LAUNCH', '_class': 'hudson.model.BooleanParameterValue', 'value': True}, {'name': 'REBUILD', '_class': 'hudson.model.StringParameterValue', 'value': 'No_Force'}, {'name': 'JENKINS_TESTS', '_class': 'hudson.model.BooleanParameterValue', 'value': False}, {'name': 'DR_REGISTRY', '_class': 'hudson.model.StringParameterValue', 'value': 'dr.my.lan:5000'}, {'name': 'TESTS_LISTS', '_class': 'com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterValue', 'value': 'registration_actions'}, {'name': 'CURRENCY', '_class': 'hudson.model.StringParameterValue', 'value': 'EUR'}, {'name': 'DEFAULT_LANG_CODE', '_class': 'hudson.model.StringParameterValue', 'value': 'en'}, {'name': 'SELENIUM_HOST', '_class': 'hudson.model.StringParameterValue', 'value': my2.my.lan'}, {'name': 'GET_JS_ERRORS', '_class': 'hudson.model.BooleanParameterValue', 'value': False}, {'name': 'OPERATOR_ID', '_class': 'hudson.model.StringParameterValue', 'value': '15'}, {'name': 'OPERATOR_API_SERVER_URL', '_class': 'hudson.model.StringParameterValue', 'value': 'op.my.com:8043'}, {'name': 'USER_API_SERVER_HOST', '_class': 'hudson.model.StringParameterValue', 'value': 'cw-gm.my.com'}, {'name': 'EXTERNAL_OP_HOST', '_class': 'hudson.model.StringParameterValue', 'value': 'my.com'}, {'name': 'MOBILE_SITE_URL', '_class': 'hudson.model.StringParameterValue', 'value': 'm.my.com'}, {'name': 'BO_SERVER_HOST', '_class': 'hudson.model.StringParameterValue', 'value': 'bo.my.com'}, {'name': 'PREPROD', '_class': 'hudson.model.BooleanParameterValue', 'value': True}, {'name': 'OPERATOR_PASSWORD', '_class': 'hudson.model.PasswordParameterValue'}, {'name': 'FB_APPID', '_class': 'hudson.model.PasswordParameterValue'}, {'name': 'FB_SECRET', '_class': 'hudson.model.PasswordParameterValue'}]
`

last key pairs (OPERATOR_PASSWORD FB_APPID FB_SECRET) don't have key 'value' because its "Password Parameters"

##### EXPECTED RESULTS
Key 'value' must return at least an empty string.

##### ACTUAL RESULTS
Procedure fails with traceback written above.

##### USEFUL INFORMATION
All info in ##### SUMMARY

diff --git a/jenkinsapi_tests/unittests/test_build.py b/jenkinsapi_tests/unittests/test_build.py
index fe31972..8df3adf 100644
--- a/jenkinsapi_tests/unittests/test_build.py
+++ b/jenkinsapi_tests/unittests/test_build.py
@@ -157,6 +157,25 @@ def test_only_ParametersAction_parameters_considered(build):
     assert params == expected
 
 
+def test_ParametersWithNoValueSetValueNone_issue_583(build):
+    """SecretParameters don't share their value in the API."""
+    expected = {
+        'some-secret': None,
+    }
+    build._data = {
+        'actions': [
+            {
+                '_class': 'hudson.model.ParametersAction',
+                'parameters': [
+                    {'name': 'some-secret'},
+                ]
+            }
+        ]
+    }
+    params = build.get_params()
+    assert params == expected
+
+
 def test_build_env_vars(monkeypatch, build):
     def fake_get_data(cls, tree=None, params=None):
         return configs.BUILD_ENV_VARS

pip install -e .
parse_log_pytest
requirements.txt
pytest pytest-mock pytest-cov pycodestyle>=2.3.1 astroid>=1.4.8 pylint>=1.7.1 tox>=2.3.1 mock
apt-get update apt-get install -y gcc
3.9
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
astroid==3.3.9
cachetools==5.5.2
certifi==2025.1.31
chardet==5.2.0
charset-normalizer==3.4.1
colorama==0.4.6
coverage==7.8.0
dill==0.3.9
distlib==0.3.9
exceptiongroup==1.2.2
filelock==3.18.0
idna==3.10
iniconfig==2.1.0
isort==6.0.1
-e git+https://github.com/pycontribs/jenkinsapi.git@cdd3f90e4ce5122db24e31038aeee098357313a4#egg=jenkinsapi
mccabe==0.7.0
mock==5.2.0
packaging==24.2
platformdirs==4.3.7
pluggy==1.5.0
pycodestyle==2.13.0
pylint==3.3.6
pyproject-api==1.9.0
pytest==8.3.5
pytest-cov==6.0.0
pytest-mock==3.14.0
pytz==2025.2
requests==2.32.3
six==1.17.0
tomli==2.2.1
tomlkit==0.13.2
tox==4.25.0
typing_extensions==4.13.0
urllib3==2.3.0
virtualenv==20.29.3

name: jenkinsapi
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - astroid==3.3.9
      - cachetools==5.5.2
      - certifi==2025.1.31
      - chardet==5.2.0
      - charset-normalizer==3.4.1
      - colorama==0.4.6
      - coverage==7.8.0
      - dill==0.3.9
      - distlib==0.3.9
      - exceptiongroup==1.2.2
      - filelock==3.18.0
      - idna==3.10
      - iniconfig==2.1.0
      - isort==6.0.1
      - mccabe==0.7.0
      - mock==5.2.0
      - packaging==24.2
      - platformdirs==4.3.7
      - pluggy==1.5.0
      - pycodestyle==2.13.0
      - pylint==3.3.6
      - pyproject-api==1.9.0
      - pytest==8.3.5
      - pytest-cov==6.0.0
      - pytest-mock==3.14.0
      - pytz==2025.2
      - requests==2.32.3
      - six==1.17.0
      - tomli==2.2.1
      - tomlkit==0.13.2
      - tox==4.25.0
      - typing-extensions==4.13.0
      - urllib3==2.3.0
      - virtualenv==20.29.3
prefix: /opt/conda/envs/jenkinsapi

jenkinsapi_tests/unittests/test_build.py::test_ParametersWithNoValueSetValueNone_issue_583
jenkinsapi_tests/unittests/test_build.py::test_build_env_vars_wo_injected_env_vars_plugin jenkinsapi_tests/unittests/test_build.py::test_build_env_vars_other_exception
jenkinsapi_tests/unittests/test_build.py::test_timestamp jenkinsapi_tests/unittests/test_build.py::test_name jenkinsapi_tests/unittests/test_build.py::test_duration jenkinsapi_tests/unittests/test_build.py::test_get_causes jenkinsapi_tests/unittests/test_build.py::test_get_description jenkinsapi_tests/unittests/test_build.py::test_get_slave jenkinsapi_tests/unittests/test_build.py::test_get_revision_no_scm jenkinsapi_tests/unittests/test_build.py::test_downstream jenkinsapi_tests/unittests/test_build.py::test_get_params jenkinsapi_tests/unittests/test_build.py::test_get_params_different_order jenkinsapi_tests/unittests/test_build.py::test_only_ParametersAction_parameters_considered jenkinsapi_tests/unittests/test_build.py::test_build_env_vars
tox.ini jenkinsapi/build.py
tox.ini jenkinsapi/build.py