List of Message Topics

This document lists all the topics coming out the Fedora Infrastructure fedmsg bus. Example messages are included as well as descriptions and sample output from fedmsg.meta.

Note

All topics from Fedora Infrastructure are prefixed with org.fedoraproject.prod., but the topic_prefix is omitted here for brevity. For instance, the item listed as git.branch will actually be broadcast as org.fedoraproject.prod.git.branch.

Note

Message bodies can contain some useful information, but be wary. We have done as good a job as we can securing fedmsg, but it is still a new system. If you receive a message from pkgdb claiming that “ralph” is the new owner of the kernel, you should still check with the actual pkgdb service that this is the case. Write code against fedmsg messages as a tip, but always check the authoritative source before taking any programmatic action.

ansible

ansible.playbook.complete

These messages are published when an admin finishes an ansible playbook run. We use that system to manage the servers that run fedoraproject.org. Here’s an example with a playbook that has been checked into our SCM repo.

{ 'i': 2,
  'msg': { 'playbook': '/srv/web/infra/ansible/playbooks/groups/badges-backend.yml',
           'results': { 'badges-backend01.phx2.fedoraproject.org': { 'changed': 1,
                                                                     'failures': 0,
                                                                     'ok': 56,
                                                                     'skipped': 9,
                                                                     'unreachable': 0},
                        'badges-backend01.stg.phx2.fedoraproject.org': { 'changed': 1,
                                                                         'failures': 0,
                                                                         'ok': 56,
                                                                         'skipped': 9,
                                                                         'unreachable': 0}},
           'userid': 'ralph'},
  'timestamp': 1375753955.771203,
  'topic': 'org.fedoraproject.prod.ansible.playbook.complete',
  'username': 'root'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['playbooks/groups/badges-backend.yml', 'inventory/badges-backend01.stg.phx2.fedoraproject.org', 'inventory/badges-backend01.phx2.fedoraproject.org'])

ansible.playbook.complete

These messages are published when an admin finishes an ansible playbook run. We use that system to manage the servers that run fedoraproject.org. Here’s an example with a playbook that is not actually checked into our SCM repo.

{ 'i': 2,
  'msg': { 'playbook': '/home/fedora/ralph/ansible/playbooks/groups/badges-backend.yml',
           'results': { 'badges-backend01.phx2.fedoraproject.org': { 'changed': 1,
                                                                     'failures': 0,
                                                                     'ok': 56,
                                                                     'skipped': 9,
                                                                     'unreachable': 0},
                        'badges-backend01.stg.phx2.fedoraproject.org': { 'changed': 1,
                                                                         'failures': 0,
                                                                         'ok': 56,
                                                                         'skipped': 9,
                                                                         'unreachable': 0}},
           'userid': 'ralph'},
  'timestamp': 1375753955.771203,
  'topic': 'org.fedoraproject.prod.ansible.playbook.complete',
  'username': 'root'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['inventory/badges-backend01.stg.phx2.fedoraproject.org', 'uncontrolled-playbooks/badges-backend.yml', 'inventory/badges-backend01.phx2.fedoraproject.org'])

ansible.playbook.start

These messages are published when an admin begins an ansible playbook run. We use that system to manage the servers that run fedoraproject.org.

{ 'i': 1,
  'msg': { 'check': False,
           'extra_vars': { },
           'inventory': '/srv/web/infra/ansible/inventory/',
           'playbook': '/srv/web/infra/ansible/playbooks/groups/badges-backend.yml',
           'playbook_checksum': False,
           'userid': 'ralph'},
  'timestamp': 1375753735.32427,
  'topic': 'org.fedoraproject.prod.ansible.playbook.start',
  'username': 'root'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['playbooks/groups/badges-backend.yml'])

askbot

askbot.post.delete

Messages with the askbot.post.delete topic get sent when either a question or an answer are deleted from Ask Fedora. The example here is one of an answer being deleted.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'instance': { 'comment_count': 0,
                         'pk': 12,
                         'post_type': 'answer',
                         'summary': 'oh, ok.. coolio\n ...',
                         'text': 'oh, ok.. coolio',
                         'vote_down_count': 0,
                         'vote_up_count': 0},
           'thread': { 'pk': 7,
                       'tagnames': [''],
                       'title': 'test 3 is a charm'},
           'topmost_post_id': 10},
  'timestamp': 1359949257.459819,
  'topic': 'org.fedoraproject.prod.askbot.post.delete',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['threads/7'])

askbot.post.delete

Messages with the askbot.post.delete topic get sent when either a question or an answer are deleted from Ask Fedora. The example here is one of an question being deleted.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'instance': { 'comment_count': 1,
                         'pk': 10,
                         'post_type': 'question',
                         'summary': 'this is a test message.\n ...',
                         'text': 'this is a test message.',
                         'vote_down_count': 0,
                         'vote_up_count': 0},
           'thread': { 'pk': 7,
                       'tagnames': [''],
                       'title': 'test 3 is a charm'},
           'topmost_post_id': 10},
  'timestamp': 1359949397.539748,
  'topic': 'org.fedoraproject.prod.askbot.post.delete',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['threads/7'])

askbot.post.edit

Messages get emitted on this topic anytime a question is updated. An ‘update’ includes a new question, a new answer, and a modification to either. This example is one of a new answer being posted to an Ask Fedora question.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'created': True,
           'diff': 'I know the answer\n\nlololololol I do!     I swear.\n ...',
           'newly_mentioned_users': ['lmacken'],
           'post': { 'comment_count': 0,
                     'pk': 5,
                     'post_type': 'answer',
                     'summary': 'I know the answer\n\nlololololol I do!     I swear.\n ...',
                     'text': 'I know the answer\r\n\r\nlololololol I do!     I swear.',
                     'vote_down_count': 0,
                     'vote_up_count': 0},
           'thread': { 'pk': 1,
                       'tagnames': ['cool'],
                       'title': 'watwatwatwata'},
           'timestamp': 1359946481.0,
           'topmost_post_id': 1},
  'timestamp': 1359946482.179817,
  'topic': 'org.fedoraproject.prod.askbot.post.edit',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken', 'ralph'])
  • set([])
  • set(['threads/1', 'tags/cool'])

askbot.post.edit

Messages get emitted on this topic anytime an Ask Fedora question is updated. The snippet we have below is an example of a user posting a brand new question to Ask Fedora.

{ 'i': 2,
  'msg': { 'agent': 'ralph',
           'created': True,
           'diff': 'lololol\n\nthis is my entry, I hope that you like it so very much.\n ...',
           'newly_mentioned_users': [],
           'post': { 'comment_count': 0,
                     'pk': 4,
                     'post_type': 'question',
                     'summary': 'lololol\n\nthis is my entry, I hope that you like it so very much.\n ...',
                     'text': 'lololol\r\n\r\nthis is my entry, I hope that you like it so very much.',
                     'vote_down_count': 0,
                     'vote_up_count': 0},
           'thread': { 'pk': 3,
                       'tagnames': ['lolol'],
                       'title': 'I have a new question'},
           'timestamp': 1359946267.0,
           'topmost_post_id': 3},
  'timestamp': 1359946267.401213,
  'topic': 'org.fedoraproject.prod.askbot.post.edit',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['threads/3', 'tags/lolol'])

askbot.post.edit

Messages get emitted on this topic anytime a question is updated. An ‘update’ includes a new question, a new answer, and a modification to either. This example is one of a answer being modified on Ask Fedora.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'created': False,
           'diff': '<p>this is my test <del>answer</del><ins>answer.ok?</ins></p>\n',
           'newly_mentioned_users': [],
           'post': { 'comment_count': 0,
                     'pk': 6,
                     'post_type': 'answer',
                     'summary': 'this is my test answer.    ok?\n ...',
                     'text': 'this is my test answer.    ok?',
                     'vote_down_count': 0,
                     'vote_up_count': 0},
           'thread': { 'pk': 3,
                       'tagnames': ['lolol'],
                       'title': 'I have a new question'},
           'timestamp': 1359947977.0,
           'topmost_post_id': 3},
  'timestamp': 1359947978.125892,
  'topic': 'org.fedoraproject.prod.askbot.post.edit',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['threads/3', 'tags/lolol'])

askbot.post.edit

Messages get emitted on this topic anytime a question is updated. An ‘update’ includes a new question, a new answer, and a modification to either. This example is one of a question being modified on Ask Fedora.

{ 'i': 2,
  'msg': { 'agent': 'ralph',
           'created': False,
           'diff': '<p>alskdfj... the diff is actually here',
           'newly_mentioned_users': [],
           'post': { 'comment_count': 0,
                     'pk': 2,
                     'post_type': 'question',
                     'summary': 'alskdfjalskdjf alkjasdalskdjf ...',
                     'text': 'alskdfjalskdjf alkjasdalskdjf ...',
                     'vote_down_count': 0,
                     'vote_up_count': 0},
           'thread': { 'pk': 2,
                       'tagnames': ['town'],
                       'title': 'alskdjflaksjdf lakjsf a'},
           'timestamp': 1359947640.0,
           'topmost_post_id': 2},
  'timestamp': 1359947640.986208,
  'topic': 'org.fedoraproject.prod.askbot.post.edit',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['threads/2', 'tags/town'])

askbot.post.flag_offensive.add

Sent when a user flags an Ask Fedora question or answer as “offensive”.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'instance': { 'comment_count': 0,
                         'pk': 3,
                         'post_type': 'question',
                         'summary': 'I think I know... totally.    asldkj for sure.\n ...',
                         'text': 'I think I know... totally.    asldkj for sure.',
                         'vote_down_count': 0,
                         'vote_up_count': 1},
           'thread': { 'pk': 2,
                       'tagnames': ['town', 'ohok'],
                       'title': 'alskdjflaksjdf lakjsf a'},
           'topmost_post_id': 2},
  'timestamp': 1359947156.346592,
  'topic': 'org.fedoraproject.prod.askbot.post.flag_offensive.add',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['threads/2', 'tags/ohok', 'tags/town'])

askbot.post.flag_offensive.delete

Sent when a user *un*flags an Ask Fedora question or answer as “offensive”.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'instance': { 'comment_count': 0,
                         'pk': 3,
                         'post_type': 'answer',
                         'summary': 'I think I know... totally.    asldkj for sure.\n ...',
                         'text': 'I think I know... totally.    asldkj for sure.',
                         'vote_down_count': 0,
                         'vote_up_count': 1},
           'thread': { 'pk': 2,
                       'tagnames': ['town', 'ohok'],
                       'title': 'alskdjflaksjdf lakjsf a'},
           'topmost_post_id': 2},
  'timestamp': 1359947128.523792,
  'topic': 'org.fedoraproject.prod.askbot.post.flag_offensive.delete',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['threads/2', 'tags/ohok', 'tags/town'])

askbot.tag.update

Messages get emitted on this topic when a question on Ask Fedora changes tags. It includes information about what tags the package now has, what question the tags are for, and who did the changing. The msg['msg']['tags'] field describes which tags changed while the msg['msg']['thread']['tagnames'] field describes all tags on the thread in question.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'tags': ['asldkjfalskdjfalskj', 'asldkjf', 'asldkjfalskdjf'],
           'thread': { 'pk': 2,
                       'tagnames': [ 'town',
                                     'ohok',
                                     'asldkjfalskdjfalskj',
                                     'asldkjf'],
                       'title': 'some title'},
           'timestamp': 1359945296.0,
           'topmost_post_id': 2},
  'timestamp': 1359945296.629136,
  'topic': 'org.fedoraproject.prod.askbot.tag.update',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['tags/asldkjfalskdjfalskj', 'tags/asldkjfalskdjf', 'tags/asldkjf', 'threads/2'])

bodhi

bodhi.buildroot_override.tag

The Bodhi Updates System publishes messages on this topic whenever a user requests a buildroot override for an update.

{ 'i': 1,
  'msg': { 'override': { 'build': 'fedmsg-1.0-1', 'submitter': 'lmacken'}},
  'timestamp': 1344344053.23372,
  'topic': 'org.fedoraproject.prod.bodhi.buildroot_override.tag'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken'])
  • set(['fedmsg'])
  • set(['packages/fedmsg'])

bodhi.buildroot_override.untag

The Bodhi Updates System publishes messages on this topic whenever a user explicitly removes a previously requested buildroot override.

{ 'i': 1,
  'msg': { 'override': { 'build': 'fedmsg-1.0-1', 'submitter': 'lmacken'}},
  'timestamp': 1344964395.207541,
  'topic': 'org.fedoraproject.prod.bodhi.buildroot_override.untag'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken'])
  • set(['fedmsg'])
  • set(['packages/fedmsg'])

bodhi.mashtask.complete

The Bodhi Masher publishes messages on this topic whenever it finishes its work.

Note that, these messages are broken (serverside) due to this issue.

{ 'msg': { 'success': False},
  'topic': 'org.fedoraproject.prod.bodhi.mashtask.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • None

bodhi.mashtask.mashing

The Bodhi Masher publishes messages on this topic whenever it starts mashing a particular repository.

Note that, these messages are broken (serverside) due to this issue.

{ 'msg': { 'repo': 'test_repo'},
  'topic': 'org.fedoraproject.prod.bodhi.mashtask.mashing'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['repos/test_repo'])

bodhi.mashtask.start

The Bodhi Masher publishes messages on this topic whenever it begins its work.

Note that, these messages are broken (serverside) due to this issue.

{ 'msg': { }, 'topic': 'org.fedoraproject.prod.bodhi.mashtask.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • None

bodhi.mashtask.sync.done

The Bodhi Masher publishes messages on this topic when it finishes syncing.

Note that, these messages are broken (serverside) due to this issue.

{ 'msg': { }, 'topic': 'org.fedoraproject.prod.bodhi.mashtask.sync.done'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • None

bodhi.mashtask.sync.wait

The Bodhi Masher publishes messages on this topic when it begins waiting to sync.

Note that, these messages are broken (serverside) due to this issue.

{ 'msg': { }, 'topic': 'org.fedoraproject.prod.bodhi.mashtask.sync.wait'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • None

bodhi.update.comment

The Bodhi Updates System publishes messages on this topic whenever a user comments on a bodhi update.

{ 'i': 1,
  'msg': { 'comment': { 'anonymous': False,
                        'author': 'ralph',
                        'group': None,
                        'karma': -1,
                        'text': "Can you believe how much testing we're doing?",
                        'timestamp': 1344344050.0,
                        'update_title': 'fedmsg-1.0-1'}},
  'timestamp': 1344344053.23372,
  'topic': 'org.fedoraproject.prod.bodhi.update.comment'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set(['fedmsg'])
  • set(['packages/fedmsg'])

bodhi.update.complete.testing

The Bodhi Updates System publishes messages on this topic whenever an update completes it’s push to the testing repository. Here’s a straightforward example:

{ 'i': 88,
  'msg': { 'update': { 'approved': None,
                       'bugs': [],
                       'builds': [ { 'nvr': 'fedmsg-0.2.7-2.el6',
                                     'package': { 'committers': ['ralph'],
                                                  'name': 'fedmsg',
                                                  'suggest_reboot': False}}],
                       'close_bugs': True,
                       'comments': [ { 'anonymous': False,
                                       'author': 'bodhi',
                                       'group': None,
                                       'karma': 0,
                                       'text': 'This update has been submitted for testing by ralph. ',
                                       'timestamp': 1344266157.0},
                                     { 'anonymous': False,
                                       'author': 'bodhi',
                                       'group': None,
                                       'karma': 0,
                                       'text': 'This update is currently being pushed to the Fedora EPEL 6 testing updates repository.',
                                       'timestamp': 1344443927.0}],
                       'critpath': False,
                       'critpath_approved': False,
                       'date_modified': None,
                       'date_pushed': 1344447839.0,
                       'date_submitted': 1344266152.0,
                       'karma': 0,
                       'nagged': None,
                       'notes': 'Bugfix - Added a forgotten new requirement on python-requests.',
                       'release': { 'dist_tag': 'dist-6E-epel',
                                    'id_prefix': 'FEDORA-EPEL',
                                    'locked': False,
                                    'long_name': 'Fedora EPEL 6',
                                    'name': 'EL-6'},
                       'request': None,
                       'stable_karma': 3,
                       'status': 'testing',
                       'submitter': 'ralph',
                       'title': 'fedmsg-0.2.7-2.el6',
                       'type': 'bugfix',
                       'unstable_karma': -3,
                       'updateid': 'FEDORA-EPEL-2012-6650'}},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.bodhi.update.complete.testing'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set(['fedmsg'])
  • set(['packages/fedmsg'])

bodhi.update.request.obsolete

The Bodhi Updates System publishes messages on this topic whenever a user requests that an update be obsoleted.

{ 'msg': { 'agent': 'lmacken',
           'update': { 'submitter': 'lmacken', 'title': 'foo'}},
  'topic': 'org.fedoraproject.prod.bodhi.update.request.obsolete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken'])
  • set(['foo'])
  • set(['packages/foo'])

bodhi.update.request.revoke

The Bodhi Updates System publishes messages on this topic whenever a user revokes a prior request on an update.

{ 'msg': { 'agent': 'lmacken',
           'update': { 'submitter': 'lmacken', 'title': 'foo'}},
  'topic': 'org.fedoraproject.prod.bodhi.update.request.revoke'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken'])
  • set(['foo'])
  • set(['packages/foo'])

bodhi.update.request.stable

The Bodhi Updates System publishes messages on this topic whenever a user requests that an update be marked as stable.

{ 'msg': { 'agent': 'lmacken',
           'update': { 'submitter': 'lmacken', 'title': 'foo'}},
  'topic': 'org.fedoraproject.prod.bodhi.update.request.stable'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken'])
  • set(['foo'])
  • set(['packages/foo'])

bodhi.update.request.testing

The Bodhi Updates System publishes messages on this topic whenever an update completes it’s push to the testing repository. Some updates may contain multiple packages, which can be a little tricky if you’re not ready for it. Here’s an example of that:

{ 'i': 2,
  'msg': { 'agent': 'lmacken',
           'update': { 'approved': None,
                       'bugs': [],
                       'builds': [ { 'nvr': 'gnome-settings-daemon-3.6.1-1.fc18',
                                     'package': { 'committers': [ 'hadess',
                                                                  'ofourdan',
                                                                  'mkasik',
                                                                  'cosimoc'],
                                                  'name': 'gnome-settings-daemon',
                                                  'suggest_reboot': False}},
                                   { 'nvr': 'control-center-3.6.1-1.fc18',
                                     'package': { 'committers': [ 'ctrl-center-team',
                                                                  'ofourdan',
                                                                  'ssp',
                                                                  'ajax',
                                                                  'alexl',
                                                                  'jrb',
                                                                  'mbarnes',
                                                                  'caolanm',
                                                                  'davidz',
                                                                  'mclasen',
                                                                  'rhughes',
                                                                  'hadess',
                                                                  'johnp',
                                                                  'caillon',
                                                                  'whot',
                                                                  'rstrode'],
                                                  'name': 'control-center',
                                                  'suggest_reboot': False}}],
                       'close_bugs': True,
                       'comments': [ { 'anonymous': False,
                                       'author': 'bodhi',
                                       'group': None,
                                       'karma': 0,
                                       'text': 'This update has been submitted for testing by hadess. ',
                                       'timestamp': 1349718539.0,
                                       'update_title': 'gnome-settings-daemon-3.6.1-1.fc18,control-center-3.6.1-1.fc18'}],
                       'critpath': False,
                       'critpath_approved': False,
                       'date_modified': None,
                       'date_pushed': None,
                       'date_submitted': 1349718534.0,
                       'karma': 0,
                       'nagged': None,
                       'notes': "This update fixes numerous bugs in the new Input Sources support, the Network panel and adds a help screen accessible via Wacom tablets's buttons.",
                       'release': { 'dist_tag': 'f18',
                                    'id_prefix': 'FEDORA',
                                    'locked': True,
                                    'long_name': 'Fedora 18',
                                    'name': 'F18'},
                       'request': 'testing',
                       'stable_karma': 3,
                       'status': 'pending',
                       'submitter': 'hadess',
                       'title': 'gnome-settings-daemon-3.6.1-1.fc18,control-center-3.6.1-1.fc18',
                       'type': 'bugfix',
                       'unstable_karma': -3,
                       'updateid': None}},
  'timestamp': 1349718539.0,
  'topic': 'org.fedoraproject.prod.bodhi.update.request.testing'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['hadess'])
  • set(['gnome-settings-daemon', 'control-center'])
  • set(['packages/gnome-settings-daemon', 'packages/control-center'])

bodhi.update.request.testing

The Bodhi Updates System publishes messages on this topic whenever a user requests that an update be pushed to the testing repository.

{ 'msg': { 'agent': 'lmacken',
           'update': { 'submitter': 'lmacken', 'title': 'foo'}},
  'topic': 'org.fedoraproject.prod.bodhi.update.request.testing'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken'])
  • set(['foo'])
  • set(['packages/foo'])

bodhi.update.request.unpush

The Bodhi Updates System publishes messages on this topic whenever a user requests that an update be unpushed.

{ 'msg': { 'agent': 'lmacken',
           'update': { 'submitter': 'lmacken', 'title': 'foo'}},
  'topic': 'org.fedoraproject.prod.bodhi.update.request.unpush'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken'])
  • set(['foo'])
  • set(['packages/foo'])

buildsys

buildsys.build.state.change

Koji emits messages on this topic anytime the state of a build changes.

The state codes can be pretty cryptic (they are just integers and are the enums used by koji internally):

  • 0 - Started
  • 1 - Completed
  • 2 - Deleted
  • 3 - Failed
  • 4 - Cancelled

The example here is one of a build failing.

{ 'i': 1,
  'msg': { 'attribute': 'state',
           'build_id': 12345,
           'name': 'eclipse-ptp',
           'new': 3,
           'old': 0,
           'owner': 'rmattes',
           'release': '1.fc19',
           'version': '6.0.3'},
  'timestamp': 1359604772.178867,
  'topic': 'org.fedoraproject.prod.buildsys.build.state.change',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['rmattes'])
  • set(['eclipse-ptp'])
  • set(['builds/eclipse-ptp/6.0.3/1.fc19'])

buildsys.build.state.change

Koji emits messages on this topic anytime the state of a build changes.

The state codes can be pretty cryptic (they are just integers and are the enums used by koji internally):

  • 0 - Started
  • 1 - Completed
  • 2 - Deleted
  • 3 - Failed
  • 4 - Cancelled

The example here is one of a new build starting.

{ 'i': 1,
  'msg': { 'attribute': 'state',
           'build_id': 12345,
           'name': 'eclipse-ptp',
           'new': 0,
           'old': 3,
           'owner': 'ralph',
           'release': '1.fc19',
           'version': '6.0.3'},
  'timestamp': 1359604772.178867,
  'topic': 'org.fedoraproject.prod.buildsys.build.state.change',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set(['eclipse-ptp'])
  • set(['builds/eclipse-ptp/6.0.3/1.fc19'])

buildsys.build.state.change

Koji emits messages on this topic anytime the state of a build changes.

The state codes can be tricky, but are described in other examples.

This example message shows one where for some reason or another, koji was unable to publish the name of the owner of a build. The ‘owner’ field is set to None.

{ 'i': 1,
  'msg': { 'attribute': 'state',
           'build_id': 12345,
           'name': 'eclipse-ptp',
           'new': 0,
           'old': 3,
           'owner': None,
           'release': '1.fc19',
           'version': '6.0.3'},
  'timestamp': 1359604772.178867,
  'topic': 'org.fedoraproject.prod.buildsys.build.state.change',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set([])
  • set(['eclipse-ptp'])
  • set(['builds/eclipse-ptp/6.0.3/1.fc19'])

buildsys.package.list.change

Koji emits these messages a package listing changes.

{ 'i': 2,
  'msg': { 'package': 'almanah', 'tag': 'f17'},
  'timestamp': 1361903735.0,
  'topic': 'org.fedoraproject.prod.buildsys.package.list.change'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set([])
  • set(['almanah'])
  • set(['tags/f17'])

buildsys.repo.done

Koji emits these messages when repo initialization finishes.

{ 'i': 2,
  'msg': { 'repo_id': 23456, 'tag': 'f19-build', 'tag_id': 12345},
  'timestamp': 1359655886.353586,
  'topic': 'org.fedoraproject.prod.buildsys.repo.done',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set([])
  • set([])
  • set(['repos/f19-build'])

buildsys.repo.init

Koji emits these messages when a repository begins initializing.

{ 'i': 2,
  'msg': { 'repo_id': 23456, 'tag': 'f19-build', 'tag_id': 12345},
  'timestamp': 1359655886.353586,
  'topic': 'org.fedoraproject.prod.buildsys.repo.init',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set([])
  • set([])
  • set(['repos/f19-build'])

buildsys.tag

Koji emits these messages when a build has a certain tag added to it.

{ 'i': 1,
  'msg': { 'name': 'stage',
           'owner': 'ralph',
           'release': '3.fc18',
           'tag': 'f18-updates-testing-pending',
           'tag_id': 216,
           'user': 'bodhi',
           'version': '4.1.1'},
  'timestamp': 1359603469.21164,
  'topic': 'org.fedoraproject.prod.buildsys.tag',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['bodhi', 'ralph'])
  • set(['stage'])
  • set(['builds/stage/4.1.1/3.fc18', 'tags/f18-updates-testing-pending'])

buildsys.untag

Koji emits these messages anytime a tag is removed from a build.

{ 'i': 85,
  'msg': { 'name': 'globus-gram-job-manager-sge',
           'owner': 'ralph',
           'release': '2.fc16',
           'tag': 'f16-updates-pending',
           'tag_id': 216,
           'user': 'bodhi',
           'version': '1.5'},
  'timestamp': 1359655345.774982,
  'topic': 'org.fedoraproject.prod.buildsys.untag',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['bodhi', 'ralph'])
  • set(['globus-gram-job-manager-sge'])
  • set(['tags/f16-updates-pending', 'builds/globus-gram-job-manager-sge/1.5/2.fc16'])

compose

compose.branched.complete

The release engineering “compose” scripts produce these messages when they have finished composing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'f18', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/primary'])

compose.branched.complete

The release engineering “compose” scripts produce these messages when they have finished composing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'f18', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/arm'])

compose.branched.mash.complete

The release engineering “compose” scripts produce these messages when they have finished mashing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'f18', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.mash.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/primary'])

compose.branched.mash.complete

The release engineering “compose” scripts produce these messages when they have finished mashing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'f18', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.mash.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/arm'])

compose.branched.mash.start

The release engineering “compose” scripts produce these messages when they have begun mashing for whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'f18', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.mash.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/primary'])

compose.branched.mash.start

The release engineering “compose” scripts produce these messages when they have started mashing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'f18', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.mash.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/arm'])

compose.branched.pungify.complete

The release engineering “compose” scripts produce these messages when they have completed the pungify process for whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'f18', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.pungify.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/primary'])

compose.branched.pungify.complete

The release engineering “compose” scripts produce these messages when they have completed the pungify process for whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'f18', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.pungify.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/arm'])

compose.branched.pungify.start

The release engineering “compose” scripts produce these messages when they have started the pungify process for whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'f18', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.pungify.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/primary'])

compose.branched.pungify.start

The release engineering “compose” scripts produce these messages when they have started the pungify process for whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'f18', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.pungify.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/arm'])

compose.branched.rsync.complete

The release engineering “compose” scripts produce these messages when they have finished rsyncing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'f18', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.rsync.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/primary'])

compose.branched.rsync.complete

The release engineering “compose” scripts produce these messages when they have finished rsyncing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'f18', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.rsync.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/arm'])

compose.branched.rsync.start

The release engineering “compose” scripts produce these messages when they have begun rsyncing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'f18', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.rsync.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/primary'])

compose.branched.rsync.start

The release engineering “compose” scripts produce these messages when they have started rsyncing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'f18', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.rsync.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/arm'])

compose.branched.start

The release engineering “compose” scripts produce these messages when they have begun composing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'f18', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/primary'])

compose.branched.start

The release engineering “compose” scripts produce these messages when they have started composing whatever the current branched distribution version is. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'f18', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.branched.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['branched/arm'])

compose.rawhide.complete

The release engineering “compose” scripts produce these messages when they have finished the rawhide compose. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'rawhide', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/primary'])

compose.rawhide.complete

The release engineering “compose” scripts produce these messages when they have finished the rawhide compose. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'rawhide', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/arm'])

compose.rawhide.mash.complete

The release engineering “compose” scripts produce these messages when they have finished mashing the rawhide compose. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'rawhide', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.mash.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/primary'])

compose.rawhide.mash.complete

The release engineering “compose” scripts produce these messages when they have finished mashing the rawhide compose. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'rawhide', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.mash.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/arm'])

compose.rawhide.mash.start

The release engineering “compose” scripts produce these messages when they have started mashing the rawhide compose. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'rawhide', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.mash.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/primary'])

compose.rawhide.mash.start

The release engineering “compose” scripts produce these messages when they have started mashing the rawhide compose. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'rawhide', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.mash.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/arm'])

compose.rawhide.rsync.complete

The release engineering “compose” scripts produce these messages when they have finished rsyncing the rawhide compose. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'rawhide', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.rsync.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/primary'])

compose.rawhide.rsync.complete

The release engineering “compose” scripts produce these messages when they have finished rsyncing the rawhide compose. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'rawhide', 'log': 'done'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.rsync.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/arm'])

compose.rawhide.rsync.start

The release engineering “compose” scripts produce these messages when they have started rsyncing the rawhide compose. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'rawhide', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.rsync.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/primary'])

compose.rawhide.rsync.start

The release engineering “compose” scripts produce these messages when they have started rsyncing the rawhide compose. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'rawhide', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.rsync.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/arm'])

compose.rawhide.start

The release engineering “compose” scripts produce these messages when they have started the rawhide compose. They are published for both primary and secondary architectures. The example here is of a primary arch message (the empty string signifies primary).

{ 'i': 1,
  'msg': { 'arch': '', 'branch': 'rawhide', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/primary'])

compose.rawhide.start

The release engineering “compose” scripts produce these messages when they have started the rawhide compose. They are published for both primary and secondary architectures. The example here is of a secondary arch message.

{ 'i': 1,
  'msg': { 'arch': 'arm', 'branch': 'rawhide', 'log': 'start'},
  'timestamp': 1344447839.891876,
  'topic': 'org.fedoraproject.prod.compose.rawhide.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • None
  • None
  • set(['rawhide/arm'])

copr

copr.build.end

Copr publishes these messages when a build has completed.

{ u'i': 4,
  u'msg': { u'build': 100,
            u'copr': u'mutt-kz',
            u'ip': u'172.16.3.3',
            u'pid': 12010,
            u'status': 1,
            u'user': u'fatka',
            u'what': u'build end: user:fatka copr:mutt-kz build:100 ip:172.16.3.3  pid:12010 status:1',
            u'who': u'worker-2'},
  u'msg_id': u'2013-b05a323d-37ee-4396-9635-7b5dfaf5441b',
  u'timestamp': 1383956707.634,
  u'topic': u'org.fedoraproject.prod.copr.build.end',
  u'username': u'copr'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['fatka'])
  • set([])
  • set(['coprs/mutt-kz/build.end'])

copr.build.start

Copr publishes these messages when a new build starts.

{ u'i': 1,
  u'msg': { u'build': 100,
            u'copr': u'mutt-kz',
            u'ip': u'172.16.3.3',
            u'pid': 12010,
            u'user': u'fatka',
            u'what': u'build start: user:fatka copr:mutt-kz build:100 ip:172.16.3.3  pid:12010',
            u'who': u'worker-2'},
  u'msg_id': u'2013-675e7b1e-9b7f-4d11-be2f-2b3845817d60',
  u'timestamp': 1383956077.232,
  u'topic': u'org.fedoraproject.prod.copr.build.start',
  u'username': u'copr'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['fatka'])
  • set([])
  • set(['coprs/mutt-kz/build.start'])

copr.chroot.start

Copr publishes these messages when a copr start a new chroot.

{ u'i': 3,
  u'msg': { u'build': 100,
            u'chroot': u'fedora-20-x86_64',
            u'copr': u'mutt-kz',
            u'ip': u'172.16.3.3',
            u'pid': 12010,
            u'user': u'fatka',
            u'what': u'chroot start: chroot:fedora-20-x86_64 user:fatka copr:mutt-kz build:100 ip:172.16.3.3  pid:12010',
            u'who': u'worker-2'},
  u'msg_id': u'2013-833cca09-2dba-42ad-9863-4f6c3c29a30d',
  u'timestamp': 1383956378.468,
  u'topic': u'org.fedoraproject.prod.copr.chroot.start',
  u'username': u'copr'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['fatka'])
  • set([])
  • set(['coprs/mutt-kz/chroot.start/fedora-20-x86_64'])

copr.worker.create

Copr publishes these messages when a new worker is spun up.

{ u'i': 1,
  u'msg': { u'ip': u'172.16.3.3', u'what': u'creating worker: 172.16.3.3'},
  u'msg_id': u'2013-675e7b1e-9b7f-4d11-be2f-2b3845817d60',
  u'timestamp': 1383956077.232,
  u'topic': u'org.fedoraproject.prod.copr.worker.create',
  u'username': u'copr'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set([])
  • set([])
  • set(['coprs/worker.create'])

datanommer

datanommer.wat

Generally speaking, the datanommer consumer does not publish its own fedmsg messages. There is one exception to this rule.

As of fedmsg-0.7.0, every fedmsg carries its own uuid, prefixed with the year it was published. There is a very low risk of creating a duplicate uuid. To quote wikipedia:

"The annual risk of someone being hit by a meteorite is estimated to be
one chance in 17 billion, which means the probability is about
``0.00000000006 (6 * 10**-11)``, equivalent to the odds of creating a
few tens of trillions of UUIDs in a year and having one duplicate"

It is highly unlikely that datanommer will ever try to store a fedmsg message that carries a uuid that already exists in its database. In the event that it does, it will publish the following message; a momentous occasion.

{ 'i': 1,
  'msg': { 'uuid': '2013-3bf0ec8f-03d3-40be-9ad5-5effdc6e4c06'},
  'timestamp': 1375753735.32427,
  'topic': 'org.fedoraproject.prod.datanommer.wat',
  'username': 'fedmsg'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set([])
  • set([])
  • set(['wat'])

fas

fas.group.create

The Fedora Account System publishes messages on this topic whenever a new group is created.

{ u'msg': { u'agent': { u'username': u'ralph'},
            u'group': { u'name': u'ambassadors'}},
  u'topic': u'org.fedoraproject.prod.fas.group.create'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['groups/ambassadors'])

fas.group.member.apply

The Fedora Account System publishes messages on this topic whenever a user requests to join a particular group.

{ u'msg': { u'agent': { u'username': u'ralph'},
            u'group': { u'name': u'ambassadors'},
            u'user': { u'username': u'ralph'}},
  u'topic': u'org.fedoraproject.prod.fas.group.member.apply'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['groups/ambassadors', 'users/ralph'])

fas.group.member.remove

The Fedora Account System publishes messages on this topic whenever a user is removed from a particular group.

{ u'msg': { u'agent': { u'username': u'toshio'},
            u'group': { u'name': u'ambassadors'},
            u'user': { u'username': u'ralph'}},
  u'topic': u'org.fedoraproject.prod.fas.group.member.remove'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['toshio', 'ralph'])
  • None
  • set(['groups/ambassadors', 'users/ralph'])

fas.group.member.sponsor

The Fedora Account System publishes messages on this topic whenever a user’s request to join a restricted group is sponsored by an authorized user.

{ u'msg': { u'agent': { u'username': u'toshio'},
            u'group': { u'name': u'ambassadors'},
            u'user': { u'username': u'ralph'}},
  u'topic': u'org.fedoraproject.prod.fas.group.member.sponsor'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['toshio', 'ralph'])
  • None
  • set(['groups/ambassadors', 'users/ralph'])

fas.group.update

The Fedora Account System publishes messages on this topic whenever a group’s properties are modified. For example:

{ u'msg': { u'agent': u'ralph',
            u'fields': [u'display_name'],
            u'group': u'ambassadors'},
  u'topic': u'org.fedoraproject.prod.fas.group.update'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['groups/ambassadors'])

fas.role.update

The Fedora Account System publishes messages on this topic whenever a user’s role in a particular group changes.

{ u'msg': { u'agent': { u'username': u'toshio'},
            u'group': { u'name': u'ambassadors'},
            u'user': { u'username': u'ralph'}},
  u'topic': u'org.fedoraproject.prod.fas.role.update'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['toshio', 'ralph'])
  • None
  • set(['groups/ambassadors', 'users/ralph'])

fas.user.create

The Fedora Account System publishes messages on this topic whenever a new user account is created.

{ u'i': 1,
  u'msg': { u'agent': u'ralph', u'user': u'ralph'},
  u'timestamp': 1344432054.809861,
  u'topic': u'org.fedoraproject.prod.fas.user.create'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['users/ralph'])

fas.user.update

The Fedora Account System publishes messages on this topic whenever a user’s account is modified. Information about which account, what fields changed, and who did the changing are included in the message body. For example:

{ u'msg': { u'agent': { u'username': u'ralph'},
            u'fields': [u'comments'],
            u'user': { u'username': u'ralph'}},
  u'topic': u'org.fedoraproject.prod.fas.user.update'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['users/ralph'])

fedbadges

fedbadges.badge.award

These messages are published when Open Badges are awarded to Fedora Contributors by the fedbadges backend.

{ u'i': 1,
  u'msg': { u'badge': { u'creator': u'ralph',
                        u'criteria': { u'datanommer': { u'condition': { u'greater than or equal to': 2},
                                                        u'filter': { u'topics': [ u'{topic}']},
                                                        u'operation': u'count'}},
                        u'description': u'You have commented on 2 or more bodhi updates.',
                        u'discussion': u'http://github.com/fedora-infra/badges/pull/SOME_NUMBER',
                        u'image_url': u'http://example.com/image.png',
                        u'issuer_id': u'fedora-project',
                        u'name': u'Something on your mind',
                        u'trigger': { u'topic': u'org.fedoraproject.stg.bodhi.update.comment'}},
            u'user': { u'badges_user_id': 1, u'username': u'ralph'}},
  u'timestamp': 1371498303.125771,
  u'topic': u'org.fedoraproject.prod.fedbadges.badge.award',
  u'username': u'fedmsg'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['something-on-your-mind'])

fedbadges.person.login.first

When a user logs in to the Fedora Badges site for the very first time, we publish a message like this one.

{ 'i': 2,
  'msg': { 'user': { 'badges_user_id': 2, 'username': 'ralph'}},
  'msg_id': '2013-be88d409-cdd7-47f0-9edd-87088f8505d2',
  'source_name': 'datanommer',
  'source_version': '0.6.0',
  'timestamp': 1382804277.0,
  'topic': 'org.fedoraproject.prod.fedbadges.person.login.first'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set([])

fedbadges.person.rank.advance

When a user’s rank on the leaderboard of the Fedora Badges system increases, this message gets published.

{ 'i': 4,
  'msg': { 'old_rank': None,
           'person': { 'bio': None,
                       'email': 'ralph@fedoraproject.org',
                       'id': 1600,
                       'nickname': 'ralph',
                       'rank': 1500,
                       'website': None}},
  'timestamp': 1377701575.214381,
  'topic': 'org.fedoraproject.prod.fedbadges.person.rank.advance',
  'username': 'fedmsg'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set([])

fedocal

fedocal.calendar.delete

These messages are published when someone deletes a whole calendar from fedocal.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'calendar': { 'calendar_admin_group': 'sysadmin-badges',
                         'calendar_contact': 'ralph@fedoraproject.org',
                         'calendar_description': 'cool deal',
                         'calendar_manager_group': 'sysadmin-main',
                         'calendar_multiple_meetings': False,
                         'calendar_name': 'awesome',
                         'calendar_regional_meetings': False}},
  'msg_id': '2013-96f9ca0e-c7c6-43f0-9de7-7a268c7f1cef',
  'timestamp': 1379638157.759283,
  'topic': 'org.fedoraproject.prod.fedocal.calendar.delete',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['awesome/delete'])

fedocal.calendar.new

These messages are published when someone creates a whole calendar from fedocal.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'calendar': { 'calendar_admin_group': 'sysadmin-badges',
                         'calendar_contact': 'ralph@fedoraproject.org',
                         'calendar_description': 'cool deal',
                         'calendar_manager_group': 'sysadmin-main',
                         'calendar_multiple_meetings': False,
                         'calendar_name': 'awesome',
                         'calendar_regional_meetings': False}},
  'msg_id': '2013-96f9ca0e-c7c6-43f0-9de7-7a268c7f1cef',
  'timestamp': 1379638157.759283,
  'topic': 'org.fedoraproject.prod.fedocal.calendar.new',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['awesome/new'])

fedocal.calendar.update

These messages are published when someone updates a whole calendar from fedocal.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'calendar': { 'calendar_admin_group': 'sysadmin-badges',
                         'calendar_contact': 'ralph@fedoraproject.org',
                         'calendar_description': 'cool deal',
                         'calendar_manager_group': 'sysadmin-main',
                         'calendar_multiple_meetings': False,
                         'calendar_name': 'awesome',
                         'calendar_regional_meetings': False}},
  'msg_id': '2013-96f9ca0e-c7c6-43f0-9de7-7a268c7f1cef',
  'timestamp': 1379638157.759283,
  'topic': 'org.fedoraproject.prod.fedocal.calendar.update',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['awesome/update'])

fedocal.meeting.delete

These messages are published when someone deletes a meeting from fedocal.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'calendar': { 'calendar_admin_group': 'sysadmin-badges',
                         'calendar_contact': 'ralph@fedoraproject.org',
                         'calendar_description': 'cool deal',
                         'calendar_manager_group': 'sysadmin-main',
                         'calendar_multiple_meetings': False,
                         'calendar_name': 'awesome',
                         'calendar_regional_meetings': False},
           'meeting': { 'calendar_name': 'awesome',
                        'meeting_date': '2013-09-20',
                        'meeting_date_end': '2013-09-21',
                        'meeting_id': 42,
                        'meeting_information': 'awesome',
                        'meeting_manager': 'ralph,',
                        'meeting_name': 'wat',
                        'meeting_region': None,
                        'meeting_time_start': '12:00:00',
                        'meeting_time_stop': '12:00:00'}},
  'msg_id': '2013-8d60e263-5c5f-40bb-86e0-241dc3965ba4',
  'timestamp': 1379638613.767245,
  'topic': 'org.fedoraproject.prod.fedocal.meeting.delete',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['awesome/meetings/wat/delete'])

fedocal.meeting.new

These messages are published when someone creates a meeting from fedocal.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'calendar': { 'calendar_admin_group': 'sysadmin-badges',
                         'calendar_contact': 'ralph@fedoraproject.org',
                         'calendar_description': 'cool deal',
                         'calendar_manager_group': 'sysadmin-main',
                         'calendar_multiple_meetings': False,
                         'calendar_name': 'awesome',
                         'calendar_regional_meetings': False},
           'meeting': { 'calendar_name': 'awesome',
                        'meeting_date': '2013-09-20',
                        'meeting_date_end': '2013-09-21',
                        'meeting_id': 42,
                        'meeting_information': 'awesome',
                        'meeting_manager': 'ralph,',
                        'meeting_name': 'wat',
                        'meeting_region': None,
                        'meeting_time_start': '12:00:00',
                        'meeting_time_stop': '12:00:00'}},
  'msg_id': '2013-8d60e263-5c5f-40bb-86e0-241dc3965ba4',
  'timestamp': 1379638613.767245,
  'topic': 'org.fedoraproject.prod.fedocal.meeting.new',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['awesome/meetings/wat/new'])

fedocal.meeting.reminder

These messages are published by a cronjob when time gets close to certain meetings scheduled in the fedocal calendaring system.

{ 'i': 1,
  'msg': { 'calendar': { 'calendar_admin_group': 'sysadmin-badges',
                         'calendar_contact': 'ralph@fedoraproject.org',
                         'calendar_description': 'cool deal',
                         'calendar_manager_group': 'sysadmin-main',
                         'calendar_multiple_meetings': False,
                         'calendar_name': 'awesome',
                         'calendar_regional_meetings': False},
           'meeting': { 'calendar_name': 'awesome',
                        'meeting_date': '2013-11-25',
                        'meeting_date_end': '2013-09-21',
                        'meeting_id': 42,
                        'meeting_information': 'awesome',
                        'meeting_manager': 'ralph,',
                        'meeting_name': 'wat',
                        'meeting_region': None,
                        'meeting_time_start': '15:31:59',
                        'meeting_time_stop': '12:00:00'}},
  'msg_id': '2013-8d60e263-5c5f-40bb-86e0-241dc3965ba4',
  'timestamp': 1379638613.767245,
  'topic': 'org.fedoraproject.prod.fedocal.meeting.reminder',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set([])
  • set([])
  • set(['awesome/meetings/wat/reminder'])

fedocal.meeting.update

These messages are published when someone updates a meeting from fedocal.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'calendar': { 'calendar_admin_group': 'sysadmin-badges',
                         'calendar_contact': 'ralph@fedoraproject.org',
                         'calendar_description': 'cool deal',
                         'calendar_manager_group': 'sysadmin-main',
                         'calendar_multiple_meetings': False,
                         'calendar_name': 'awesome',
                         'calendar_regional_meetings': False},
           'meeting': { 'calendar_name': 'awesome',
                        'meeting_date': '2013-09-20',
                        'meeting_date_end': '2013-09-21',
                        'meeting_id': 42,
                        'meeting_information': 'awesome',
                        'meeting_manager': 'ralph,',
                        'meeting_name': 'wat',
                        'meeting_region': None,
                        'meeting_time_start': '12:00:00',
                        'meeting_time_stop': '12:00:00'}},
  'msg_id': '2013-8d60e263-5c5f-40bb-86e0-241dc3965ba4',
  'timestamp': 1379638613.767245,
  'topic': 'org.fedoraproject.prod.fedocal.meeting.update',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['awesome/meetings/wat/update'])

fedoratagger

fedoratagger.rating.update

Fedora Tagger doesn’t just do tagging of packages, in new versions it also allows users to rate packages. It publishes messages like this one when an anonymous user updates their rating of a package.

{ 'i': 1,
  'msg': { 'rating': { 'package': { 'icon': 'https://apps.fedoraproject.org/packages/images/icons/package_128x128.png',
                                    'name': 'nethack',
                                    'rating': 15.0,
                                    'summary': '',
                                    'tags': [ { 'dislike': 0,
                                                'like': 1,
                                                'package': 'nethack',
                                                'tag': 'awesome',
                                                'total': 1,
                                                'votes': 1}]},
                       'rating': 15,
                       'user': { 'anonymous': True,
                                 'rank': -1,
                                 'username': 'anonymous',
                                 'votes': 0}}},
  'timestamp': 1365514895.61764,
  'topic': 'org.fedoraproject.prod.fedoratagger.rating.update',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set([])
  • set(['nethack'])
  • set(['packages/nethack'])

fedoratagger.tag.create

Fedora Tagger publishes messages like this one when a user creates a new tag.

{ 'i': 2,
  'msg': { 'tag': { 'dislike': 0,
                    'like': 1,
                    'package': 'mattd',
                    'tag': 'awesome',
                    'total': 1,
                    'votes': 1},
           'user': { 'anonymous': False,
                     'rank': -1,
                     'username': 'ralph',
                     'votes': 4},
           'vote': { 'like': True,
                     'tag': { 'dislike': 0,
                              'like': 1,
                              'package': 'mattd',
                              'tag': 'awesome',
                              'total': 1,
                              'votes': 1},
                     'user': { 'anonymous': False,
                               'rank': -1,
                               'username': 'ralph',
                               'votes': 4}}},
  'timestamp': 1365444411.924043,
  'topic': 'org.fedoraproject.prod.fedoratagger.tag.create',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set(['mattd'])
  • set(['labels/awesome', 'packages/mattd'])

fedoratagger.tag.update

Fedora Tagger publishes messages like this one when a user votes on a tag. Users may upvote or downvote a tag and they may do so either anonymously or authenticated. Here’s an example of an authenticated downvote:

{ 'i': 3,
  'msg': { 'tag': { 'dislike': 1,
                    'like': 0,
                    'package': 'mattd',
                    'tag': 'stupid',
                    'total': -1,
                    'votes': 1},
           'user': { 'anonymous': False,
                     'rank': -1,
                     'username': 'ralph',
                     'votes': 4},
           'vote': { 'like': False,
                     'tag': { 'dislike': 1,
                              'like': 0,
                              'package': 'mattd',
                              'tag': 'stupid',
                              'total': -1,
                              'votes': 1},
                     'user': { 'anonymous': False,
                               'rank': -1,
                               'username': 'ralph',
                               'votes': 4}}},
  'timestamp': 1365444503.627384,
  'topic': 'org.fedoraproject.prod.fedoratagger.tag.update',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set(['mattd'])
  • set(['labels/stupid', 'packages/mattd'])

git

git.branch

There is a script called pkgdb2branch that gets run by an SCM admin as part of the new package process. Typically, when an SCM Admin Request is approved, the scm admin will add the new package or branch to the package database. After that, the scm admin will run pkgdb2branch to create the branch in git on the file system. Messages of this topic are published for each new branch that that process creates.

{ 'i': 1,
  'msg': { 'agent': 'limburgher', 'branch': 'master', 'name': 'valgrind'},
  'timestamp': 1344350850.886738,
  'topic': 'org.fedoraproject.prod.git.branch'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['limburgher'])
  • set(['valgrind'])
  • set(['valgrind/__git__'])

git.lookaside.new

Messages like this one are published when new sources are uploaded to the “lookaside cache”.

{ 'i': 1,
  'msg': { 'agent': 'jnovy',
           'filename': 'pst-diffraction.doc.tar.xz',
           'md5sum': 'dacad985394b3977f9dcf0c75f51a357',
           'name': 'texlive'},
  'timestamp': 1349197866.215465,
  'topic': 'org.fedoraproject.prod.git.lookaside.new'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['jnovy'])
  • set(['texlive'])
  • set(['texlive/pst-diffraction.doc.tar.xz'])

git.mass_branch.complete

There is a script called pkgdb2branch that gets run by an SCM admin as part of the new package process. Messages on this topic are emitted from that script when it finishes a “mass branch”.

{ 'i': 1,
  'msg': { 'agent': 'dgilmore'},
  'timestamp': 1344350850.886738,
  'topic': 'org.fedoraproject.prod.git.mass_branch.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['dgilmore'])
  • None
  • None

git.mass_branch.start

There is a script called pkgdb2branch that gets run by an SCM admin as part of the new package process. Messages on this topic are emitted from that script when it is instructed to carry out a “mass branch” of all packages.

{ 'i': 1,
  'msg': { 'agent': 'dgilmore'},
  'timestamp': 1344350850.886738,
  'topic': 'org.fedoraproject.prod.git.mass_branch.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['dgilmore'])
  • None
  • None

git.pkgdb2branch.complete

There is a script called pkgdb2branch that gets run by an SCM admin as part of the new package process. Typically, when an SCM Admin Request is approved, the scm admin will add the new package or branch to the package database. After that, the scm admin will run pkgdb2branch to create the branch in git on the file system. Messages of this topic are published when that process completes.

{ 'i': 1,
  'msg': { 'agent': 'limburgher',
           'branchedPackages': ['nethack'],
           'unbranchedPackages': []},
  'timestamp': 1344350850.886738,
  'topic': 'org.fedoraproject.prod.git.pkgdb2branch.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['limburgher'])
  • set(['nethack'])
  • set(['nethack/__git__'])

git.pkgdb2branch.complete

There is a script called pkgdb2branch that gets run by an SCM admin as part of the new package process. Typically, when an SCM Admin Request is approved, the scm admin will add the new package or branch to the package database. After that, the scm admin will run pkgdb2branch to create the branch in git on the file system. Messages of this topic are published when that process completes.

Sometimes that process can produce errors. Here’s an example of a message from a failed pkgdb2branch run.

{ 'i': 1,
  'msg': { 'agent': 'limburgher',
           'branchedPackages': [],
           'unbranchedPackages': ['foo']},
  'timestamp': 1344350850.886738,
  'topic': 'org.fedoraproject.prod.git.pkgdb2branch.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['limburgher'])
  • set(['foo'])
  • set(['foo/__git__'])

git.pkgdb2branch.complete

There is a script called pkgdb2branch that gets run by an SCM admin as part of the new package process. Typically, when an SCM Admin Request is approved, the scm admin will add the new package or branch to the package database. After that, the scm admin will run pkgdb2branch to create the branch in git on the file system. Messages of this topic are published when that process completes.

Sometimes that process can produce errors. Here’s an example of a message from a failed pkgdb2branch run (on multiple packages)

{ 'i': 1,
  'msg': { 'agent': 'limburgher',
           'branchedPackages': [],
           'unbranchedPackages': ['foo', 'bar']},
  'timestamp': 1344350850.886738,
  'topic': 'org.fedoraproject.prod.git.pkgdb2branch.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['limburgher'])
  • set(['foo', 'bar'])
  • set(['bar/__git__', 'foo/__git__'])

git.pkgdb2branch.start

There is a script called pkgdb2branch that gets run by an SCM admin as part of the new package process. Typically, when an SCM Admin Request is approved, the scm admin will add the new package or branch to the package database. After that, the scm admin will run pkgdb2branch to create the branch in git on the file system. Messages of this topic are published when that process begins.

{ 'i': 1,
  'msg': { 'agent': 'limburgher'},
  'timestamp': 1344350850.886738,
  'topic': 'org.fedoraproject.prod.git.pkgdb2branch.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['limburgher'])
  • None
  • None

git.receive

Sample message from the first generation of git-category messages that have been modified in datanommer to match the new topics.

{ 'i': 1,
  'msg': { 'commit': { 'branch': 'master',
                       'email': 'rbean@redhat.com',
                       'message': 'Try removing requirement on python-bunch.\n',
                       'name': 'Ralph Bean',
                       'repo': 'datanommer',
                       'rev': '66abdea4014eb2f0745fc38f86e20c7d7009237e',
                       'stats': { 'files': { 'datanommer.spec': { 'deletions': 6,
                                                                  'insertions': 4,
                                                                  'lines': 10}},
                                  'total': { 'deletions': 6,
                                             'files': 1,
                                             'insertions': 4,
                                             'lines': 10}},
                       'summary': 'Try removing requirement on python-bunch.'}},
  'timestamp': 1349735155.0,
  'topic': 'org.fedoraproject.prod.git.receive'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set([])
  • set(['datanommer'])
  • set(['datanommer/datanommer.spec'])

git.receive

Messages like this one are published when somebody runs “fedpkg push” on a package. Sometimes, the git message may be multiple lines long like:

{ 'i': 1,
  'msg': { 'commit': { 'branch': 'master',
                       'email': 'mjw@redhat.com',
                       'message': 'Clear CFLAGS CXXFLAGS LDFLAGS.\n                This is a bit of a hammer.',
                       'name': 'Mark Wielaard',
                       'repo': 'valgrind',
                       'rev': '7a98f80d9b61ce167e4ef8129c81ed9284ecf4e1',
                       'stats': { 'files': { 'valgrind.spec': { 'deletions': 2,
                                                                'insertions': 1,
                                                                'lines': 3}},
                                  'total': { 'deletions': 2,
                                             'files': 1,
                                             'insertions': 1,
                                             'lines': 3}},
                       'summary': 'Clear CFLAGS CXXFLAGS LDFLAGS.',
                       'username': 'mjw'}},
  'timestamp': 1344350850.886738,
  'topic': 'org.fedoraproject.prod.git.receive'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['mjw'])
  • set(['valgrind'])
  • set(['valgrind/valgrind.spec'])

git.receive

Messages like this one are published when somebody runs “fedpkg push” on a package. The whole git message is included for each commit.

{ 'i': 1,
  'msg': { 'commit': { 'branch': 'master',
                       'email': 'spot@fedoraproject.org',
                       'message': 'another missing patch? ridiculous.\n',
                       'name': 'Tom Callaway',
                       'repo': 'ember',
                       'rev': 'aa2df80f3d8dd217c7cbfe2d3451190028f3fe14',
                       'stats': { 'files': { 'ember-0.6.3-gcc47.patch': { 'deletions': 0,
                                                                          'insertions': 26,
                                                                          'lines': 26}},
                                  'total': { 'deletions': 0,
                                             'files': 1,
                                             'insertions': 26,
                                             'lines': 26}},
                       'summary': 'another missing patch? ridiculous.',
                       'username': 'spot'}},
  'timestamp': 1352998154.368305,
  'topic': 'org.fedoraproject.prod.git.receive'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['spot'])
  • set(['ember'])
  • set(['ember/ember-0.6.3-gcc47.patch'])

mailman

mailman.receive

Discussion lists for the Fedora Project run on mailman3. When a new message is published on a list, fedmsg will pop out one of these messages. The following is an example of a new thread being started.

{ 'i': 1,
  'msg': { 'mlist': { 'list_name': 'devel'},
           'msg': { 'archived-at': '/list/devel@mm3test.fedoraproject.org/message/HDMTECNRNUHZTSDGM2FDK6LGCMAS2PZ4/',
                    'cc': None,
                    'delivered-to': 'devel@lists.fedoraproject.org',
                    'from': 'Jaroslav Reznik <jreznik@redhat.com>',
                    'in-reply-to': None,
                    'message-id': '<306436886.6773069.1369333725371.JavaMail.root@redhat.com>',
                    'references': None,
                    'subject': '[Devel] Fedora 19 Beta status is Go, release on May 28, 2013',
                    'to': 'devel-announce@lists.fedoraproject.org,\n\ttest-announce@lists.fedoraproject.org,\n\tFedora Logistics List <logistics@lists.fedoraproject.org>',
                    'x-mailman-rule-hits': 'nonmember-moderation',
                    'x-mailman-rule-misses': 'approved; emergency; loop; member-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header',
                    'x-message-id-hash': 'HDMTECNRNUHZTSDGM2FDK6LGCMAS2PZ4'}},
  'timestamp': 1369334087.929804,
  'topic': 'org.fedoraproject.prod.mailman.receive',
  'username': 'mailman'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['jreznik'])
  • set([])
  • set(['306436886.6773069.1369333725371.JavaMail.root@redhat.com/message'])

mailman.receive

Discussion lists for the Fedora Project run on mailman3. When a new message is published on a list, fedmsg will pop out one of these messages. The following is an example of a reply to a thread.

{ 'i': 4,
  'msg': { 'mlist': { 'list_name': 'devel'},
           'msg': { 'archived-at': '/list/devel@mm3test.fedoraproject.org/message/S3PHLMD7PGWXXLBN3GENHVK7JJ37UWLJ/',
                    'cc': None,
                    'delivered-to': 'devel@lists.fedoraproject.org',
                    'from': '"Nicolas Mailhot" <nicolas.mailhot@laposte.net>',
                    'in-reply-to': '<519DFB93.1060502@laiskiainen.org>',
                    'message-id': '<d4f0cefb4a7b845451ecab2c4026fe4d.squirrel@arekh.dyndns.org>',
                    'references': '<5de4f14ae46cce6de03cf68ca06526a9.squirrel@arekh.dyndns.org>\n\t<519DFB93.1060502@laiskiainen.org>',
                    'subject': '[Devel] Re:Software Management call for RFEs',
                    'to': '"Development discussions related to Fedora" <devel@lists.fedoraproject.org>',
                    'x-mailman-rule-hits': 'nonmember-moderation',
                    'x-mailman-rule-misses': 'approved; emergency; loop; member-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header',
                    'x-message-id-hash': 'S3PHLMD7PGWXXLBN3GENHVK7JJ37UWLJ'}},
  'timestamp': 1369322289.679402,
  'topic': 'org.fedoraproject.prod.mailman.receive',
  'username': 'mailman'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['nicolas.mailhot'])
  • set([])
  • set(['5de4f14ae46cce6de03cf68ca06526a9.squirrel@arekh.dyndns.org/519DFB93.1060502@laiskiainen.org/d4f0cefb4a7b845451ecab2c4026fe4d.squirrel@arekh.dyndns.org/message'])

meetbot

meetbot.meeting.complete

Trusty old zodbot publishes messages too! Messages on this topic get published when an IRC meeting ends. Meetings may or may not have a title (which can be tricky). Here’s an example message where the title is specified:

{ 'i': 16,
  'msg': { 'attendees': { 'threebean': 2, 'zodbot': 2},
           'chairs': { },
           'channel': '#channel',
           'meeting_topic': 'title',
           'owner': 'threebean',
           'url': 'http://logs.com/awesome'},
  'timestamp': 1345572862.556145,
  'topic': 'org.fedoraproject.prod.meetbot.meeting.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['titles/title', 'channels/#channel', 'attendees/ralph'])

meetbot.meeting.complete

Trusty old zodbot publishes messages too! Messages on this topic get published when an IRC meeting ends. Meetings may or may not have a title (which can be tricky). Here’s an example message where the title is not specified:

{ 'i': 16,
  'msg': { 'attendees': { 'threebean': 2, 'zodbot': 2},
           'chairs': { },
           'channel': '#channel',
           'meeting_topic': None,
           'owner': 'threebean',
           'url': 'http://logs.com/awesome'},
  'timestamp': 1345572862.556145,
  'topic': 'org.fedoraproject.prod.meetbot.meeting.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['channels/#channel', 'attendees/ralph'])

meetbot.meeting.start

Trusty old zodbot publishes messages too! Messages on this topic get published (somewhat obviously) when a new IRC meeting is started. The user starting the meeting may specify a meeting title, but doesn’t have to. Here’s an example message with a specified meeting title:

{ 'i': 16,
  'msg': { 'attendees': { 'threebean': 2, 'zodbot': 2},
           'chairs': { },
           'channel': '#channel',
           'meeting_topic': 'title',
           'owner': 'threebean',
           'url': 'http://logs.com/awesome'},
  'timestamp': 1345572862.556145,
  'topic': 'org.fedoraproject.prod.meetbot.meeting.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['titles/title', 'channels/#channel', 'attendees/ralph'])

meetbot.meeting.start

Trusty old zodbot publishes messages too! Messages on this topic get published (somewhat obviously) when a new IRC meeting is started. The user starting the meeting may specify a meeting title, but doesn’t have to. Here’s an example message with no meeting title specified:

{ 'i': 16,
  'msg': { 'attendees': { 'threebean': 2, 'zodbot': 2},
           'chairs': { },
           'channel': '#channel',
           'meeting_topic': None,
           'owner': 'threebean',
           'url': 'http://logs.com/awesome'},
  'timestamp': 1345572862.556145,
  'topic': 'org.fedoraproject.prod.meetbot.meeting.start'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['channels/#channel', 'attendees/ralph'])

meetbot.meeting.topic.update

As IRC meetings chug along, the chairperson may change the meeting; zodbot publishes message for that! An example with a title specified:

{ 'i': 16,
  'msg': { 'attendees': { 'threebean': 2, 'zodbot': 2},
           'chairs': { },
           'channel': '#channel',
           'meeting_topic': 'title',
           'owner': 'threebean',
           'topic': 'Food',
           'url': 'http://logs.com/awesome'},
  'timestamp': 1345572862.556145,
  'topic': 'org.fedoraproject.prod.meetbot.meeting.topic.update'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['titles/title', 'topics/Food', 'channels/#channel', 'attendees/ralph'])

meetbot.meeting.topic.update

As IRC meetings chug along, the chairperson may change the meeting; zodbot publishes message for that! An example without a title specified:

{ 'i': 16,
  'msg': { 'attendees': { 'threebean': 2, 'zodbot': 2},
           'chairs': { },
           'channel': '#channel',
           'meeting_topic': None,
           'owner': 'threebean',
           'topic': 'Food',
           'url': 'http://logs.com/awesome'},
  'timestamp': 1345572862.556145,
  'topic': 'org.fedoraproject.prod.meetbot.meeting.topic.update'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['topics/Food', 'channels/#channel', 'attendees/ralph'])

nuancier

nuancier.open.toggle.off

These messages are published when an election is closed for voting on “Nuancier”, the wallpaper voting app.

{ 'i': 4,
  'msg': { 'agent': 'ralph',
           'election': { 'id': 1, 'name': 'awesome', 'year': 2013},
           'state': False},
  'msg_id': '2013-3c985048-b82f-4836-b581-363bc9466e6e',
  'timestamp': 1380303306.041,
  'topic': 'org.fedoraproject.prod.nuancier.open.toggle.off',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['2013/awesome/open/off'])

nuancier.open.toggle.on

These messages are published when a new election is opened for voting on “Nuancier”, the wallpaper voting app.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'election': { 'id': 1, 'name': 'awesome', 'year': 2013},
           'state': True},
  'msg_id': '2013-86c25e1b-1ea7-4202-8bf0-7d6c76131e37',
  'timestamp': 1380303298.212,
  'topic': 'org.fedoraproject.prod.nuancier.open.toggle.on',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['2013/awesome/open/on'])

nuancier.publish.toggle.off

These messages are published when the results of an election have been rescinded on “Nuancier”, the wallpaper voting app.

{ 'i': 3,
  'msg': { 'agent': 'ralph',
           'election': { 'id': 1, 'name': 'awesome', 'year': 2013},
           'state': False},
  'msg_id': '2013-9929bc11-d161-45d8-b9fe-45cef5d6acfe',
  'timestamp': 1380303304.667,
  'topic': 'org.fedoraproject.prod.nuancier.publish.toggle.off',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['2013/awesome/publish/off'])

nuancier.publish.toggle.on

These messages are published when the results of an election have been published on “Nuancier”, the wallpaper voting app.

{ 'i': 2,
  'msg': { 'agent': 'ralph',
           'election': { 'id': 1, 'name': 'awesome', 'year': 2013},
           'state': True},
  'msg_id': '2013-eb5b7306-2dfb-4040-a26e-6aa12b1fd3a2',
  'timestamp': 1380303299.5,
  'topic': 'org.fedoraproject.prod.nuancier.publish.toggle.on',
  'username': 'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['2013/awesome/publish/on'])

pkgdb

pkgdb.acl.update

The Fedora Package DB publishes these messages when an ACL changes on a package.

{ 'i': 2,
  'msg': { 'acl': 'watchbugzilla',
           'agent': 'ralph',
           'package_listing': { 'collection': { 'branchname': 'EL-6',
                                                'disttag': '.el6',
                                                'name': 'Fedora EPEL',
                                                'pendingurltemplate': None,
                                                'publishurltemplate': None,
                                                'version': '6'},
                                'package': { 'description': None,
                                             'name': 'python-sh',
                                             'reviewurl': None,
                                             'summary': 'Python module to simplify calling shell commands',
                                             'upstreamurl': None},
                                'point_of_contact': 'grover',
                                'qacontact': None,
                                'specfile': None},
           'status': 'Awaiting Review',
           'username': 'ralph'},
  'timestamp': 1357576703.125622,
  'topic': 'org.fedoraproject.prod.pkgdb.acl.update',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['grover', 'ralph'])
  • set(['python-sh'])
  • set(['python-sh/acls/EL-6/watchbugzilla/ralph'])

pkgdb.acl.user.remove

The Fedora Package DB when a user is removed from a package ACL.

{ 'i': 2,
  'msg': { 'agent': 'ralph',
           'collections': [],
           'package_listings': [ { 'collection': { 'branchname': 'EL-6',
                                                   'disttag': '.el6',
                                                   'name': 'Fedora EPEL',
                                                   'pendingurltemplate': None,
                                                   'publishurltemplate': None,
                                                   'version': '6'},
                                   'owner': 'orphan',
                                   'package': { 'description': None,
                                                'name': 'php-zmq',
                                                'reviewurl': None,
                                                'summary': 'PHP 0MQ/zmq/zeromq extension',
                                                'upstreamurl': None},
                                   'qacontact': None,
                                   'specfile': None},
                                 { 'collection': { 'branchname': 'F18',
                                                   'disttag': '.f18',
                                                   'name': 'Fedora',
                                                   'pendingurltemplate': None,
                                                   'publishurltemplate': None,
                                                   'version': '18'},
                                   'owner': 'orphan',
                                   'package': { 'description': None,
                                                'name': 'php-zmq',
                                                'reviewurl': None,
                                                'summary': 'PHP 0MQ/zmq/zeromq extension',
                                                'upstreamurl': None},
                                   'qacontact': None,
                                   'specfile': None}],
           'username': 'ralph'},
  'timestamp': 1357583297.886945,
  'topic': 'org.fedoraproject.prod.pkgdb.acl.user.remove',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set(['php-zmq'])
  • set(['php-zmq/remove/ralph'])

pkgdb.branch.clone

The Fedora Package DB publishes messages on this topic when a new branch is cloned for a package.

{ 'i': 2,
  'msg': { 'agent': 'ralph',
           'branch': 'f18',
           'master': 'devel',
           'package': 'php-zmq'},
  'timestamp': 1357581512.006664,
  'topic': 'org.fedoraproject.prod.pkgdb.branch.clone',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set(['php-zmq'])
  • set(['php-zmq/branch'])

pkgdb.branch.complete

The Fedora Package DB publishes messages like these when branching completes.

{ u'i': 1,
  u'msg': { u'agent': u'ralph',
            u'collection_from': { u'branchname': u'devel',
                                  u'name': u'Fedora',
                                  u'pendingurltemplate': None,
                                  u'publishurltemplate': None,
                                  u'version': u'devel'},
            u'collection_to': { u'branchname': u'F-19',
                                u'name': u'Fedora',
                                u'pendingurltemplate': None,
                                u'publishurltemplate': None,
                                u'version': u'19'}},
  u'msg_id': u'2013-0eaf6d98-6259-4e1c-a113-e2c9284a6082',
  u'timestamp': 1379606342.105066,
  u'topic': u'org.fedoraproject.prod.pkgdb.branch.complete',
  u'username': u'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set([])

pkgdb.branch.start

The Fedora Package DB publishes messages like these when branching starts.

{ u'i': 1,
  u'msg': { u'agent': u'ralph',
            u'collection_from': { u'branchname': u'devel',
                                  u'name': u'Fedora',
                                  u'pendingurltemplate': None,
                                  u'publishurltemplate': None,
                                  u'version': u'devel'},
            u'collection_to': { u'branchname': u'F-19',
                                u'name': u'Fedora',
                                u'pendingurltemplate': None,
                                u'publishurltemplate': None,
                                u'version': u'19'}},
  u'msg_id': u'2013-0eaf6d98-6259-4e1c-a113-e2c9284a6082',
  u'timestamp': 1379606342.105066,
  u'topic': u'org.fedoraproject.prod.pkgdb.branch.start',
  u'username': u'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set([])

pkgdb.collection.new

The Fedora Package DB publishes messages like these when an admin creates a new collection.

{ u'i': 3,
  u'msg': { u'agent': u'ralph',
            u'collection': { u'branchname': u'F-19',
                             u'name': u'Fedora',
                             u'pendingurltemplate': None,
                             u'publishurltemplate': None,
                             u'version': u'19'}},
  u'msg_id': u'2013-68fd388e-60ca-4cf6-888d-b51161798496',
  u'timestamp': 1379607327.474346,
  u'topic': u'org.fedoraproject.prod.pkgdb.collection.new',
  u'username': u'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set([])

pkgdb.collection.update

The Fedora Package DB publishes messages like these when an admin creates a new collection.

{ u'i': 27,
  u'msg': { u'agent': u'ralph',
            u'collection': { u'branchname': u'f18_b',
                             u'name': u'Fedora',
                             u'pendingurltemplate': u'http://.....',
                             u'publishurltemplate': u'http://.....',
                             u'version': u'18'},
            u'fields': [u'name', u'version']},
  u'msg_id': u'2013-478a321f-ddfc-4d4c-adeb-c777619da15a',
  u'timestamp': 1379607692.198447,
  u'topic': u'org.fedoraproject.prod.pkgdb.collection.update',
  u'username': u'threebean'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set([])

pkgdb.critpath.update

The Fedora Package DB publishes messages on this topic when the critical path status of a package changes (when it is either added, or removed from the critical path). For example:

{ 'i': 2,
  'msg': { 'agent': 'ralph', 'critpath': True, 'package_listing_ids': []},
  'timestamp': 1357581512.006664,
  'topic': 'org.fedoraproject.prod.pkgdb.critpath.update',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set([])

pkgdb.owner.update

The Fedora Package DB publishes this message when a package gets an new owner. (It is also published when a package is orphaned; the ‘owner’ field will have the string ‘orphan’ as its value.)

{ 'i': 3,
  'msg': { 'agent': 'ralph',
           'package_listing': { 'collection': { 'branchname': 'EL-6',
                                                'disttag': '.el6',
                                                'name': 'Fedora EPEL',
                                                'pendingurltemplate': None,
                                                'publishurltemplate': None,
                                                'version': '6'},
                                'package': { 'description': None,
                                             'name': 'php-zmq',
                                             'reviewurl': None,
                                             'summary': 'PHP 0MQ/zmq/zeromq extension',
                                             'upstreamurl': None},
                                'point_of_contact': 'orphan',
                                'qacontact': None,
                                'specfile': None}},
  'timestamp': 1357580533.5999,
  'topic': 'org.fedoraproject.prod.pkgdb.owner.update',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set(['php-zmq'])
  • set(['php-zmq/owner/EL-6'])

pkgdb.package.new

The Fedora Package DB publishes this message when a new package is added to the DB. This typically happens near the end of the Package Review Process as a result of a SCM Admin Request.

{ 'i': 3,
  'msg': { 'agent': 'ralph',
           'package_listing': { 'collection': { 'branchname': 'devel',
                                                'disttag': '.f19',
                                                'name': 'Fedora',
                                                'pendingurltemplate': None,
                                                'publishurltemplate': None,
                                                'version': '19'},
                                'package': { 'description': None,
                                             'name': 'php-zmq',
                                             'reviewurl': None,
                                             'summary': 'PHP 0MQ/zmq/zeromq extension',
                                             'upstreamurl': None},
                                'point_of_contact': 'lmacken',
                                'qacontact': None,
                                'specfile': None}},
  'timestamp': 1357580533.5999,
  'topic': 'org.fedoraproject.prod.pkgdb.package.new',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken', 'ralph'])
  • set(['php-zmq'])
  • set(['php-zmq/create'])

pkgdb.package.retire

The Fedora Package DB publishes messages on this topic when a package is retired. For example:

{ 'i': 2,
  'msg': { 'agent': 'ralph',
           'package_listing': { 'collection': { 'branchname': 'EL-6',
                                                'disttag': '.el6',
                                                'name': 'Fedora EPEL',
                                                'pendingurltemplate': None,
                                                'publishurltemplate': None,
                                                'version': '6'},
                                'owner': 'orphan',
                                'package': { 'description': None,
                                             'name': 'php-zmq',
                                             'reviewurl': None,
                                             'summary': 'PHP 0MQ/zmq/zeromq extension',
                                             'upstreamurl': None},
                                'qacontact': None,
                                'specfile': None},
           'retirement': 'retired'},
  'timestamp': 1357583297.886945,
  'topic': 'org.fedoraproject.prod.pkgdb.package.retire',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set(['php-zmq'])
  • set(['php-zmq/retire'])

pkgdb.package.update

The Fedora Package DB publishes this message when metadata for a package is updated.

{ 'i': 144,
  'msg': { 'agent': 'ralph',
           'package_listing': { 'collection': { 'branchname': 'F-18',
                                                'name': 'Fedora',
                                                'pendingurltemplate': None,
                                                'publishurltemplate': None,
                                                'version': '18'},
                                'package': { 'creation_date': 1379619917.0,
                                             'name': 'guake',
                                             'review_url': 'https://bugzilla.redhat.com/450189',
                                             'status': 'Approved',
                                             'summary': 'Top down terminal for GNOME',
                                             'upstream_url': 'http://guake.org'},
                                'point_of_contact': 'pingou'},
           'package_name': 'guake',
           'prev_status': 'Retired',
           'status': 'Approved'},
  'msg_id': '2013-c131fb95-0a2e-4426-95c3-09766e017d29',
  'timestamp': 1379605523.496933,
  'topic': 'org.fedoraproject.prod.pkgdb.package.update',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph', 'pingou'])
  • set(['guake'])
  • set(['guake/update'])

planet

planet.post.new

The Fedora Planet publishes messages of this topic whenever a new blog post is found. Cool!

{ 'i': 1,
  'msg': { 'face': 'https://secure.gravatar.com/avatar/ba940b433c2695635d32d2c4aec00540?s=140',
           'name': 'Ralph Bean',
           'post': { 'content': [ { 'base': 'http://threebean.org/blog/category/fedora/feed/index.xml',
                                    'language': None,
                                    'type': 'text/html',
                                    'value': '<div class="document">\n<p>Another test post for fedmsg+fedoraplanet.</p>\n</div>'}],
                     'guidislink': False,
                     'id': 'http://threebean.org/blog/test-post-6',
                     'link': 'http://threebean.org/blog/test-post-6',
                     'links': [ { 'href': 'http://threebean.org/blog/test-post-6',
                                  'rel': 'alternate',
                                  'type': 'text/html'}],
                     'summary': 'Test Post 6',
                     'summary_detail': { 'base': 'http://threebean.org/blog/category/fedora/feed/index.xml',
                                         'language': None,
                                         'type': 'text/html',
                                         'value': 'Test Post 6'},
                     'tags': [ { 'label': None,
                                 'scheme': None,
                                 'term': 'fedora'}],
                     'title': 'Test Post 6',
                     'title_detail': { 'base': 'http://threebean.org/blog/category/fedora/feed/index.xml',
                                       'language': None,
                                       'type': 'text/html',
                                       'value': 'Test Post 6'},
                     'updated': 'Wed, 30 Jan 2013 15:00:00 EST',
                     'updated_parsed': 1359576000.0},
           'username': 'ralph'},
  'timestamp': 1359579067.617802,
  'topic': 'org.fedoraproject.prod.planet.post.new',
  'username': 'planet-user'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['threebean.org/blog/test-post-6'])

trac

trac.git.receive

Messages are published on this topic when a users pushes commits to a fedorahosted git repository.

The message format is very similar to the git.receive message type for Fedora packages.

{ 'i': 1,
  'msg': { 'commit': { 'agent': 'ralph',
                       'branch': 'dev',
                       'email': 'rbean@redhat.com',
                       'message': 'Another commit to test fedorahosted fedmsg.\n',
                       'name': 'Ralph Bean',
                       'repo': 'moksha',
                       'rev': '24bcd20d08a68320f82951ce20959bc6a1a6e79c',
                       'stats': { 'files': { 'README.rst': { 'deletions': 0,
                                                             'insertions': 1,
                                                             'lines': 1}},
                                  'total': { 'deletions': 0,
                                             'files': 1,
                                             'insertions': 1,
                                             'lines': 1}},
                       'summary': 'Another commit to test fedorahosted fedmsg.',
                       'username': 'ralph'}},
  'timestamp': 1368046115.802794,
  'topic': 'org.fedoraproject.prod.trac.git.receive',
  'username': 'ralph'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/git/README.rst'])

trac.git.receive

Messages are published on this topic when a users pushes commits to a fedorahosted git repository.

The message format is very similar to the git.receive message type for Fedora packages.

{ 'i': 1,
  'msg': { 'commit': { 'agent': 'ralph',
                       'branch': 'dev',
                       'email': 'rbean@redhat.com',
                       'message': 'Another commit to test fedorahosted fedmsg.\n',
                       'name': 'Ralph Bean',
                       'path': '/srv/git/docs/about-fedora.git',
                       'repo': 'about-fedora',
                       'rev': '24bcd20d08a68320f82951ce20959bc6a1a6e79c',
                       'stats': { 'files': { 'README.rst': { 'deletions': 0,
                                                             'insertions': 1,
                                                             'lines': 1}},
                                  'total': { 'deletions': 0,
                                             'files': 1,
                                             'insertions': 1,
                                             'lines': 1}},
                       'summary': 'Another commit to test fedorahosted fedmsg.',
                       'username': 'ralph'}},
  'timestamp': 1368046115.802794,
  'topic': 'org.fedoraproject.prod.trac.git.receive',
  'username': 'ralph'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['docs/about-fedora/git/README.rst'])

trac.ticket.delete

You can actually permanently delete trac tickets, which is kind of crazy. If you do, a message looking something like this will be published.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'ticket': { 'blockedby': '',
                       'blocking': '',
                       'cc': '',
                       'changetime': 1368042301.0,
                       'component': 'moksha',
                       'description': 'I installed the fedmsg plugin.',
                       'id': 249,
                       'keywords': '',
                       'milestone': '__unclassified__',
                       'owner': '',
                       'priority': 'major',
                       'reporter': 'ralph',
                       'resolution': 'fixed',
                       'status': 'closed',
                       'summary': 'Test ticket for fedmsg plugin',
                       'time': 1368039807.0,
                       'type': 'defect'}},
  'timestamp': 1368042385.176218,
  'topic': 'org.fedoraproject.prod.trac.ticket.delete',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/ticket/249'])

trac.ticket.new

Messages are published on this topic when a user opens a new ticket on a fedorahosted trac instance.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'ticket': { 'blockedby': '',
                       'blocking': '',
                       'cc': '',
                       'changetime': 1368043635.0,
                       'component': 'moksha',
                       'description': 'just testing fedmsg.',
                       'id': 249,
                       'keywords': '',
                       'milestone': '__unclassified__',
                       'owner': 'lmacken',
                       'priority': 'major',
                       'reporter': 'ralph',
                       'status': 'new',
                       'summary': 'test fedmsg',
                       'time': 1368043635.0,
                       'type': 'defect'}},
  'timestamp': 1368043636.294278,
  'topic': 'org.fedoraproject.prod.trac.ticket.new',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['lmacken', 'ralph'])
  • set([])
  • set(['moksha/ticket/249'])

trac.ticket.update

Messages get emitted on this topic when someone updates a trac ticket on a fedorahosted trac instance.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'author': 'ralph',
           'comment': 'Testing.',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'old_values': { },
           'ticket': { 'blockedby': '',
                       'blocking': '',
                       'cc': '',
                       'changetime': 1368040146.0,
                       'component': 'moksha',
                       'description': 'I installed the fedmsg plugin.',
                       'id': 249,
                       'keywords': '',
                       'milestone': '__unclassified__',
                       'owner': '',
                       'priority': 'major',
                       'reporter': 'ralph',
                       'resolution': '',
                       'status': 'new',
                       'summary': 'Test ticket for fedmsg plugin',
                       'time': 1368039807.0,
                       'type': 'defect'}},
  'timestamp': 1368040146.688652,
  'topic': 'org.fedoraproject.prod.trac.ticket.update',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/ticket/249'])

trac.ticket.update

Here’s yet another example of an edit to a trac ticket. In this one, the user has closed a ticket.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'author': 'ralph',
           'comment': '',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'old_values': { 'resolution': '', 'status': 'reopened'},
           'ticket': { 'blockedby': '',
                       'blocking': '',
                       'cc': '',
                       'changetime': 1368040802.0,
                       'component': 'moksha',
                       'description': 'I installed the fedmsg plugin.',
                       'id': 249,
                       'keywords': '',
                       'milestone': '__unclassified__',
                       'owner': '',
                       'priority': 'major',
                       'reporter': 'ralph',
                       'resolution': 'wontfix',
                       'status': 'closed',
                       'summary': 'Test ticket for fedmsg plugin',
                       'time': 1368039807.0,
                       'type': 'defect'}},
  'timestamp': 1368040802.747666,
  'topic': 'org.fedoraproject.prod.trac.ticket.update',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/ticket/249'])

trac.ticket.update

Here’s another example of an edit to a trac ticket. Here’s one where the ticket was originally closed and then was re-opened.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'author': 'ralph',
           'comment': '',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'old_values': { 'resolution': 'wontfix', 'status': 'closed'},
           'ticket': { 'blockedby': '',
                       'blocking': '',
                       'cc': '',
                       'changetime': 1368040591.0,
                       'component': 'moksha',
                       'description': 'I installed the fedmsg plugin.',
                       'id': 249,
                       'keywords': '',
                       'milestone': '__unclassified__',
                       'owner': '',
                       'priority': 'major',
                       'reporter': 'ralph',
                       'resolution': '',
                       'status': 'reopened',
                       'summary': 'Test ticket for fedmsg plugin',
                       'time': 1368039807.0,
                       'type': 'defect'}},
  'timestamp': 1368040591.046669,
  'topic': 'org.fedoraproject.prod.trac.ticket.update',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/ticket/249'])

trac.wiki.page.delete

These messages are fired off whenever a user deletes a wiki article on a fedorahosted trac instance.

{ 'i': 2,
  'msg': { 'agent': 'ralph',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'page': { 'author': '',
                     'comment': '',
                     'name': 'watwat',
                     'text': '',
                     'time': None,
                     'version': 0}},
  'timestamp': 1368043573.12363,
  'topic': 'org.fedoraproject.prod.trac.wiki.page.delete',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/wiki/watwat'])

trac.wiki.page.new

Messages of this topic get published when someone creates a new wiki page on a fedorahosted trac instance.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'page': { 'author': 'ralph',
                     'comment': '',
                     'name': 'watwat',
                     'text': 'This is a test wiki page for fedmsg.',
                     'time': 1368042662.0,
                     'version': 1}},
  'timestamp': 1368042663.078511,
  'topic': 'org.fedoraproject.prod.trac.wiki.page.new',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/wiki/watwat'])

trac.wiki.page.rename

Messages are published on this topic when a user renames a wiki page on a fedorahosted <http://fedorahosted.org>_ trac instance.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'old_name': 'watwat',
           'page': { 'author': 'ralph',
                     'comment': '',
                     'name': 'watwat2',
                     'text': 'This is a test wiki page for fedmsg.',
                     'time': 1368042662.0,
                     'version': 1}},
  'timestamp': 1368043322.110536,
  'topic': 'org.fedoraproject.prod.trac.wiki.page.rename',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/wiki/watwat2', 'moksha/wiki/watwat'])

trac.wiki.page.update

Messages get emitted on this topic when someone updates a wiki page on a fedorahosted trac instance.

{ 'i': 1,
  'msg': { 'agent': 'ralph',
           'author': 'ralph',
           'comment': '',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'page': { 'author': 'ralph',
                     'comment': '',
                     'name': 'WikiStart',
                     'text': ' ... the full text of the wiki page goes here .. ',
                     'time': 1368038919.0,
                     'version': 47},
           't': 1368038919.0,
           'version': 47},
  'timestamp': 1368038919.389492,
  'topic': 'org.fedoraproject.prod.trac.wiki.page.update',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/wiki/WikiStart'])

trac.wiki.page.version.delete

Messages are published on this topic when a user deletes a particular version of a page on a fedorahosted trac instance.

{ 'i': 2,
  'msg': { 'agent': 'ralph',
           'instance': { 'base_url': 'https://fedorahosted.org/moksha/',
                         'project_description': 'Moksha is an opensource plugin-based web framework that aims to simplify the creation of live widget dashboards.',
                         'project_icon': 'common/trac.ico',
                         'project_name': 'moksha',
                         'project_url': 'http://moksha.fedorahosted.org'},
           'page': { 'author': 'ralph',
                     'comment': '',
                     'name': 'WikiStart',
                     'text': ' .. wiki page text goes here. ..',
                     'time': 1368038919.0,
                     'version': 47}},
  'timestamp': 1368043436.144498,
  'topic': 'org.fedoraproject.prod.trac.wiki.page.version.delete',
  'username': 'apache'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • set([])
  • set(['moksha/wiki/WikiStart'])

wiki

wiki.article.edit

Fedora’s Wiki has a fedmsg hook that publishes messages like this one when a user edits a page.

{ 'msg': { 'base_rev_id': False,
           'minor_edit': 0,
           'revision': None,
           'section_anchor': None,
           'summary': '/* Mission */ ',
           'text': 'The diff goes here...',
           'title': 'Messaging SIG',
           'url': 'http://this-is-a-link.org',
           'user': 'Ralph',
           'watch_this': None},
  'timestamp': 1344350200,
  'topic': 'org.fedoraproject.prod.wiki.article.edit'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['Messaging SIG-page'])

wiki.upload.complete

Fedora’s Wiki hook also publishes messages when a user upload some media (like a video or a picture).

{ 'msg': { 'description': 'This is a beautiful cat',
           'file_exists': True,
           'major_mime': 'image',
           'media_type': 'BITMAP',
           'mime': 'image/jpeg',
           'minor_mime': 'jpeg',
           'size': 295667,
           'title': { 'mArticleID': 46586,
                      'mBacklinkCache': { },
                      'mCascadeRestriction': None,
                      'mCascadeSources': [],
                      'mCascadingRestrictions': [],
                      'mDbkeyform': 'Cat.jpg',
                      'mDefaultNamespace': 0,
                      'mFragment': '',
                      'mHasCascadingRestrictions': None,
                      'mInterwiki': '',
                      'mLatestID': False,
                      'mLength': -1,
                      'mNamespace': 6,
                      'mNotificationTimestamp': [],
                      'mOldRestrictions': False,
                      'mPrefixedText': 'File:Cat.jpg',
                      'mRedirect': None,
                      'mRestrictions': [],
                      'mRestrictionsExpiry': { 'create': 'infinity'},
                      'mRestrictionsLoaded': False,
                      'mTextform': 'Cat.jpg',
                      'mTitleProtection': False,
                      'mUrlform': 'Cat.jpg',
                      'mUserCaseDBKey': 'Cat.jpg',
                      'mWatched': None},
           'url': '/w/uploads/d/d1/Cat.jpg',
           'user_id': 8306,
           'user_text': 'Ralph'},
  'timestamp': 1344361406,
  'topic': 'org.fedoraproject.prod.wiki.upload.complete'}

The example message above, when passed to various routines in the fedmsg.meta module, will produce the following outputs:

  • set(['ralph'])
  • None
  • set(['w/uploads/d/d1/Cat.jpg'])

fedmsg

Table Of Contents

Previous topic

Configuration

Edit this document

Go to List of Message Topics on GitHub.

Use the web interface to fork the repo, edit the file, and send a pull request.

Your changes will be queued for review under project's Pull requests tab on Github.

Fork me on GitHub