我正在尝试按照以下说明从Gitlab webhooks自动执行作业: https://github.com/jenkinsci/gitlab-plugin 现在,当我测试它时,我有一个Gitlab Webhook,响应为200,但是响应头为
Response headers:
Server: nginx/1.10.3 (Ubuntu)
Date: Wed, 24 Oct 2018 20:43:43 GMT
Transfer-Encoding: chunked
Connection: close
X-Content-Type-Options: nosniff
没有回复正文
这是预期的响应还是错误?,我的工作是多分支管道,在Jenkins中该工作未执行。我的Jenkins在Nginx的proxypass后面工作,我在Gitlab中的webhook网址的结构为https://jenkinsuser:jenkinsuserapiid@my.jenkins.server/project/myjob 在Jenkins全局配置中,在Jenkins的Gitlab插件中,我可以成功测试从Jenkins到Gitlab的连接。我不知道怎么了 但是在https://jenkinsuser:jenkinsuserapiid@my.jenkins.server/project/myjob中,我的工作是什么? 这:DOT_testing-webhook 或这样:view / DevOps / job / DOT_testing-webhook / job / master /
curl -X POST https://USER:API_ID@my.jenkins.com/project/DOT_testing-webhook/dev的执行响应:
访问/ project / DOT_testing-webhook / dev的问题。原因:
Not Found
答案 0 :(得分:0)
响应200看起来不错。响应主体取决于我猜的插件。我使用通用Webhook触发插件,并且我的响应正文具有将/将被触发的Jenkins作业名称。在您的情况下,响应正文可能为空,因为webhook找不到在webhook url中配置的作业,或者插件未将任何响应发回。
您的Webhook URL应采用以下格式,因为您的工作位于DOT_testing-webhook文件夹中:
https://USERID:APITOKEN@JENKINS_URL/project/DOT_testing-webhook/master
(如果使用全局身份验证-https://github.com/jenkinsci/gitlab-plugin#configuring-global-authentication)
https://JENKINS_URL/project/DOT_testing-webhook/master
(如果使用基于项目的身份验证-https://github.com/jenkinsci/gitlab-plugin#configuring-per-project-authentication),则需要在GitLab的“秘密令牌”字段中配置令牌