From 44767f26ff0e9afd59e6677a273b8722ded2b530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Wed, 9 Oct 2024 13:41:08 +0200 Subject: [PATCH] Support parameters on token triggers Add missing parameters for token triggers. Esp used for rebuild and release commands. --- osc/commandline.py | 22 +++++++++++++++++++++- osc/obs_api/token.py | 10 ++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/osc/commandline.py b/osc/commandline.py index 86a29f17..a0e0d33e 100644 --- a/osc/commandline.py +++ b/osc/commandline.py @@ -1675,6 +1675,16 @@ class Osc(cmdln.Cmdln): help='Trigger the action of a token') @cmdln.option('', '--scm-token', metavar='SCM_TOKEN', help='The scm\'s access token (only in combination with a --operation=workflow option)') + @cmdln.option('-a', '--arch', + help='Release/Rebuild only binaries from the specified architecture') + @cmdln.option('-r', '--repo', + help='Release/Rebuild only binaries from the specified repository') + @cmdln.option('--target-project', metavar='PROJECT', + help='Release only to specified project') + @cmdln.option('--target-repo', metavar='REPO', + help='Release only to specified repository') + @cmdln.option('--set-release', metavar='RELEASE_TAG', + help='Rename binaries during release using this release tag') def do_token(self, subcmd, opts, *args): """ Show and manage authentication token @@ -1731,7 +1741,17 @@ class Osc(cmdln.Cmdln): print(status.to_string()) elif opts.trigger: print("Trigger token") - status = obs_api.Token.do_trigger(apiurl, token=opts.trigger, project=project, package=package) + status = obs_api.Token.do_trigger( + apiurl, + token=opts.trigger, + project=project, + package=package, + repo=opts.repo, + arch=opts.arch, + target_project=opts.target_project, + target_repo=opts.target_repo, + set_release=opts.set_release, + ) print(status.to_string()) else: if args and args[0] in ['create', 'delete', 'trigger']: diff --git a/osc/obs_api/token.py b/osc/obs_api/token.py index 2a405c37..e7d6df94 100644 --- a/osc/obs_api/token.py +++ b/osc/obs_api/token.py @@ -159,6 +159,11 @@ class Token(XmlModel): operation: Optional[str] = None, project: Optional[str] = None, package: Optional[str] = None, + repo: Optional[str] = None, + arch: Optional[str] = None, + target_project: Optional[str] = None, + target_repo: Optional[str] = None, + set_release: Optional[str] = None, ): if operation: url_path = ["trigger", operation] @@ -168,6 +173,11 @@ class Token(XmlModel): url_query = { "project": project, "package": package, + "repository": repo, + "architecture": arch, + "targetproject": target_project, + "targetrepository": target_repo, + "setrelease": set_release, } headers = {