How to create a GitLab merge request via command line

后端 未结 9 1173
清酒与你
清酒与你 2020-12-13 23:49

We are working on integrating GitLab (enterprise edition) in our tooling, but one thing that is still on our wishlist is to create a merge request in GitLab via a command li

9条回答
  •  轮回少年
    2020-12-14 00:11

    I use https://github.com/mdsb100/cli-gitlab

    I am creating the MR from inside of a gitlab CI docker container based on alpine linux, so I include the install command in before-script (that could also be included in your image). All commands in the following .gitlab-ci.yml file, are also relevant for normal command line usage (as long as you have the cli-gitlab npm installed).

    variables:
        TARGET_BRANCH: 'live'
        GITLAB_URL: 'https://your.gitlab.net'
        GITLAB_TOKEN: $PRIVATE_TOKEN #created in user profile & added in project settings
    before-script:
        -apk update && apk add nodejs && npm install cli-gitlab -g
    script:
        - gitlab url $GITLAB_URL && gitlab token $GITLAB_TOKEN
        - 'echo "gitlab addMergeRequest $CI_PROJECT_ID $CI_COMMIT_REF_NAME \"$TARGET_BRANCH\" 13 `date +%Y%m%d%H%M%S`"'
        - 'gitlab addMergeRequest $CI_PROJECT_ID $CI_COMMIT_REF_NAME "$TARGET_BRANCH" 13 `date +%Y%m%d%H%M%S` 2> ./mr.json'
        - cat ./mr.json
    

    This will echo true if the merge request already exists, and echo the json result of the new MR if it succeeds to create one (also saving to a mr.json file).

提交回复
热议问题