首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Concourse:使用HTTP请求触发作业

Concourse:使用HTTP请求触发作业
EN

Stack Overflow用户
提问于 2017-01-24 17:00:58
回答 2查看 6.4K关注 0票数 3

我正在尝试在我的Git服务器上使用web钩子触发Concourse作业。根据这个issue on Github,我找到了一个endpoint definition。所以我试着

代码语言:javascript
复制
curl http://10.20.30.101:8080/api/v1/pipelines/helloworld/resources/resource-tutorial/check -X POST

其中helloworld是我的管道的名称,resource-tutorial是我想要触发检查的资源的名称。

但是Concourse回来了

代码语言:javascript
复制
404 page not found

我做错了什么?有人能告诉我正确的终点吗?

EN

回答 2

Stack Overflow用户

发布于 2017-06-03 08:07:34

目前有资源的web钩子令牌:https://concourse-ci.org/configuring-resources.html#webhook_token

/api/v1/teams/TEAM_NAME/pipelines/PIPELINE_NAME/resources/RESOURCE_NAME/check/webhook?webhook_token=WEBHOOK_TOKEN

您可以在此处添加web挂钩:https://github.com/<username>/<repo>/settings/hooks/new

票数 5
EN

Stack Overflow用户

发布于 2017-01-27 06:13:24

经过一些调查和非常支持的concourse slack channel的帮助,我想出了以下解决方案(不允许通过HTTP GET请求触发作业,但这是一个很好的开始)。

首先,以described in the documentation身份创建一个新团队(使用基本身份验证解决方案):

代码语言:javascript
复制
fly set-team -n my-team \
  --basic-auth-username ci \
  --basic-auth-password changeme

现在使用以下命令生成身份验证令牌:

代码语言:javascript
复制
curl -u foo:bar http://<CONCOURSE HOSTNAME>:<CONCOURSE PORT>/api/v1/teams/my-team/auth/token

{"type":"Bearer","value":"... VERY LONG TOKEN..."}

您现在可以通过使用VERY LONG TOKEN作为cookie来触发构建,方法是:

代码语言:javascript
复制
curl -v --cookie "ATC-Authorization=Bearer VERY LONG TOKEN" \
  http://<CONCOURSE HOSTNAME>:<CONCOURSE PORT>/api/v1/teams/my-team/pipelines/<PIPELINE NAME>/jobs/<JOB NAME>/builds -X POST

现在正在触发该作业。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41823945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档