# noust gitlab

GitLab connections: a project and branch picker, and private clones.

```bash
noust gitlab [OPTIONS] COMMAND [ARGS]...
```

Subcommands: [`branches`](#noust-gitlab-branches), [`connect`](#noust-gitlab-connect), [`groups`](#noust-gitlab-groups), [`list`](#noust-gitlab-list), [`oauth-app`](#noust-gitlab-oauth-app), [`projects`](#noust-gitlab-projects), [`remove`](#noust-gitlab-remove), [`test`](#noust-gitlab-test)

## noust gitlab branches

List a project's branches (PROJECT is its id or its path, group/project).

```bash
noust gitlab branches [OPTIONS] NAME PROJECT
```

Arguments: `name`, `project`

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the branches as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust gitlab connect

Add a connection that signs in with an access token.

```bash
noust gitlab connect [OPTIONS] NAME
```

Arguments: `name`

| Option | What it does | Default |
|---|---|---|
| `--host` | The GitLab host: gitlab.com or git.example.com. |  |
| `--token-stdin` | Read the access token from standard input (else NOUST_GITLAB_TOKEN). |  |
| `--json` | Print the connection as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust gitlab groups

List the groups a connection's user belongs to.

```bash
noust gitlab groups [OPTIONS] NAME
```

Arguments: `name`

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the groups as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust gitlab list

List the GitLab connections and OAuth applications.

```bash
noust gitlab list [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the connections as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust gitlab oauth-app

The OAuth application registered in GitLab, so people can connect without a token.

```bash
noust gitlab oauth-app [OPTIONS] COMMAND [ARGS]...
```

Subcommands: [`remove`](#noust-gitlab-oauth-app-remove), [`set`](#noust-gitlab-oauth-app-set)

## noust gitlab oauth-app remove

Forget the OAuth application of a host.

```bash
noust gitlab oauth-app remove [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--host` |  |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust gitlab oauth-app set

Record an OAuth application.

```bash
noust gitlab oauth-app set [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--host` | The GitLab host it is registered on. |  |
| `--client-id` | The application's id. |  |
| `--client-secret-stdin` | Read the application's secret from standard input (else NOUST_GITLAB_CLIENT_SECRET). |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust gitlab projects

List the projects a connection's user can read, most recently active first.

```bash
noust gitlab projects [OPTIONS] NAME
```

Arguments: `name`

| Option | What it does | Default |
|---|---|---|
| `--group` | Only the projects of this group (its full path) and subgroups. |  |
| `--search` | Only projects whose name contains this. |  |
| `--limit` |  | `200` |
| `--json` | Print the projects as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust gitlab remove

Forget a connection and its token.

```bash
noust gitlab remove [OPTIONS] NAME
```

Arguments: `name`

| Option | What it does | Default |
|---|---|---|
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust gitlab test

Ask GitLab who a connection is, and record whether it still works.

```bash
noust gitlab test [OPTIONS] NAME
```

Arguments: `name`

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the connection as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

