diff --git a/gitlab_release_notes/generate.py b/gitlab_release_notes/generate.py index a66c81e..9d7795b 100644 --- a/gitlab_release_notes/generate.py +++ b/gitlab_release_notes/generate.py @@ -4,7 +4,7 @@ import sys from .version import __version__ -def generate_release_notes(project_id, endstr = '
', since=None, quiet=False, **config): +def generate_release_notes(project_id, endstr = '
', since=None, quiet=False, target_branch=None, **config): """ Generate the release notes of a gitlab project from the last release @@ -33,7 +33,7 @@ def generate_release_notes(project_id, endstr = '
', since=None, quiet=Fals gl = gitlab.Gitlab(**config) project = gl.projects.get(project_id) - if not project.mergerequests.list(get_all=False,state='merged'): + if not project.mergerequests.list(get_all=False,state='merged', target_branch=target_branch): raise ValueError(f"There is no merged merge request for project {project_id} {project.name}") log = "" @@ -54,6 +54,7 @@ def generate_release_notes(project_id, endstr = '
', since=None, quiet=Fals get_all=False, order_by='updated_at', updated_after=last_date, + target_branch=target_branch, page=page) if not list_mrs: if not quiet: @@ -72,6 +73,7 @@ def generate_release_notes(project_id, endstr = '
', since=None, quiet=Fals get_all=False, order_by='updated_at', updated_after=last_date, + target_branch=target_branch, page=page ) @@ -92,6 +94,7 @@ def main(): parser.add_argument('--version', action='version', version=__version__) parser.add_argument('--html', action='store_true') parser.add_argument('--since', type=datetime.date.fromisoformat, required=False, default=None) + parser.add_argument('--target_branch', type=str, required=False, default=None) parser.add_argument('--quiet', action='store_true') args = parser.parse_args() @@ -104,6 +107,7 @@ def main(): url=args.url, endstr=endstr, since=args.since, + target_branch=args.target_branch, quiet=args.quiet, private_token=args.private_token, )