Skip to content

OmpiReleaseBotCommands

Jeff Squyres edited this page Feb 14, 2015 · 9 revisions

As noted in other wiki pages, most developers cannot set the following attributes on issues and pull requests in the ompi-release repo:

  • Labels
  • Milestones
  • Assignees

This is due to limitations in the Github permissions system.

Specifically, most developers do not have push/write access to the ompi-release repo. Github also interprets that to mean that those users should not be able to set labels, milestones, and assignees.

As a workaround, we have a bot monitoring the issues and pull requests on the ompi-release repo. Any Github user who is a member of the Open MPI Github organization can issue commands in any issue/pull request that will set/unset labels, milestones, and assignees.

Commands that the bot recognizes

Short version

Here's the tokens that OMPIBot recognizes:

  • bot:label:LABEL assigns the label "LABEL" to the issue
    • :+1: is a synonym for "label:reviewed"
  • bot:nolabel:LABEL unassigns the label "LABEL" from the issue
    • :-1: is a synonym for "nolabel:reviewed"
  • bot:milestone:MILESTONE assigns the milestone "MILESTONE" to the issue
  • bot:nomilestone: unassigns the currently-assigned milestone from the issue
  • bot:assign:USER assigns the user USER to the issue.
    • You can also use the form bot:assign:@USER.
    • You can also use the form bot:assign: @USER (note the extra space!), which allows for Github auto-completion.
  • bot:unassign: unassigns the currently-assigned user from the issue

More detail

  • You can list multiple tokens in a single issue/PR/comment. E.g., bot:label:bug bot:label:documentation bot:milestone:v1.8.5
  • Except for the bot:assign: @USER form, do not put whitespace between the colon and the following token (e.g., label, milestone, or user).
  • Tokens don't have to be on their own line, but they do have to be whitespace delimited (whitespace does include newlines and beginning/end of string).
    • E.g., Please assign bot:label:foo. will attempt to assign the label foo. (note the period), NOT the label foo
  • You can assign multiple labels to a single issue.
  • You can only assign a single milestone to an issue.
    • You can assign milestone X and then later assign milestone Y; OMPIBot is smart enough to unassign X before assigning Y.
  • You can only assign a single user to an issue.
    • You can assign user A and then later assign user B; OMPIBot is smart enough to unassign A before assigning B.
  • You cannot list milestones or labels that include spaces (someone can add this feature in the future if they care enough). For OMPI's purposes, we're going to s/ /-/g in all of OMPI's milestones and labels.
  • If something goes wrong, the OMPIBot will add a comment to the issue explaining the error.
    • E.g., if you specify a label that does not exist
    • Or if you specify a milestone that does not exist
    • Or if you specify a user that cannot be assigned to the issue
  • Label, milestone, and username matching is all case-insensitive
    • E.g., bot:label:Reviewed is equivalent to bot:label:reviewed (regardless of whether the actual Github label is actually reviewed, Reviewed, or even REVIEWED).
  • The OMPIBot typically reacts to each submission within a few seconds. If more than 5 minutes goes by and the OMPIBot doesn't act, let @jsquyres and @ggouaillardet know.
Clone this wiki locally