1
0
mirror of https://github.com/openSUSE/osc.git synced 2025-02-14 06:17:18 +01:00

Merge pull request #1639 from adrianschroeter/token_parameters

Support parameters on token triggers
This commit is contained in:
Daniel Mach 2024-10-11 16:21:49 +02:00 committed by GitHub
commit 70975fc5b8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 31 additions and 1 deletions

View File

@ -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']:

View File

@ -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 = {