diff --git a/README.md b/README.md index ed3aba1..0c0786f 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,25 @@ # GitLab Recurring Issues -A Docker image for creating recurring issues based on templates as part of a GitLab scheduled pipeline. +A Docker image for creating recurring issues based on templates as part of a +GitLab scheduled pipeline. -Forked from ⭐ [ph1ll/gitlab-recurring-issues](https://github.com/ph1ll/gitlab-recurring-issues) and adapted for my personal use. +Forked from ⭐ +[ph1ll/gitlab-recurring-issues](https://github.com/ph1ll/gitlab-recurring-issues) +and adapted for my personal use. -The Docker image is available on [DockerHub](https://hub.docker.com/repository/docker/tamslo/gitlab-issue-automation). +The Docker image is available on +[DockerHub](https://hub.docker.com/repository/docker/tamslo/gitlab-issue-automation). -_⚠️ Please note that I did not add any unit testing; so use with caution – especially added features like n-weekly occurrence, exceptions, adapting board labels, and creating standup meeting notes._ +_⚠️ Please note that I did not add any unit testing; so use with caution –_ +_especially added features like n-weekly occurrence, exceptions, adapting board_ +_labels, and creating standup meeting notes._ ## Usage -Create template issues in the `.gitlab/recurring_issue_templates/` directory as Markdown files. Template issues use YAML front matter for configuration settings. The template body is used as the issue description. +Create template issues in the `.gitlab/recurring_issue_templates/` directory as +Markdown files. +Template issues use YAML front matter for configuration settings. +The template body is used as the issue description. ```markdown --- @@ -45,15 +54,22 @@ Create project CI/CD variables: | ---- | ----- | | GITLAB_API_TOKEN | The API access token for the user account that will create the issues (see: [GitLab docs](https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html)) | -Finally, create a new schedule under the project CI/CD options, ensuring that the pipeline runs at least as often as your most frequent job. +Finally, create a new schedule under the project CI/CD options, ensuring that +the pipeline runs at least as often as your most frequent job. ### Adding Recurrance Exceptions -To add exceptions to recurrances, create a file named `recurrance_exceptions.yml` in the templates folder. Note that exception dates are applied to the creation date given in `crontab`, not the due date. +To add exceptions to recurrances, create a file named +`recurrance_exceptions.yml` in the templates folder. +Note that exception dates are applied to the creation date given in `crontab`, +not the due date. -It can contain exception definitions and rules that map issues by their IDs (need to be given in the issue template) to exception definitions. +It can contain exception definitions and rules that map issues by their IDs +(need to be given in the issue template) to exception definitions. -Start and end dates are given in the format `YYYY-MM-DD`. If an exception occurs every year, the placeholder `YEAR` can be given (needs to be set for both `start` and `end`). +Start and end dates are given in the format `YYYY-MM-DD`. +If an exception occurs every year, the placeholder `YEAR` can be given (needs to +be set for both `start` and `end`). ```yaml definitions: @@ -77,20 +93,34 @@ rules: ### Automatically Moving Issues on Board -The script also checks whether labels for custom issue management on a board view exist (see label definitions in `constants` and `board_labels/board_labels.go`). +The script also checks whether labels for custom issue management on a board +view exist (see label definitions in `constants` and +`board_labels/board_labels.go`). -If an issue is due, the `TodayLabel` or `ThisWeekLabel` will be added if it is not present and no `OtherLabels` exist that indicate that the issue is in progress. If the `TodayLabel` is added and the `ThisWeekLabel` present, the latter will be removed. +If an issue is due, the `TodayLabel` or `ThisWeekLabel` will be added if it is +not present and no `OtherLabels` exist that indicate that the issue is in +progress. +If the `TodayLabel` is added and the `ThisWeekLabel` present, the latter will be +removed. ### Add Standup Notes -A helper will create standup meeting notes on the day of the `prepare-standup` recurring issue, if the issue exists and no notes exist yet. +A helper will create standup meeting notes on the day of the `prepare-standup` +recurring issue, if the issue exists and no notes exist yet. -All issues that were updated between the last standup meeting note and the current one that were not closed before the last standup note will be included as a list to help filling out the table (included as template). +All issues that were updated between the last standup meeting note and the +current one that were not closed before the last standup note will be included +as a list to help filling out the table (included as template). -By default, the wiki page is created in the wiki of the current project. If the CI/CD variable `GROUP_WIKI_ID` is set to the ID of a group, the page will be created in the wiki of this group. +By default, the wiki page is created in the wiki of the current project. +If the CI/CD variable `GROUP_WIKI_ID` is set to the ID of a group, the page will +be created in the wiki of this group. ### Issue for Vacation Start -A special recurring issue can be defined in the issue template `vacation.md`. This issue is created on the last workday before an upcoming vacation (identified as exceptions with IDs starting with `vacation-`). +A special recurring issue can be defined in the issue template `vacation.md`. +This issue is created on the last workday before an upcoming vacation +(identified as exceptions with IDs starting with `vacation-`). -_Not implemented yet, see [#8](https://github.com/tamslo/gitlab-issue-automation/issues/8)._ +_⚠️ Not implemented yet, see_ +_[#8](https://github.com/tamslo/gitlab-issue-automation/issues/8)._