1

プログラムで Jenkins ジョブの構成を更新しようとすると、python Jenkins APIは正常に見えましたが、HTTP エラー 403 (禁止) のために構成を取得できません。

from jenkinsapi import api
j = api.Jenkins('https://server.test.com/hudson', 'fp12210', 'xxxxxxxx')
job = j.get_job('BBB-100-CheckStatusAll')
conf = job.get_config()

Traceback (most recent call last):
  ...
  File "C:\Python27\lib\urllib2.py", line 521, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 403: Forbidden

別の SO 投稿で言及されているように、URL にユーザーとパスワードを追加しても失敗します。

 j = api.Jenkins('https://fp12210:xxxxxxxx@server.test.com/hudson')

Traceback (most recent call last):
  ...
  File "build\bdist.win32\egg\jenkinsapi\utils\retry.py", line 39, in retry_function
    raise e
InvalidURL: nonnumeric port: 'xxxxxxxx@server.test.com/hudson'

何か考えはありますか?

4

2 に答える 2

0

このSO投稿が解決策です。エラー 500 が表示されるようになりましたが、これは別の話です...

于 2012-12-12T10:03:00.477 に答える
0

python jenkins apiurllib2.

この回答を見ることができます: https://stackoverflow.com/a/24048578/1733117プリエンプティブ基本認証を使用するか、取得したときに基本認証で再試行します403(たとえば、匿名ユーザーはアクセスが制限されています)。

于 2014-06-04T22:51:58.313 に答える