From 521071b376251e0f51f34b7fa079cfbf97b7d085 Mon Sep 17 00:00:00 2001 From: Lubomír Sedlář Date: May 24 2016 16:06:22 +0000 Subject: Add support for pull requests against any branch --- diff --git a/poormanci/consumer.py b/poormanci/consumer.py index 4685817..c063b58 100644 --- a/poormanci/consumer.py +++ b/poormanci/consumer.py @@ -40,6 +40,7 @@ class Integrator(fedmsg.consumers.FedmsgConsumer): pr_id = msg['pullrequest']['id'] project = msg['pullrequest']['project']['name'] branch = msg['pullrequest']['branch_from'] + branch_to = msg['pullrequest']['branch'] for cfg in models.get_configs(project, models.Service.PAGURE): repo = msg['pullrequest'].get('remote_git') or get_repo(cfg, msg) @@ -47,7 +48,7 @@ class Integrator(fedmsg.consumers.FedmsgConsumer): self.log.info("Trigger on %s PR #%s from %s: %s", project, pr_id, repo, branch) - lib.process_pr(self.log, cfg, pr_id, repo, branch) + lib.process_pr(self.log, cfg, pr_id, repo, branch, branch_to) def process_build(self, msg): for cfg in models.get_configs(msg['project'], models.Service.JENKINS): diff --git a/poormanci/lib.py b/poormanci/lib.py index 7bfe371..664c73c 100644 --- a/poormanci/lib.py +++ b/poormanci/lib.py @@ -6,13 +6,14 @@ PAGURE_URL = '{base}api/0/{repo}/pull-request/{pr}/flag' JENKINS_TRIGGER_URL = '{base}job/{project}/buildWithParameters' -def process_pr(logger, cfg, pr_id, repo, branch): +def process_pr(logger, cfg, pr_id, repo, branch, branch_to): post_data(logger, JENKINS_TRIGGER_URL.format(base=cfg.jenkins_url, project=cfg.jenkins_name), {'token': cfg.jenkins_token, 'cause': pr_id, 'REPO': repo, - 'BRANCH': branch}) + 'BRANCH': branch, + 'BRANCH_TO': branch_to}) def process_build(logger, cfg, build_id): diff --git a/test/consumer_tests.py b/test/consumer_tests.py index 83d7e92..c27386e 100644 --- a/test/consumer_tests.py +++ b/test/consumer_tests.py @@ -75,6 +75,7 @@ class ConsumerBuildTriggerTestCase(unittest.TestCase): 'http://jenkins.fedorainfracloud.org/job/pungi/buildWithParameters', {'REPO': 'https://pagure.io/forks/lsedlar/pungi.git', 'BRANCH': 'payload-fixup', + 'BRANCH_TO': 'master', 'token': 'DEADBEEF', 'cause': 216})]) @@ -96,6 +97,7 @@ class ConsumerBuildTriggerTestCase(unittest.TestCase): 'http://jenkins.fedorainfracloud.org/job/pungi/buildWithParameters', {'REPO': 'https://pagure.io/forks/lsedlar/pungi.git', 'BRANCH': 'unmodified-comps', + 'BRANCH_TO': 'master', 'token': 'DEADBEEF', 'cause': 213})]) @@ -144,6 +146,7 @@ class ConsumerBuildTriggerTestCase(unittest.TestCase): 'https://jenkins-lsedlar.rhcloud.com/job/test-playground/buildWithParameters', {'REPO': 'https://pagure.io/lsedlar-test-playground.git', 'BRANCH': 'test-pr', + 'BRANCH_TO': 'master', 'token': 'DEADBEEF', 'cause': 6})]) @@ -165,11 +168,13 @@ class ConsumerBuildTriggerTestCase(unittest.TestCase): [mock.call('http://jenkins.fedorainfracloud.org/job/pungi/buildWithParameters', {'REPO': 'https://pagure.io/forks/lsedlar/pungi.git', 'BRANCH': 'unmodified-comps', + 'BRANCH_TO': 'master', 'token': 'DEADBEEF', 'cause': 213}), mock.call('https://jenkins-lsedlar.rhcloud.com/job/test-playground/buildWithParameters', {'REPO': 'https://pagure.io/forks/lsedlar/pungi.git', 'BRANCH': 'unmodified-comps', + 'BRANCH_TO': 'master', 'token': 'DEADBEEF', 'cause': 213})])