如果知道 CI_BUILD_ID 和 CI_PROJECT_ID,如何得到:merge_request_iid?
How get : merge_request_iid if know CI_BUILD_ID and CI_PROJECT_ID?
我想创建由以下人员触发的工作
MERGE_REQUEST 并且存在
force_remove_source_branch 正确。
从 api
获取关于 force_remove_source_branch 的信息
curl --header "PRIVATE-TOKEN: ${API_ACCESS_TOKEN}" "$CI_GITLAB/projects/$CI_PROJECT_ID/merge_requests/$CI_OPEN_MERGE_REQUESTS/changes" | jq -r ".force_remove_source_branch"
对于 gitlab api 需要 CI_PROJECT_ID 和 CI_OPEN_MERGE_REQUESTS
CI_OPEN_MERGE_REQUESTS is merge_request_iid
我研究了很多管道
CI_PROJECT_ID存在就OK
但我找不到 merge_request_iid 的干净版本。
只需要 symantec variant
WD=/builds/projects/adv/ETL/mvp
See merge request projects/adv/ETL/mvp!18
如何简单地从管道获取 :merge_request_iid?
在 Predefined Variables Documentation 中存在一组 CI 个用于合并请求管道的变量。
具体来说,当管道源 ($CI_PIPELINE_SOURCE
) 为 merge_request_event
时,$CI_MERGE_REQUEST_IID
变量是预定义变量,因此只要作业 运行s 用于 Merge Requests pipelines,这个变量就会存在。
这是合并请求管道的示例作业:
Example Job:
stage: example
rules:
- if: $CI_PIPELINE_SOURCE === 'merge_request_event'
when: always
- when: never
script:
- echo $CI_MERGE_REQUEST_IID # prove that the Merge Request IID exists
- curl --header "PRIVATE-TOKEN: ${API_ACCESS_TOKEN}" "$CI_GITLAB/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/changes" | jq -r ".force_remove_source_branch"
如果作业的 merge_request_event
来源的规则部分看起来有点像这样,则作业将 运行 用于 Merge Request Pipelines。
我想创建由以下人员触发的工作 MERGE_REQUEST 并且存在 force_remove_source_branch 正确。
从 api
获取关于 force_remove_source_branch 的信息curl --header "PRIVATE-TOKEN: ${API_ACCESS_TOKEN}" "$CI_GITLAB/projects/$CI_PROJECT_ID/merge_requests/$CI_OPEN_MERGE_REQUESTS/changes" | jq -r ".force_remove_source_branch"
对于 gitlab api 需要 CI_PROJECT_ID 和 CI_OPEN_MERGE_REQUESTS
CI_OPEN_MERGE_REQUESTS is merge_request_iid
我研究了很多管道
CI_PROJECT_ID存在就OK
但我找不到 merge_request_iid 的干净版本。 只需要 symantec variant
WD=/builds/projects/adv/ETL/mvp
See merge request projects/adv/ETL/mvp!18
如何简单地从管道获取 :merge_request_iid?
在 Predefined Variables Documentation 中存在一组 CI 个用于合并请求管道的变量。
具体来说,当管道源 ($CI_PIPELINE_SOURCE
) 为 merge_request_event
时,$CI_MERGE_REQUEST_IID
变量是预定义变量,因此只要作业 运行s 用于 Merge Requests pipelines,这个变量就会存在。
这是合并请求管道的示例作业:
Example Job:
stage: example
rules:
- if: $CI_PIPELINE_SOURCE === 'merge_request_event'
when: always
- when: never
script:
- echo $CI_MERGE_REQUEST_IID # prove that the Merge Request IID exists
- curl --header "PRIVATE-TOKEN: ${API_ACCESS_TOKEN}" "$CI_GITLAB/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/changes" | jq -r ".force_remove_source_branch"
如果作业的 merge_request_event
来源的规则部分看起来有点像这样,则作业将 运行 用于 Merge Request Pipelines。