A plugin that adds the issue-feedback command to RepoBee
Project description
repobee-feedback
A RepoBee plugin that adds the
issue-feedback
command to RepoBee. It allows the user to specify a
directory containing issue files. Issue files are simply markdown
files in which the first line is taken to be the title of the issue, and the
rest the body. The issue-feedback
command looks for issue files called
<STUDENT_REPO_NAME>.md
, and opens them in the respective student repos.
Alternatively, you can also use a special file format to put all issues into the same file, see The multi issues file.
Important: This plugin is still in very early stages and may change considerably over the coming weeks.
Install
repobee-feedback
is on PyPi, so installing is as simple as:
python3 -m pip install --user --upgrade repobee-feedback
If you want the latest dev-build, you can also install directly from the repo:
$ python3 -m pip install git+https://github.com/repobee/repobee-feedback.git
Usage
Activate the plugin
To use repobee-feedback
, you first need to install it, and then
activate it as a plugin. You can do that either by providing it on the command
line:
$ repobee -p feedback issue-feedback [...]
Or, you can add it to the plugins
section of the config file.
[DEFAULTS]
plugins = feedback
And then the issue-feedback
command will simply appear. For more details on
using plugins, see the
RepoBee plugin docs.
The issue files
issue-feedback
looks for files called <STUDENT_REPO_NAME>.md
. So, if you for
example want to open feedback issues for students slarse
and rjglasse
for
assignment task-1
, it will expect the files slarse-task-1.md
and
rjglasse-task-1.md
to be present in the issue files directory. More files can
be present, but if any of the expected issue files are missing, an error is
displayed and no issues are opened.
The issue files should be Markdown-formatted. The first line of the file is the title, the rest is the body. Note that the title (i.e. first line) should not contain any formatting as it typically does not render well on GitHub/GitLab.
The multi issues file
Alternatively, you can put all issues into a single file and specify the path
to it with the --multi-issues-file
argument (see Optional
arguments). Each issue should begin with
#ISSUE#<STUDENT_REPO_NAME>#<ISSUE_TITLE>
, and everything between that line
and the next such line is considered to be the body of the issue. Here is an
example file with issues for students slarse
and rjglasse
for assignment
task-1
.
#ISSUE#slarse-task-1#This is a neat title
Well done mr slarse, you did good here.
You could have done a bit better on blabla, though.
Overall well done!
#ISSUE#rjglasse-task-1#This is another title
Hmm, not sure what's going on here.
Could you explain it better?
Note: The first line of the multi issues file must be an
#ISSUE#
line.
Using the issue-feedback
command
The issue-feedback
command is straightforward. It takes the "regular" options
that most RepoBee commands (base url, token, etc), but these are also picked
from the config file as per usual. With a typical RepoBee configuration, you
only need to supply --mn|--master-repo-names
and -s|--students
(or
--sf|--students_file
). Here's an example:
$ repobee -p feedback issue-feedback --mn task-1 -s slarse rjglasse
This will cause issue-feedback
to search through the current directory (which
is the default issue directory) for slarse-task-1.md
and rjglasse-task-1.md
.
Note: By default,
issue-feedback
runs in interactive mode: it will prompt youy/n
before opening an issue. See the next section for how to disable that.
Optional arguments
issue-feedback
has three optional arguments: -b|--batch-mode
,
--id|--issue-dir
and --mi|--multi-issues-file
.
Note:
--id
and--mi
are mutually exclusive, you can only supply one.
-b, --batch-mode Run without any yes/no promts.
--id ISSUES_DIR, --issues-dir ISSUES_DIR
Directory containing issue files. The files should be
named <STUDENT_REPO_NAME>.md (for example, slarse-
task-1.md). The first line is assumed to be the title,
and the rest the body. Defaults to the current
--mi MULTI_ISSUES_FILE, --multi-issues-file MULTI_ISSUES_FILE
File containing all issues to be openend. Each
separate issue should begin with a line containing
only #ISSUE#<STUDENT_REPO_NAME>#<ISSUE_TITLE>. For
example, for student `slarse` and assignment `task-1`
and issue title `Pass`, the line should read
`#ISSUE#slarse-task-1#Pass` (without backticks). The
very first line of the file must be an #ISSUE# line.
License
See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for repobee_feedback-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d559ce4071e659b782837bfb94750d52b4f28f20ac88e61c3affe34445941333 |
|
MD5 | b884264f93f07ffb79e265ae9bb01dfe |
|
BLAKE2b-256 | 4411a901c8618b01b74ee5a01a699667c865b133b63b1fb40cb72abb2f10d72b |