---
title: "ba - Manage forge board and wiki"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{ba-manage-forge-board-wiki}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

```{r setup}
library(lozen)
```

# Add labels

This will add labels "Prêt", "En cours", etc. in your project.

```{r, eval=FALSE}
add_labels(
  project_id = project_id
)
```

# Create the board

This code prepares the _board_ for the _issues_: Issues > Board > Add List

+ If the labels are duplicated, go to Issues > Labels. Delete all the "project labels" by clicking on the 3 vertical dots, then Delete. The list of labels is now empty, but if you go back to the _board_, you will still have the global labels available, in one copy.

```{r, eval=FALSE}
add_board(
  project_id = project_id
)
```

## Add some special issues in the board

### Add the first issue for the client

```{r, eval=FALSE}
add_issue_clients(
  project_id = project_id,
  project_name = project_name,
  group_url = group_url
)
```

### Add the issue that will be shown during the kick-off

```{r, eval=FALSE}
add_issue_kickoff(
  project_id = project_id
)
```

### Add the todo for the Lead Dev

```{r, eval=FALSE}
add_issue_dev(
  project_id = project_id,
  group_url = group_url,
  project_name = project_name
)
```

# Create the wiki pages

This will create some pages in the wiki of your project:

- Home
- Comptes-rendus
- Key dates

```{r, eval=FALSE}
add_wikis(
  project_id = project_id,
  project_name = project_name,
  group_url = group_url,
  group = basename(group_url)
)
```


# No autoclose issue and coverage regex

```{r, eval=FALSE}
modify_autoclose_and_coverage(
  project_id = project_id
)
```

# Add commit templates

```{r, eval=FALSE}
add_git_templates(
  project_path = project_path,
  type = c("commit", "mr")
)
```

> Tell all devs to run this in their own project `gert::git_config_set(repo = project_path, name = "commit.template", value = ".gitlab/template_commit")`

# Add issues templates

2 templates will be added for the issues that will be opened on your project: 

- A "light" template
- A "full" template that contains all the information required to complete the issues

```{r, eval=FALSE}
gl_add_template_issue(
  project_path = project_path,
  language = "fr" # you can use "en" instead
)
```
