{% extends "base.html" %} {% import "webhooks_panel.html" as w %} {% import "repo_tabs.html" as m %} {% block title %}Settings · {{ repo.owner }}/{{ repo.name }}{% endblock %} {% block bodyattrs %} data-repo="{{ repo.url }}"{% endblock %} {% block tabs %}{% call m::tabs(repo, "settings") %}{% endblock %} {% block content %}

Settings {{ repo.owner }}/{{ repo.name }}

{% if let Some(n) = notice %}

{{ n }}

{% endif %} {% if let Some(e) = error %}

{{ e }}

{% endif %}

General

Separated by spaces or commas; letters, digits and dashes. People find repositories by them under Explore.

Landing requirements

Git mirror

For tools that only speak Git (CI runners, IDEs): git clone {{ shell.base_url }}{{ repo.url }}.git. Private repositories take a personal access token as the password. Pushing to the mirror is refused.{% if row.git_mirror && !row.git_mirror_state.is_empty() %} Last exported state {{ row.git_mirror_state|short }}.{% endif %}

Required checks

Any token with checks:write reports checks with POST {{ shell.base_url }}/api/v1/repos/{{ repo.owner }}/{{ repo.name }}/checks.

{% if role == crate::auth::Role::Admin %} {% call w::panel(repo.url ~ "/settings", hooks, shell.csrf, "Each delivery is signed with the secret (X-Oxyhub-Signature) and retried with backoff for a day.") %}

Collaborators

{% if collaborators.is_empty() %}

Nobody beyond the owner{% if !teams.is_empty() %} and the organisation's members{% endif %}.

{% else %} {% for c in collaborators %} {% endfor %}
{% if let Some(a) = c.account %}{{ a.username }}{% else if let Some(t) = c.team %}team {{ t.name }}{% endif %}{{ c.role }}
{% if let Some(a) = c.account %}{% else if let Some(t) = c.team %}{% endif %}
{% endif %}
{% if !teams.is_empty() %}
{% endif %}
Delete this repository

The repository moves to the trash and is removed after the retention period. Type {{ repo.owner }}/{{ repo.name }} to confirm.

{% endif %}
{% endblock %}