From 8fb5516dd855753445bcf2d9725467ea1ce6ea2a Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Feb 23 2018 13:04:52 +0000 Subject: [PATCH 1/3] Fix re-triggering on PR update We were simply missing the link between the topic and the function doing the work... Signed-off-by: Pierre-Yves Chibon --- diff --git a/simple_koji_ci/consumers.py b/simple_koji_ci/consumers.py index 7b5969d..d9da1fa 100644 --- a/simple_koji_ci/consumers.py +++ b/simple_koji_ci/consumers.py @@ -160,6 +160,8 @@ class SimpleKojiCi(fedmsg.consumers.FedmsgConsumer): self.handle_pagure_new_pr(msg) elif topic.endswith('buildsys.task.state.change'): self.handle_buildsys_scratch(msg) + elif topic.endswith('pagure.pull-request.comment.added'): + self.handle_pagure_pr_update(msg) else: _log.debug("Dropping %r %r" % (topic, msg['msg_id'])) pass From acc788e1d04810624b930bc4b6ef50bbb8be14c8 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Feb 23 2018 13:05:45 +0000 Subject: [PATCH 2/3] Fix docstrings Signed-off-by: Pierre-Yves Chibon --- diff --git a/simple_koji_ci/consumers.py b/simple_koji_ci/consumers.py index d9da1fa..50233ab 100644 --- a/simple_koji_ci/consumers.py +++ b/simple_koji_ci/consumers.py @@ -68,7 +68,7 @@ class SimpleKojiCi(fedmsg.consumers.FedmsgConsumer): handled by :method:`SimpleKojiCi.handle_buildsys_scratch` * 'org.fedoraproject.prod.pagure.pull-request.comment.added' - handled by :method:`SimpleKojiCi.handle_anitya_version_update` + handled by :method:`SimpleKojiCi.handle_pagure_pr_update` * 'org.fedoraproject.prod.buildsys.task.state.change' handled by :method:`SimpleKojiCi.handle_buildsys_scratch` @@ -170,7 +170,7 @@ class SimpleKojiCi(fedmsg.consumers.FedmsgConsumer): """ Message handler for new pull-request opened in pagure. - Topic: ``org.fedoraproject.pagure.pull-request.new`` + Topic: ``org.fedoraproject.*.pagure.pull-request.new`` """ _log.info("Handling pagure msg %r" % msg.get('msg_id', None)) @@ -217,7 +217,7 @@ class SimpleKojiCi(fedmsg.consumers.FedmsgConsumer): """ Message handler for new pull-request opened in pagure. - Topic: ``org.fedoraproject.pagure.pull-request.comment.added`` + Topic: ``org.fedoraproject.*.pagure.pull-request.comment.added`` """ _log.info("Handling pagure msg %r" % msg.get('msg_id', None)) @@ -283,7 +283,7 @@ class SimpleKojiCi(fedmsg.consumers.FedmsgConsumer): in a completed state and if it belongs to this consumer. A follow-up comment is left on bugs filed when builds are completed. - Topic: 'org.fedoraproject.prod.buildsys.task.state.change' + Topic: 'org.fedoraproject.*.buildsys.task.state.change' """ instance = msg['msg']['instance'] From 11e0fc04fc4f7478bc217f54118aa8ad3050ee38 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Feb 23 2018 13:05:57 +0000 Subject: [PATCH 3/3] Log at DEBUG by default and log an user friendly URL for the admins That url allows the admin to go and see by themselves what simple-koji-ci did on the pull-request. Signed-off-by: Pierre-Yves Chibon --- diff --git a/fedmsg.d/simple-koji-ci-example.py b/fedmsg.d/simple-koji-ci-example.py index 28beef3..26471d9 100644 --- a/fedmsg.d/simple-koji-ci-example.py +++ b/fedmsg.d/simple-koji-ci-example.py @@ -46,4 +46,15 @@ config = { # The number of times the-new-hotness should retry a network request that # that failed for any reason (e.g. read timeout, DNS error, etc) 'simple-koji-ci.requests_retries': 3, + + 'logging': { + 'loggers': { + 'simple_koji_ci': { + "level": "DEBUG", + "propagate": False, + "handlers": ["console"], + }, + }, + }, + } diff --git a/simple_koji_ci/consumers.py b/simple_koji_ci/consumers.py index 50233ab..32d87fe 100644 --- a/simple_koji_ci/consumers.py +++ b/simple_koji_ci/consumers.py @@ -335,7 +335,7 @@ class SimpleKojiCi(fedmsg.consumers.FedmsgConsumer): pk_info = self.scratch_builds[task_id] pagure_url = self.config["simple-koji-ci.pagure_url"].rstrip('/') - target_url = '/'.join([ + target_url = pagure_url + '/' + '/'.join([ 'api', '0', pk_info['namespace'], @@ -344,8 +344,13 @@ class SimpleKojiCi(fedmsg.consumers.FedmsgConsumer): str(pk_info['prid']), 'flag' ]) - pagure_url = pagure_url + '/' + target_url - _log.info('Flagging PR at: %s' % pagure_url) + pr_url = pagure_url + '/' + '/'.join([ + pk_info['namespace'], + pk_info['name'], + 'pull-request', + str(pk_info['prid']) + ]) + _log.info('Flagging PR at: %s' % target_url) headers = { "Authorization": "token " @@ -359,11 +364,12 @@ class SimpleKojiCi(fedmsg.consumers.FedmsgConsumer): req = self.requests_session.request( method='POST', - url=pagure_url, + url=target_url, headers=headers, data=data, ) - _log.info('Request to %s returned: %s' % (pagure_url, req.status_code)) + _log.info('Request to %s returned: %s' % (target_url, req.status_code)) + _log.info('Check it at: %s' % pr_url) _log.debug(req.text) if not req.ok: _log.debug(req.text)