Skip to content

Commit 9960072

Browse files
- set releaseproject in incident requests
1 parent 3820c19 commit 9960072

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

osc/commandline.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2637,6 +2637,8 @@ def do_createincident(self, subcmd, opts, *args):
26372637
help='specify incident number to merge in')
26382638
@cmdln.option('--incident-project', metavar='INCIDENT_PROJECT',
26392639
help='specify incident project to merge in')
2640+
@cmdln.option('--release-project', metavar='RELEASE_PROJECT',
2641+
help='specify the project where the final package will get released')
26402642
def do_maintenancerequest(self, subcmd, opts, *args):
26412643
"""${cmd_name}: Create a request for starting a maintenance incident.
26422644
@@ -2690,7 +2692,7 @@ def do_maintenancerequest(self, subcmd, opts, *args):
26902692
if not opts.message:
26912693
opts.message = edit_message()
26922694

2693-
r = create_maintenance_request(apiurl, source_project, source_packages, target_project, opt_sourceupdate, opts.message)
2695+
r = create_maintenance_request(apiurl, source_project, source_packages, target_project, opts.release_project, opt_sourceupdate, opts.message)
26942696
print r.reqid
26952697

26962698

osc/core.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2199,7 +2199,7 @@ class Action:
21992199
'add_role': ('tgt_project', 'tgt_package', 'person_name', 'person_role', 'group_name', 'group_role'),
22002200
'set_bugowner': ('tgt_project', 'tgt_package', 'person_name'), # obsoleted by add_role
22012201
'maintenance_release': ('src_project', 'src_package', 'src_rev', 'tgt_project', 'tgt_package', 'person_name'),
2202-
'maintenance_incident': ('src_project', 'src_package', 'src_rev', 'tgt_project', 'person_name', 'opt_sourceupdate'),
2202+
'maintenance_incident': ('src_project', 'src_package', 'src_rev', 'tgt_project', 'tgt_releaseproject', 'person_name', 'opt_sourceupdate'),
22032203
'delete': ('tgt_project', 'tgt_package'),
22042204
'change_devel': ('src_project', 'src_package', 'tgt_project', 'tgt_package')}
22052205
# attribute prefix to element name map (only needed for abbreviated attributes)
@@ -3421,14 +3421,14 @@ def create_release_request(apiurl, src_project, message=''):
34213421
return r
34223422

34233423
# create a maintenance incident per request
3424-
def create_maintenance_request(apiurl, src_project, src_packages, tgt_project, opt_sourceupdate, message=''):
3424+
def create_maintenance_request(apiurl, src_project, src_packages, tgt_project, tgt_releaseproject, opt_sourceupdate, message=''):
34253425
import cgi
34263426
r = Request()
34273427
if src_packages:
34283428
for p in src_packages:
3429-
r.add_action('maintenance_incident', src_project=src_project, src_package=p, tgt_project=tgt_project, opt_sourceupdate = opt_sourceupdate)
3429+
r.add_action('maintenance_incident', src_project=src_project, src_package=p, tgt_project=tgt_project, tgt_releaseproject=tgt_releaseproject, opt_sourceupdate = opt_sourceupdate)
34303430
else:
3431-
r.add_action('maintenance_incident', src_project=src_project, tgt_project=tgt_project, opt_sourceupdate = opt_sourceupdate)
3431+
r.add_action('maintenance_incident', src_project=src_project, tgt_project=tgt_project, tgt_releaseproject=tgt_releaseproject, opt_sourceupdate = opt_sourceupdate)
34323432
# XXX: clarify why we need the unicode(...) stuff
34333433
r.description = cgi.escape(unicode(message, 'utf8'))
34343434
r.create(apiurl)
@@ -3488,14 +3488,14 @@ def create_submit_request(apiurl,
34883488
if e.headers.get('X-Opensuse-Errorcode') == "submit_request_rejected":
34893489
print "This project is just for releasing maintenance updates. Do you want to create a maintenance incident request instead? [y/n]"
34903490
if sys.stdin.read(1) == "y":
3491-
xpath = 'attribute/@name = \'%s\'' % conf.config['maintenance_attribute']
3491+
xpath = 'maintenance/maintains/@project = \'%s\'' % dst_project
34923492
res = search(apiurl, project_id=xpath)
34933493
root = res['project_id']
34943494
project = root.find('project')
34953495
if project is None:
3496-
sys.exit('Unable to find defined OBS:MaintenanceProject project on server.')
3496+
sys.exit('No maintenance project defined for target project on server.')
34973497
tproject = project.get('name')
3498-
r = create_maintenance_request(apiurl, src_project, [src_package], tproject, src_update, message)
3498+
r = create_maintenance_request(apiurl, src_project, [src_package], tproject, dst_project, src_update, message)
34993499
else:
35003500
raise
35013501

0 commit comments

Comments
 (0)