#2084 Bus messages don't carry enough information to figure out activitiy on which exact repository triggered the message
Closed: Fixed 7 years ago Opened 7 years ago by nphilipp.

We use Pagure doc pages for the Fedora Modularity website. The sources are kept here which is configured to send out fedmsg messages when new commits are received, which get picked up by a bot that then builds the website from the sources.

In my tests, I've noticed that the bot also picks up messages if I commit something to my private fork of the source repo. I looked at the messages, both from the upstream repo as the fork and found that they don't have enough information to say about which exact repository a message is—I can see that one is from a fork (parent != null), but not from which fork.

Ideally for me, the messages would contain the repo URLs, because that's basically the "id" of a repository to users.


For reference, here's the fedmsg for an upstream repo:

{
  "username": "git",
  "topic": "io.pagure.prod.pagure.git.receive",
  "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVTRENDQTdHZ0F3SUJBZ0lDQWZzd0RRWUpL\nb1pJaHZjTkFRRUZCUUF3Z2FBeEN6QUpCZ05WQkFZVEFsVlQKTVFzd0NRWURWUVFJRXdKT1F6RVFN\nQTRHQTFVRUJ4TUhVbUZzWldsbmFERVhNQlVHQTFVRUNoTU9SbVZrYjNKaApJRkJ5YjJwbFkzUXhE\nekFOQmdOVkJBc1RCbVpsWkcxelp6RVBNQTBHQTFVRUF4TUdabVZrYlhObk1ROHdEUVlEClZRUXBF\nd1ptWldSdGMyY3hKakFrQmdrcWhraUc5dzBCQ1FFV0YyRmtiV2x1UUdabFpHOXlZWEJ5YjJwbFkz\nUXUKYjNKbk1CNFhEVEUxTURVeE9ERTNNamMxTTFvWERUSTFNRFV4TlRFM01qYzFNMW93Z2RZeEN6\nQUpCZ05WQkFZVApBbFZUTVFzd0NRWURWUVFJRXdKT1F6RVFNQTRHQTFVRUJ4TUhVbUZzWldsbmFE\nRVhNQlVHQTFVRUNoTU9SbVZrCmIzSmhJRkJ5YjJwbFkzUXhEekFOQmdOVkJBc1RCbVpsWkcxelp6\nRXFNQ2dHQTFVRUF4TWhjR0ZuZFhKbExYQmgKWjNWeVpUQXhMbVpsWkc5eVlYQnliMnBsWTNRdWIz\nSm5NU293S0FZRFZRUXBFeUZ3WVdkMWNtVXRjR0ZuZFhKbApNREV1Wm1Wa2IzSmhjSEp2YW1WamRD\nNXZjbWN4SmpBa0Jna3Foa2lHOXcwQkNRRVdGMkZrYldsdVFHWmxaRzl5CllYQnliMnBsWTNRdWIz\nSm5NSUdmTUEwR0NTcUdTSWIzRFFFQkFRVUFBNEdOQURDQmlRS0JnUUN5RXZjRndxWUkKUXg2OWpo\nSEJYekExVlpoTFgySkRVUkdROGlLbXFXUFBHaVVEWHhDcURpa1M5YnN5VFBuN2ZTaWY1Uk5HUkZF\nZwpKQmlqRitaM09RMVh5Q1JrY1kxM0VLUDJpbVVEZW0xcnB3Umg3b2gyMlBZaDU4SHFLOWsvNGdk\nZVpXVGM2QmFjCk1RckZpMlFhbWVqL1ZpRW1KdVd2KzgyaitnN2RzV1ZNTVFJREFRQUJvNElCVnpD\nQ0FWTXdDUVlEVlIwVEJBSXcKQURBdEJnbGdoa2dCaHZoQ0FRMEVJQlllUldGemVTMVNVMEVnUjJW\ndVpYSmhkR1ZrSUVObGNuUnBabWxqWVhSbApNQjBHQTFVZERnUVdCQlFyZ09qazgyV05zdW1wbE1T\nbXJ1d3RVeTVIVERDQjFRWURWUjBqQklITk1JSEtnQlJyClFGcjVFZ2lKV2VkWjVRWDFBaDBLVG44\nVUFLR0JwcVNCb3pDQm9ERUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlYKQkFnVEFrNURNUkF3RGdZ\nRFZRUUhFd2RTWVd4bGFXZG9NUmN3RlFZRFZRUUtFdzVHWldSdmNtRWdVSEp2YW1WagpkREVQTUEw\nR0ExVUVDeE1HWm1Wa2JYTm5NUTh3RFFZRFZRUURFd1ptWldSdGMyY3hEekFOQmdOVkJDa1RCbVps\nClpHMXpaekVtTUNRR0NTcUdTSWIzRFFFSkFSWVhZV1J0YVc1QVptVmtiM0poY0hKdmFtVmpkQzV2\nY21lQ0NRRGoKVUI1SFR4Y2VSVEFUQmdOVkhTVUVEREFLQmdnckJnRUZCUWNEQWpBTEJnTlZIUThF\nQkFNQ0I0QXdEUVlKS29aSQpodmNOQVFFRkJRQURnWUVBSjhUVGdMMHJhZ3lCdlo5RlBhdis2ZE5B\nZzEza0poQnYrWS9xeU9rT0RadHFwOWovCkdkOHU1emQwVkFwdXlIMnFBYzg1cUcyaEVsY0ZqUytx\nOU95YmtkQnlwQzF5cklzRSt2akZTRHZqalQxMjV6d3EKS2FNV1UwSVgyTnp2d2l4cWxYN1pxc2cz\nMHIwNzgvUHNPTGRLTlo5VWR0QXJGUHZ2b3hQRHpsTTM4aUE9Ci0tLS0tRU5EIENFUlRJRklDQVRF\nLS0tLS0K\n",
  "signature": "ZH217UQtb9fuJ3a9wl4BxGp0FWAuQcyd9V6jC3Ra4l6vMTI1fsdRpdPq9sNq0MLDUWAZSc7QJHt5\nzp/Mk8H99gtrF27ZbqaRtfgSgGnri6t6pM/JkCUYte2WxNm9fEI79YoTqJAUGBuPRq94eDfn4+n1\ng373UgwHMHqcMTc8U6I=\n",
  "i": 1,
  "timestamp": 1487176056,
  "msg_id": "2017-5c64ef9c-9029-4e1c-ace8-01f718af3c71",
  "crypto": "x509",
  "msg": {
    "repo": {
      "custom_keys": [],
      "description": "Dummy repo for testing things with Pagure (e.g. webhooks, etc.)",
      "parent": null,
      "tags": [],
      "user": {
        "fullname": "Nils Philippsen",
        "name": "nphilipp"
      },
      "id": 1794,
      "milestones": {},
      "name": "nphilipp-pagure-tests",
      "settings": {
        "Enforce_signed-off_commits_in_pull-request": false,
        "issue_tracker": true,
        "issues_default_to_private": false,
        "Minimum_score_to_merge_pull-request": -1,
        "Only_assignee_can_merge_pull-request": false,
        "pull_requests": true,
        "Web-hooks": null,
        "project_documentation": false,
        "always_merge": false,
        "fedmsg_notifications": true
      },
      "namespace": null,
      "priorities": {},
      "close_status": [],
      "date_created": "1487164931"
    },
    "forced": true,
    "end_commit": "50f518cfb7a0f99000c613d63765dcef59342be2",
    "branch": "refs/heads/master",
    "authors": [
      "Nils Philippsen"
    ],
    "total_commits": 1,
    "start_commit": "50f518cfb7a0f99000c613d63765dcef59342be2",
    "agent": "nphilipp"
  }
}

And here's one for a fork:

{
  "username": "git", 
  "i": 1, 
  "timestamp": 1487850138, 
  "msg_id": "2017-67581e07-6085-40c5-8c38-6bf48067dfaa", 
  "crypto": "x509", 
  "topic": "io.pagure.prod.pagure.git.receive", 
  "msg": {
    "forced": false, 
    "agent": "nphilipp", 
    "repo": {
      "custom_keys": [], 
      "description": "Fedora Modularity page", 
      "parent": {
        "custom_keys": [], 
        "description": "Fedora Modularity page. Please send a PR to edit the website.", 
        "parent": null, 
        "settings": {
          "issues_default_to_private": false, 
          "Minimum_score_to_merge_pull-request": -1, 
          "Web-hooks": null, 
          "fedmsg_notifications": true, 
          "always_merge": false, 
          "project_documentation": true, 
          "Enforce_signed-off_commits_in_pull-request": false, 
          "pull_requests": true, 
          "Only_assignee_can_merge_pull-request": false, 
          "issue_tracker": true
        }, 
        "tags": [
          ""
        ], 
        "namespace": null, 
        "priorities": {}, 
        "close_status": [], 
        "milestones": {}, 
        "user": {
          "fullname": "Adam Samalik", 
          "name": "asamalik"
        }, 
        "date_created": "1480355025", 
        "id": 1445, 
        "name": "modularity"
      }, 
      "settings": {
        "issues_default_to_private": false, 
        "Minimum_score_to_merge_pull-request": -1, 
        "Web-hooks": null, 
        "fedmsg_notifications": true, 
        "always_merge": false, 
        "project_documentation": true, 
        "Enforce_signed-off_commits_in_pull-request": false, 
        "pull_requests": false, 
        "Only_assignee_can_merge_pull-request": false, 
        "issue_tracker": false
      }, 
      "tags": [], 
      "namespace": null, 
      "priorities": {}, 
      "close_status": [], 
      "milestones": {}, 
      "user": {
        "fullname": "Nils Philippsen", 
        "name": "nphilipp"
      }, 
      "date_created": "1487349580", 
      "id": 1811, 
      "name": "modularity"
    }, 
    "end_commit": "db7b06fab835107437d3187c4ef0dfd4e54b4009", 
    "branch": "refs/heads/master", 
    "authors": [
      "Nils Philippsen"
    ], 
    "total_commits": 1, 
    "start_commit": "db7b06fab835107437d3187c4ef0dfd4e54b4009"
  }
}

This is annoying and definitively un-expected. The second message should have a parent repo (since it is a fork)

Metadata Update from @pingou:
- Issue tagged with: bug

7 years ago

The second message does have a parent repo:

  "repo": {
      "custom_keys": [], 
      "description": "Fedora Modularity page", 
      "parent": {
        "custom_keys": [],
        ....

So, that's how you can figure out which repo is sending the info :)

Metadata Update from @pingou:
- Issue assigned to pingou

7 years ago

I have the fix to include the fullname as well in the JSON so it helps make thing a little more obvious

Login to comment on this ticket.

Metadata