繁体   English   中英

CircleCI API + Lambda - 触发构建

[英]CircleCI API + Lambda - triggering a build

我无法让 Lambda 在 CircleCI 中触发构建/部署。

如何在 Lambda 中将 curl 命令转换为 HTTP 请求?

适用于 Postman 的 curl 命令:

https://circleci.com/api/v1.1/project/:vcs-type/:username/:project/tree/:branch?circle-token=:my-token
content-type: app/json
body: 
{
    "build_parameters": {
            "CIRCLE_JOB": "deploy_docker"
        }
}

我的适当信用已经到位,并且在 Postman 中效果很好。

假设邮递员中的一切都是正确的,我将如何将其转移到 Lambda?

现在:

var buttonClicked = slackJSON.actions[0].name
   const postOptions = {
    host: 'api.circleci.com',
    path:'/api/v1.1/projects/github/joha0033/scyte-bot-cid/tree/dev?circle-token=:'+ process.env.CIRCLE_TOKEN,
    method: 'POST',
    headers: {
          'Content-Type': 'application/json',
    },
    build_parameters: {CIRCLE_JOB: "deploy-docker"},
    revisions: 'a511d5fcc4ebb09e50239a3f025807860f2a5e2d',
    
};

const deployInfo = () => {
    const deployData = {
        build_parameters: {
            CIRCLE_JOB: 'deploy_docker'
        }
    }
    
    return JSON.stringify(deployData)
}

const postHandler = () => {
    console.log('postHandler')
    const postReq = https.request(postOptions, function(res){
        res.setEncoding('utf8');
        res.on('data', (chunk) => {
          console.log('Response: >--> ' + chunk);
        });
    })
    
    postReq.write(deployInfo())
    postReq.end()
}

callback(null, postHandler())

这可能吗?

我得到这个作为回应:

响应:>--> 糟糕,没有这样的页面。

或者我可以在 AWS 的某个地方创建一些东西,通过 api POST 请求触发 curl 命令吗?

邮递员正在发送到project ,您的代码将其发送到projects - 这可能是问题所在

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM