

JenkinsとGitbucketを下記の情報を参考に連携させようとしましたがうまくいきませんでした。  
状況は、下記のとおりですが、うまく行っているバージョンの組み合わせや設定のポイントなど情報がありませんでしょうか。

[イマドキの GitBucket + Jenkinsの連携は Jenkinsfile と GitHub Organization Folder
プラグインでこんなに簡単（になる予定）](https://qiita.com/kounoike/items/52fa35ca5813d0edc7b7)

Jenkinsの設定でGitHub Enterprise ServersのAPI endpointを登録すると下記のようなエラーメッセージが出ます。

[code]

    This URL requires POST
    The URL you're trying to access requires that requests be sent using POST (like a form submission). The button below allows you to retry accessing this URL using POST. URL being accessed:
     http://jenkins.jenkins_default:8080/descriptorByName/org.jenkinsci.plugins.github_branch_source.Endpoint/checkApiUri?value=http%3A%2F%2Fgitbucket.jenkins_default%2Fapi%2Fv3%2F&apiUri=http%3A%2F%2Fgitbucket.jenkins_default%2Fapi%2Fv3%2F
    
    If you were sent here from an untrusted source, please proceed with caution.
    
[/code]

jenkinsサーバからgitbucketサーバには、<http://gitbucket.jenkins_default/api/v3/>
でGETでアクセスできていますが、POSTは、下記の通り404となることが原因でした。

[code]

    bash-4.4# curl -X GET http://172.18.0.2/api/v3/
    {"rate_limit_url":"http://gitbucket.jenkins_default/api/v3/rate_limit"}
    bash-4.4# curl -X POST http://172.18.0.2/api/v3/
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
    <title>Error 404 Not Found</title>
    </head>
    <body><h2>HTTP ERROR 404</h2>
    <p>Problem accessing /api/v3/. Reason:
    <pre>    Not Found</pre></p>
    </body>
    </html>
    bash-4.4# 
    
[/code]

Jenkinsのバージョンは、2.121.2  
Gitbucketのバージョンは、4.26.0

以上


CC BY-SA 4.0
2018-07-23T06:32:13.460
46862
2019-12-16T06:29:28.050
2019-12-16T06:29:28.050
3060
5285
question
git jenkins gitbucket
Jenkinsとgitbucketの連携


[該当のソース](https://github.com/jenkinsci/github-branch-source-plugin/blob/github-
branch-
source-2.3.6/src/main/java/org/jenkinsci/plugins/github_branch_source/Endpoint.java)の下記のコードの145行目でPOSTが必須となっているのでエラーとなっていました。

[code]

    145    @RequirePOST
    146    @Restricted(NoExternalUse.class)
    147    public FormValidation doCheckApiUri(@QueryParameter String apiUri) {
    
[/code]

Jenkinsの設定画面では、GitbuketのURLを入力するとERRORになりますが、そのまま設定を保存して、Multibranch
pipelineのジョブを作成し、Branch SourceでGitHugを選択、API
Endpointから登録したサーバを選択しOwnerにGitbucketのユーザ名を入力すると、下記のスクリーンショットのようにRepositoryからGitbucketのリポジトリが選択できるようになっているので、最初のエラーは無視すれば良いようです。

[![Multibranch
pipelineジョブの設定](https://i.stack.imgur.com/W8sql.png)](https://i.stack.imgur.com/W8sql.png)


CC BY-SA 4.0
2018-07-27T02:51:06.443
47008
2018-07-27T02:51:06.443
5285
46862
answer