mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
32 lines
890 B
Python
32 lines
890 B
Python
|
#!/usr/bin/env python
|
||
|
#
|
||
|
# internal use only for CI
|
||
|
# get latest MR IID by source branch
|
||
|
|
||
|
import argparse
|
||
|
import os
|
||
|
|
||
|
from gitlab_api import Gitlab
|
||
|
|
||
|
|
||
|
def get_MR_IID_by_source_branch(source_branch):
|
||
|
if not source_branch:
|
||
|
return ''
|
||
|
gl = Gitlab(os.getenv('CI_PROJECT_ID'))
|
||
|
if not gl.project:
|
||
|
return ''
|
||
|
mrs = gl.project.mergerequests.list(state='opened', source_branch=source_branch)
|
||
|
if mrs:
|
||
|
mr = mrs[0] # one source branch can only have one opened MR at one moment
|
||
|
return mr.iid
|
||
|
return ''
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
parser = argparse.ArgumentParser(description='Get the latest MR IID by source branch, if not found, return empty string')
|
||
|
parser.add_argument('source_branch', nargs='?', help='source_branch') # won't fail if it's empty
|
||
|
|
||
|
args = parser.parse_args()
|
||
|
|
||
|
print(get_MR_IID_by_source_branch(args.source_branch))
|