<pre style='margin:0'>
Ryan Carsten Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/bacd86ef52ca11c5a83eb7eb874b60c31cbe073c">https://github.com/macports/macports-ports/commit/bacd86ef52ca11c5a83eb7eb874b60c31cbe073c</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new bacd86ef52c buildbot-0.8: Fix GitHub webhook payload field
</span>bacd86ef52c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit bacd86ef52ca11c5a83eb7eb874b60c31cbe073c
</span>Author: Ryan Carsten Schmidt <ryandesign@macports.org>
AuthorDate: Thu Apr 10 14:59:38 2025 -0500

<span style='display:block; white-space:pre;color:#404040;'>    buildbot-0.8: Fix GitHub webhook payload field
</span>---
 devel/buildbot-0.8/Portfile                        |  3 +-
 .../files/fix-github-webhook-payload-url.patch     | 88 ++++++++++++++++++++++
 2 files changed, 90 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/buildbot-0.8/Portfile b/devel/buildbot-0.8/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 14de360e8c6..a5951cc1a79 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/buildbot-0.8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/buildbot-0.8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup               python 1.0
</span> 
 name                    buildbot-0.8
 version                 0.8.14
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                1
</span> checksums               rmd160  24f50e94f78cbfee31448f348365e4aa86322550 \
                         sha256  331efd07bd7522c222a8fb258801e8d78332c88d778ee76416b9e1028676e964 \
                         size    4840110
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,6 +43,7 @@ patchfiles-append       patch-allowRecent_SQA_Migrate.diff \
</span>                         patch-buildbot-status-web-console.py.diff \
                         patch-buildbot-status-web-grid.py.diff \
                         patch-buildbot-status-web-waterfall.py.diff \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                        fix-github-webhook-payload-url.patch \
</span>                         setHeader.patch
 
 build.env               NO_INSTALL_REQS=1
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/buildbot-0.8/files/fix-github-webhook-payload-url.patch b/devel/buildbot-0.8/files/fix-github-webhook-payload-url.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..2bae661f71d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/buildbot-0.8/files/fix-github-webhook-payload-url.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,88 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Make github payload parsing for pull requests more consistent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Currently, for a push request the repository field is filled with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+value of ['repository']['url'] but a pull request uses
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+['repository']['clone_url']. The clone_url has a .git suffix, this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+results in a non-regex filter for a git url working with only the push
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or the pull request, not both. This schema is only followed on github
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+enterprise, whereas github.com uses a different domain for pull requests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(api.github.com). ['repository']['html_url'] is preferred instead as it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+follows the same format on github & GHE and hence matches everywhere
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix and also parse and fill repository field for pull requests, update documentation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/buildbot/buildbot/commit/3703f2f77ea3ce5b9070770ec383bf004bea6867
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is necessary now that the url field reported in webhooks has changed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.blog/changelog/2025-04-07-changes-to-the-repository-object-in-push-webhook/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- buildbot/status/web/hooks/github.py.orig       2016-07-15 06:42:03.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ buildbot/status/web/hooks/github.py    2025-04-10 15:42:28.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -101,7 +101,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         user = None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # user = payload['pusher']['name']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         repo = payload['repository']['name']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        repo_url = payload['repository']['url']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        repo_url = payload['repository']['html_url']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # NOTE: what would be a reasonable value for project?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # project = request.args.get('project', [''])[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         project = payload['repository']['full_name']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -130,7 +130,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             'when_timestamp': dateparse(payload['pull_request']['created_at']),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             'branch': refname,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             'revlink': payload['pull_request']['_links']['html']['href'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            'repository': payload['repository']['clone_url'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            'repository': payload['repository']['html_url'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            'project': payload['pull_request']['base']['repo']['full_name'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             'category': 'pull',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             # TODO: Get author name based on login id using txgithub module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             'author': payload['sender']['login'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- buildbot/test/unit/test_status_web_hooks_github.py.orig        2016-07-15 06:42:03.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ buildbot/test/unit/test_status_web_hooks_github.py     2025-04-10 15:42:09.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,6 +38,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "before": "5aef35982fb2d34e9d9d4502f6ede1072793222d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "repository": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "html_url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "name": "github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "full_name": "defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "description": "You're lookin' at it.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -85,6 +86,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "before": "5aef35982fb2d34e9d9d4502f6ede1072793222d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "repository": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "html_url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "name": "github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "full_name": "defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "description": "You're lookin' at it.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -245,6 +247,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "before": "5aef35982fb2d34e9d9d4502f6ede1072793222d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "repository": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "html_url": "http://github.com/defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "name": "github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "full_name": "defunkt/github",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "description": "You're lookin' at it.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -477,7 +480,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.assertEquals(len(self.request.addedChanges), 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         change = self.request.addedChanges[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.assertEquals(change["repository"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                          "https://github.com/defunkt/github.git")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                          "https://github.com/defunkt/github")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.assertEquals(timegm(change["when_timestamp"].utctimetuple()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           1412899790)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.assertEquals(change["author"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- docs/manual/cfg-statustargets.rst.orig 2016-08-08 10:33:20.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ docs/manual/cfg-statustargets.rst      2025-04-10 15:43:24.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -683,6 +683,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Note that not using ``change_hook_auth`` may expose you to security risks.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++.. note::
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   When using a :ref:`ChangeFilter<Change-Filters>` with a GitHub webhook ensure that your filter matches all desired requests as fields such as ``repository`` and ``project`` may differ in different events.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BitBucket hook
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ##############
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>