]>
Commit | Line | Data |
---|---|---|
6a06907d XL |
1 | # Mastering @rustbot |
2 | ||
3 | `@rustbot` (also known as `triagebot`) is a utility robot that is mostly used to | |
4 | allow any contributor to achieve certain tasks that would normally require GitHub | |
5 | membership to the `rust-lang` organization. Its most interesting features for | |
6 | contributors to `rustc` are issue claiming and relabeling. | |
7 | ||
8 | ## Issue claiming | |
9 | ||
10 | `@rustbot` exposes a command that allows anyone to assign an issue to themselves. | |
11 | If you see an issue you want to work on, you can send the following message as a | |
12 | comment on the issue at hand: | |
13 | ||
14 | @rustbot claim | |
15 | ||
16 | This will tell `@rustbot` to assign the issue to you if it has no assignee yet. | |
17 | Note that because of some GitHub restrictions, you may be assigned indirectly, | |
18 | i.e. `@rustbot` will assign itself as a placeholder and edit the top comment to | |
19 | reflect the fact that the issue is now assigned to you. | |
20 | ||
21 | If you want to unassign from an issue, `@rustbot` has a different command: | |
22 | ||
23 | @rustbot release-assignment | |
24 | ||
25 | ## Issue relabeling | |
26 | ||
27 | Changing labels for an issue or PR is also normally reserved for members of the | |
28 | organization. However, `@rustbot` allows you to relabel an issue yourself, only | |
29 | with a few restrictions. This is mostly useful in two cases: | |
30 | ||
31 | **Helping with issue triage**: Rust's issue tracker has more than 5,000 open | |
32 | issues at the time of this writing, so labels are the most powerful tool that we | |
33 | have to keep it as tidy as possible. You don't need to spend hours in the issue tracker | |
34 | to triage issues, but if you open an issue, you should feel free to label it if | |
35 | you are comfortable with doing it yourself. | |
36 | ||
37 | **Updating the status of a PR**: We use "status labels" to reflect the status of | |
38 | PRs. For example, if your PR has merge conflicts, it will automatically be assigned | |
39 | the `S-waiting-on-author`, and reviewers might not review it until you rebase your | |
40 | PR. Once you do rebase your branch, you should change the labels yourself to remove | |
41 | the `S-waiting-on-author` label and add back `S-waiting-on-review`. In this case, | |
42 | the `@rustbot` command will look like this: | |
43 | ||
44 | @rustbot label -S-waiting-on-author +S-waiting-on-review | |
45 | ||
46 | The syntax for this command is pretty loose, so there are other variants of this | |
47 | command invocation. For more details, see [the wiki page about labeling][labeling]. | |
48 | ||
49 | [labeling]: https://github.com/rust-lang/triagebot/wiki/Labeling | |
50 | ||
51 | ## Other commands | |
52 | ||
53 | If you are interested in seeing what `@rustbot` is capable of, check out its [wiki], | |
54 | which is meant as a reference for the bot and should be kept up to date every time the | |
55 | bot gets an upgrade. | |
56 | ||
57 | `@rustbot` is maintained by the Release team. If you have any feedback regarding | |
58 | existing commands or suggestions for new commands, feel free to reach out | |
59 | [on Zulip][zulip] or file an issue in [the triagebot repository][repo] | |
60 | ||
61 | [wiki]: https://github.com/rust-lang/triagebot/wiki | |
62 | [zulip]: https://rust-lang.zulipchat.com/#narrow/stream/224082-t-release.2Ftriagebot | |
63 | [repo]: https://github.com/rust-lang/triagebot/ |