CircleCI API + Lambda-触发构建

时间:2018-12-10 19:33:12

标签: node.js aws-lambda circleci

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

我可以深入研究所有涉及的代码,但我想我可以简单地说。

如何在LAMBDA中将curl命令转换为HTTP请求!

在邮递员中可以使用的卷曲命令-

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命令的内容吗?!?!?

非常感谢。

1 个答案:

答案 0 :(得分:1)

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