Переменные конвейера Bitbucket в curl - PullRequest
1 голос
/ 02 апреля 2019

Я использую конвейеры bitbucket, и в один шаг я хочу вызвать запрос curl для нашего API для сохранения данных развертывания в БД.

Но когда я пытаюсь вызвать curl с переменными BITBUCKET_BRANCH и BITBUCKET_REPO_SLUG, они всегда являютсяпуст или не заполнен вообще.

image: php:7.1.1

pipelines:
  branches:
    master:
    - step:
        name: Preparing pipeline
        script:
          - echo 'Preparing pipeline'

    - step:
        name: Deploy to dev10
        trigger: manual
        deployment: staging
        script:
          - cat ./deploy.sh | ssh root@37.42.83.244
    dev1/*:
    - step:
        name: Preparing pipeline
        script:
          - echo 'Preparing pipeline'
          - export BRANCH=$BITBUCKET_BRANCH
          - echo ${BRANCH}
          - curl -X POST "http://api.url.com/api/savePipelineBranch" -H "Content-Type:application/x-www-form-urlencoded" -H "cache-control:no-cache" -H "content-type:multipart/form-data;" -F branch=${BRANCH} -F repository_slug=$BITBUCKET_REPO_SLUG

    - step:
        name: Deploy to dev1
        trigger: manual
        deployment: staging
        script:
          - cat ./deploy_dev1.sh | ssh root@37.41.82.255

Вот ответ, который я получаю из конвейера

curl -X POST "http://api.url.com/api/savePipelineBranch" -H "Content-Type:application/x-www-form-urlencoded" -H "cache-control:no-cache" -H "content-type:multipart/form-data;" -F branch=${BRANCH} -F repository_slug=$BITBUCKET_REPO_SLUG
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
<!DOCTYPE html><!--
Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column &#039;branch&#039; cannot be null (SQL: insert into `branch` (`branch`, `repository_slug`, `updated_at`, `created_at`) values (, , 2019-04-02 08:38:02, 2019-04-02 08:38:02)) in file /home/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 664
Stack trace:

Вы можете видеть, что для ветвей dev1 / * у меня есть первый шаг, где я 'м, вызывающий локон с 2 переменными.Я попробовал два метода использования переменных, которые я нашел в Интернете, но ни один из них не работает.Я каждый раз получаю ответ от curl, что переменные пусты.

Мне нужно отправить эти переменные в этой команде curl, чтобы я мог сохранить эти переменные в БД.

1 Ответ

1 голос
/ 24 июня 2019

Попробуйте использовать

curl -d "{\"branch\":\"$BITBUCKET_BRANCH\",\"repository_slug\":\"$BITBUCKET_REPO_SLUG\"}" -H "Content-Type:application/json" -X POST http://api.url.com/api/savePipelineBranch
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...