repo sync
This commit is contained in:
@@ -33,8 +33,8 @@ Sie können Docker-Container- und JavaScript-Aktionen erstellen. Für Aktionen w
|
||||
| Typ | Betriebssystem |
|
||||
| ------------------------------------ | --------------------- |
|
||||
| Docker-Container | Linux |
|
||||
| JavaScript | Linux, MacOS, Windows |
|
||||
| Zusammengesetzte Ausführungsschritte | Linux, MacOS, Windows |
|
||||
| JavaScript | Linux, macOS, Windows |
|
||||
| Zusammengesetzte Ausführungsschritte | Linux, macOS, Windows |
|
||||
|
||||
#### Docker-Containeraktionen
|
||||
|
||||
|
||||
@@ -226,6 +226,10 @@ Jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. Es sollten „Hello Mona the Octocat“ oder der von Dir für die Eingabe `who-to-greet` verwendete Name und der im Protokoll ausgegebene Zeitstempel angezeigt werden.
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
@@ -176,7 +176,7 @@ git tag -a -m "Mein erstes Aktions-Release" v1
|
||||
git push --follow-tags
|
||||
```
|
||||
|
||||
As an alternative to checking in your `node_modules` directory you can use a tool called [`@vercel/ncc`](https://github.com/vercel/ncc) to compile your code and modules into one file used for distribution.
|
||||
Checking in your `node_modules` directory can cause problems. As an alternative, you can use a tool called [`@vercel/ncc`](https://github.com/vercel/ncc) to compile your code and modules into one file used for distribution.
|
||||
|
||||
1. Install `vercel/ncc` by running this command in your terminal. `npm i -g @vercel/ncc`
|
||||
|
||||
@@ -256,9 +256,11 @@ Jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. Es sollten „Hello Mona the Octocat“ oder der von Dir für die Eingabe `who-to-greet` verwendete Name und der im Protokoll ausgegebene Zeitstempel angezeigt werden.
|
||||
Klicke in Deinem Repository auf die Registerkarte **Actions** (Aktionen), und wähle die neueste Workflow-Ausführung aus. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% elsif currentVersion ver_gt "enterprise-server@2.22" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
|
||||
@@ -22,19 +22,19 @@ Für Docker- und JavaScript-Aktionen ist eine Metadatendatei erforderlich. Der D
|
||||
|
||||
Aktionsmetadatendateien verwenden die YAML-Syntax. Wenn Sie bislang noch nicht mit YAML gearbeitet haben, lesen Sie den Artikel „[Learn YAML in five minutes](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)“.
|
||||
|
||||
### **`name`**
|
||||
### `name`
|
||||
|
||||
**Required** (Erforderlich): Der Name Deiner Aktion. {% data variables.product.prodname_dotcom %} zeigt den `name` auf der Registerkarte **Actions** an, damit Du die Aktionen in jedem Auftrag visuell identifizieren kannst.
|
||||
|
||||
### **`Autor`**
|
||||
### `Autor`
|
||||
|
||||
**Optional**: Der Name des Autors der Aktion.
|
||||
|
||||
### **`Beschreibung`**
|
||||
### `Beschreibung`
|
||||
|
||||
**Erforderlich** Eine kurze Beschreibung der Aktion.
|
||||
|
||||
### **`inputs`**
|
||||
### `inputs`
|
||||
|
||||
**Optional**: Mit Eingabeparametern können Sie die Daten angeben, welche die Aktion während der Laufzeit erwartet. {% data variables.product.prodname_dotcom %} speichert Eingabeparameter als Umgebungsvariablen. Eingabe-IDs in Großbuchstaben werden während der Laufzeit in Kleinbuchstaben umgewandelt. Sie sollten Eingabe-IDs in Kleinbuchstaben verwenden.
|
||||
|
||||
@@ -57,23 +57,23 @@ Wenn Sie eine Eingabe für eine Aktion in einer Workflow-Datei angeben oder eine
|
||||
|
||||
Wenn beispielsweise ein Workflow die Eingaben „numOctocats“ und „octocatEyeColor“ definiert hat, kann der Aktionscode die Werte für die Eingaben mithilfe der Umgebungsvariablen `INPUT_NUMOCTOCATS` and `INPUT_OCTOCATEYECOLOR` lesen.
|
||||
|
||||
#### **`inputs.<input_id>`**
|
||||
#### `inputs.<input_id>`
|
||||
|
||||
**Erforderlich** Ein Kennzeichner, der die Eingabe identifiziert, als `string`. Der Wert von `<input_id>` ist eine Übersicht zu den Metadaten der Eingabe. Die `<input_id>` muss im Objekt `inputs` als ein eindeutiger Kennzeichner vorhanden sein. Die `<input_id>` muss mit einem Buchstaben oder `_` beginnen und darf nur alphanumerische Zeichen, `-` oder `_` enthalten.
|
||||
|
||||
#### **`inputs.<input_id>.description`**
|
||||
#### `inputs.<input_id>.description`
|
||||
|
||||
**Erforderlich** Eine Beschreibung des Eingabeparameters als `String`.
|
||||
|
||||
#### **`inputs.<input_id>.required`**
|
||||
#### `inputs.<input_id>.required`
|
||||
|
||||
**Erforderlich**: Ein `boolescher` Wert, um anzugeben, ob für die Aktion der Eingabeparameter erforderlich ist. Legen Sie den Wert `true` fest, wenn der Parameter erforderlich ist.
|
||||
|
||||
#### **`inputs.<input_id>.default`**
|
||||
#### `inputs.<input_id>.default`
|
||||
|
||||
**Optional**: Ein `String`, der den Standardwert darstellt. Der Standardwert wird verwendet, wenn ein Eingabeparameter in einer Workflow-Datei nicht angegeben ist.
|
||||
|
||||
### **`outputs`**
|
||||
### `outputs`
|
||||
|
||||
**Optional**: Ausgabeparameter erlauben Dir, Daten zu deklarieren, die eine Aktion setzt. Aktionen, die in einem Workflow später ausgeführt werden, können die Ausgabedaten der zuvor ausgeführten Aktionen verwenden. Wenn beispielsweise eine Aktion vorliegt, die zwei Eingaben addiert hat (x + y = z), kann die Aktion die Summe (z) für andere Aktionen ausgeben, damit sie als Eingabe verwendet wird.
|
||||
|
||||
@@ -87,15 +87,15 @@ outputs:
|
||||
description: 'Die Summe der Eingaben'
|
||||
```
|
||||
|
||||
#### **`outputs.<output_id>`**
|
||||
#### `outputs.<output_id>`
|
||||
|
||||
**Erforderlich** Ein Kennzeichner, der die Ausgabe identifiziert, als `String`. Der Wert von `<output_id>` ist eine Übersicht zu den Metadaten der Ausgabe. Die `<output_id>` muss im Objekt `outputs` als ein eindeutiger Kennzeichner vorhanden sein. Die `<output_id>` muss mit einem Buchstaben oder `_` beginnen und darf nur alphanumerische Zeichen, `-` oder `_` enthalten.
|
||||
|
||||
#### **`outputs.<output_id>.description`**
|
||||
#### `outputs.<output_id>.description`
|
||||
|
||||
**Erforderlich** Eine Beschreibung des Ausgabeparameters als `String`.
|
||||
|
||||
### **`-Ausgaben`** für Aktionen mit zusammengesetzten Ausführungsschritten
|
||||
### `outputs` for composite run steps actions
|
||||
|
||||
**Optional** `outputs` use the same parameters as `outputs.<output_id>` and `outputs.<output_id>.description` (see "[`outputs` for {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions#outputs)"), but also includes the `value` token.
|
||||
|
||||
@@ -116,12 +116,12 @@ läuft:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
#### **`outputs.<output_id.value>`**
|
||||
#### `outputs.<output_id>.value`
|
||||
**Erforderliche** Der Wert, dem der Ausgabeparameter zugeordnet wird. Sie können dies auf eine `Zeichenfolge` oder einen Ausdruck mit Kontext festlegen. Sie können z. B. die `Schritte` Kontext verwenden, um den `Wert` einer Ausgabe auf den Ausgabewert eines Schritts festzulegen.
|
||||
|
||||
For more information on how to use context and expression syntax, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)".
|
||||
|
||||
### **`runs`** für JavaScript-Aktionen
|
||||
### `runs` for JavaScript actions
|
||||
|
||||
**Erforderlich** Konfiguriert den Pfad zum Code der Aktion und zu der Anwendung, die den Code ausführen soll.
|
||||
|
||||
@@ -133,15 +133,15 @@ runs:
|
||||
main: 'main.js'
|
||||
```
|
||||
|
||||
#### **`runs.using`**
|
||||
#### `runs.using`
|
||||
|
||||
**Erforderlich** Die Anwendung, welche den in [`main`](#runsmain) angegebenen Code ausführen soll.
|
||||
|
||||
#### **`runs.main`**
|
||||
#### `runs.main`
|
||||
|
||||
**Erforderlich** Die Datei, die den Code Deiner Aktion enthält. Die in [`using`](#runsusing) angegebene Anwendung führt diese Datei aus.
|
||||
|
||||
#### **`pre`**
|
||||
#### `pre`
|
||||
|
||||
**Optional** Erlaubt es Dir, ein Skript am Anfang eines Jobs auszuführen, bevor die `main:`-Aktion startet. Du kannst `pre:` zum Beispiel verwenden, um mit einem Setup-Skript die Voraussetzungen zu schaffen. Die mit der Syntax [`using`](#runsusing) angegebene Anwendung wird diese Datei ausführen. Die `pre:`-Aktion wird normalerweise immer ausgeführt, aber Du kannst dies mit [`pre-if`](#pre-if) ändern.
|
||||
|
||||
@@ -155,7 +155,7 @@ runs:
|
||||
post: 'cleanup.js'
|
||||
```
|
||||
|
||||
#### **`pre-if`**
|
||||
#### `pre-if`
|
||||
|
||||
**Optional** Erlaubt Dir, Bedingungen für die Ausführung der `pre:`-Aktion festzulegen. Die `pre:`-Aktion läuft nur, wenn die Bedingungen in `pre-if` erfüllt sind. Wenn `pre-if` nicht definiert ist, gilt `always()` als Standardwert. Beachte, dass der `step`-Kontext nicht verfügbar ist, da noch keine Schritte ausgeführt wurden.
|
||||
|
||||
@@ -166,7 +166,7 @@ In diesem Beispiel läuft `cleanup.js` nur auf Linux-basierten Runnern:
|
||||
pre-if: 'runner.os == linux'
|
||||
```
|
||||
|
||||
#### **`Beitrag`**
|
||||
#### `Beitrag`
|
||||
|
||||
**Optional** Erlaubt es Dir, ein Skript am Ende eines Jobs auszuführen, sobald die `main:`-Aktion abgeschlossen ist. Zum Beispiel kannst Du `post:` verwenden, um bestimmte Prozesse zu beenden oder unnötige Dateien zu entfernen. Die mit der Syntax [`using`](#runsusing) angegebene Anwendung wird diese Datei ausführen.
|
||||
|
||||
@@ -181,7 +181,7 @@ runs:
|
||||
|
||||
Die `post:`-Aktion wird normalerweise immer ausgeführt, aber Du kannst dies mit `post-if` ändern.
|
||||
|
||||
#### **`post-if`**
|
||||
#### `post-if`
|
||||
|
||||
**Optional** Erlaubt Dir, Bedingungen für die Ausführung der `post:`-Aktion festzulegen. Die `post:`-Aktion läuft nur, wenn die Bedingungen in `post-if` erfüllt sind. Wenn `post-if` nicht definiert ist, gilt `always()` als Standardwert.
|
||||
|
||||
@@ -192,19 +192,19 @@ In diesem Beispiel läuft `cleanup.js` nur auf Linux-basierten Runnern:
|
||||
post-if: 'runner.os == linux'
|
||||
```
|
||||
|
||||
### **`führt`** für Aktionen für zusammengesetzte Ausführungsschritte aus
|
||||
### `runs` for composite run steps actions
|
||||
|
||||
**Erforderliche** Konfiguriert den Pfad zur zusammengesetzten Aktion und die Anwendung, die zum Ausführen des Codes verwendet wird.
|
||||
|
||||
#### **`runs.using`**
|
||||
#### `runs.using`
|
||||
|
||||
**Erforderliche** Um eine Aktion für zusammengesetzte Ausführungsschritte zu verwenden, legen Sie diese auf `"zusammengesetzte"`fest.
|
||||
|
||||
#### **`runs.steps`**
|
||||
#### `runs.steps`
|
||||
|
||||
**Erforderliche** Die Ausführungsschritte, die Sie in dieser Aktion ausführen möchten.
|
||||
|
||||
##### **`runs.steps.run`**
|
||||
##### `runs.steps.run`
|
||||
|
||||
**Erforderliche** Der Befehl, den Sie ausführen möchten. Dies kann inline oder ein Skript in Ihrem Aktions-Repository sein:
|
||||
```yaml
|
||||
@@ -227,27 +227,27 @@ läuft:
|
||||
|
||||
Weitere Informationen finden Sie unter "[`github context`](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)".
|
||||
|
||||
##### **`runs.steps.shell`**
|
||||
##### `runs.steps.shell`
|
||||
|
||||
**Erforderliche** Die Shell, in der Sie den Befehl ausführen möchten. Sie können eine der hier aufgeführten Shells [](/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell)verwenden.
|
||||
|
||||
##### **`runs.steps.name`**
|
||||
##### `runs.steps.name`
|
||||
|
||||
**Optionaler** Der Name des zusammengesetzten Ausführungsschritts.
|
||||
|
||||
##### **`runs.steps.id`**
|
||||
##### `runs.steps.id`
|
||||
|
||||
**Optionaler** Ein eindeutiger Bezeichner für den Schritt. Anhand der `id` können Sie in Kontexten auf den Schritt verweisen. Weitere Informationen findest Du unter "[Kontext- und Ausdrucks-Syntax für {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)".
|
||||
|
||||
##### **`runs.steps.env`**
|
||||
##### `runs.steps.env`
|
||||
|
||||
**Optionale** Legt eine `Zuordnung` von Umgebungsvariablen nur für diesen Schritt fest. If you want to modify the environment variable stored in the workflow, use {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}`echo "{name}={value}" >> $GITHUB_ENV`{% else %}`echo "::set-env name={name}::{value}"`{% endif %} in a composite run step.
|
||||
|
||||
##### **`runs.steps.working-directory`**
|
||||
##### `runs.steps.working-directory`
|
||||
|
||||
**Optionale** Gibt das Arbeitsverzeichnis an, in dem der Befehl ausgeführt wird.
|
||||
|
||||
### **`runs`** für Docker-Aktionen
|
||||
### `runs` for Docker actions
|
||||
|
||||
**Erforderlich** Konfiguriert das Image, welches für die Docker-Aktion verwendet wird.
|
||||
|
||||
@@ -267,11 +267,11 @@ läuft:
|
||||
Image: 'docker://debian:stretch-slim'
|
||||
```
|
||||
|
||||
#### **`runs.using`**
|
||||
#### `runs.using`
|
||||
|
||||
**Erforderlich** Du musst diesen Wert auf `'docker'` setzen.
|
||||
|
||||
#### **`pre-entrypoint`**
|
||||
#### `pre-entrypoint`
|
||||
|
||||
**Optional** Erlaubt Dir, ein Skript auszuführen, bevor die Aktion `entrypoint` beginnt. Du kannst `pre-entrypoint:` zum Beispiel verwenden, um mit einem Setup-Skript die Voraussetzungen zu schaffen. {% data variables.product.prodname_actions %} verwendet `docker run`, um diese Aktion zu starten, und führt das Skript in einem neuen Container aus, der das gleiche Basis-Image verwendet. Das bedeutet, dass sich der Laufzeitstatus vom Container des Haupt-`entrypoint` unterscheidet, und alle benötigten Zustände müssen entweder im Arbeitsbereich, `HOME`, oder als `STATE_`-Variable verwendet werden. Die `pre-entrypoint:`-Aktion wird normalerweise immer ausgeführt, aber Du kannst dies mit [`pre-if`](#pre-if) ändern.
|
||||
|
||||
@@ -289,21 +289,21 @@ runs:
|
||||
entrypoint: 'main.sh'
|
||||
```
|
||||
|
||||
#### **`runs.image`**
|
||||
#### `runs.image`
|
||||
|
||||
**Erforderlich** Das Docker-Image, das als Container zum Ausführen der Aktion verwendet werden soll. Der Wert kann der Name des Docker-Basis-Images sein, eine lokale `Dockerdatei` in Deinem Repository, oder ein öffentliches Image im Docker-Hub oder in einer anderen Registry. Um eine lokale `Dockerdatei` innerhalb Deines Repositorys zu referenzieren, gibst Du einen Pfad relativ zur Metadaten-Datei Deiner Aktion an. Die `Docker`-Anwendung wird diese Datei ausführen.
|
||||
|
||||
#### **`runs.env`**
|
||||
#### `runs.env`
|
||||
|
||||
**Optional** Gibt eine Schlüssel-Wert-Zuordnung von Umgebungsvariablen an, die in der Containerumgebung festgelegt werden sollen.
|
||||
|
||||
#### **`runs.entrypoint`**
|
||||
#### `runs.entrypoint`
|
||||
|
||||
**Optional** Überschreibt den `ENTRYPOINT` des Dockers in der `Dockerdatei`oder setzt ihn, falls nicht bereits angegeben. Verwende `Entrypoint`, wenn die `Dockerdatei` gibt keinen `Entrypoint` angibt, oder wenn Du die Anweisung `Entrypoint` überschreiben willst. Wenn Du `Entrypoint` weglässt, werden jene Befehle ausgeführt, welche Du in der Anweisung `Entrypoint` des Dockers angibst. Für die Docker-Anweisung `ENTRYPOINT` gibt es sowohl eine _shell_-Form als auch eine _exec_-Form. Die Docker-Dokumentation für `ENTRYPOINT` empfiehlt die _exec_-Form der `ENTRYPOINT`-Anweisung.
|
||||
|
||||
Weitere Informationen dazu, wie die `Entrypoint` ausgeführt wird, findest Du unter "[Dockerdatei-Unterstützung für {% data variables.product.prodname_actions %}](/actions/creating-actions/dockerfile-support-for-github-actions/#entrypoint)."
|
||||
|
||||
#### **`post-entrypoint`**
|
||||
#### `post-entrypoint`
|
||||
|
||||
**Optional** Erlaubt Dir, ein Aufräumskript auszuführen, sobald die Aktion `runs.entrypoint` abgeschlossen ist. {% data variables.product.prodname_actions %} verwendet `docker run` um diese Aktion zu starten. Da {% data variables.product.prodname_actions %} das Skript in einem neuen Container mit dem glaichen Basis-Image ausführt, unterscheidet sich der Laufzeitstatus vom Container des Haupt-`entrypoint`. Du kannst auf jeden benötigten Zustand, entweder im Arbeitsbereich, `HOME`, oder als `STATE_`-Variable zugreifen. Die `post-entrypoint:`-Aktion wird normalerweise immer ausgeführt, aber Du kannst dies mit [`post-if`](#post-if) ändern.
|
||||
|
||||
@@ -317,7 +317,7 @@ runs:
|
||||
post-entrypoint: 'cleanup.sh'
|
||||
```
|
||||
|
||||
#### **`runs.args`**
|
||||
#### `runs.args`
|
||||
|
||||
**Optional** Ein Array von Strings, welche die Eingaben für einen Docker-Container definieren. Eingaben können hartcodierte Strings enthalten. Beim Start des Containers übergibt {% data variables.product.prodname_dotcom %} die `args`-Anweisung an den `ENTRYPOINT` des Containers.
|
||||
|
||||
@@ -343,7 +343,7 @@ runs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### **`branding`**
|
||||
### `branding`
|
||||
|
||||
Du kannst mit einer Farbe und [Feder](https://feathericons.com/) ein Badge zu erstellen, um Deine Aktion zu personalisieren und von anderen zu unterscheiden. Badges werden neben Deinem Aktionsnamen in [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions) angezeigt.
|
||||
|
||||
@@ -355,11 +355,11 @@ branding:
|
||||
color: 'green'
|
||||
```
|
||||
|
||||
#### **`branding.color`**
|
||||
#### `branding.color`
|
||||
|
||||
Die Hintergrundfarbe des Badges. Kann eine der folgenden sein: `white`, `yellow`, `blue`, `green`, `orange`, `red`, `purple` oder `gray-dark`.
|
||||
|
||||
#### **`branding.icon`**
|
||||
#### `branding.icon`
|
||||
|
||||
Der Name des zu verwendenden [Federsymbols](https://feathericons.com/).
|
||||
|
||||
|
||||
@@ -25,7 +25,11 @@ Das Erstellen eines Pakets am Ende eines Workflows zur kontinuierlichen Integrat
|
||||
|
||||
Wenn Du nun einen Pull-Request überprüfst, kannst Du Dir den Ablauf des Workflows ansehen und das erzeugte Artefakt herunterladen.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
Dadurch kannst Du den Code im Pull-Request auf Deinem Rechner ausführen, was beim Debuggen oder Testen des Pull-Requests helfen kann.
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Build with Maven
|
||||
run: mvn -B package --file pom.xml
|
||||
run: mvn --batch-mode --update-snapshots verify
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
@@ -85,7 +85,7 @@ steps:
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Run the Maven verify phase
|
||||
run: mvn -B verify --file pom-ci.xml
|
||||
run: mvn --batch-mode --update-snapshots verify
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
@@ -108,7 +108,7 @@ steps:
|
||||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: ${{ runner.os }}-m2
|
||||
- name: Build with Maven
|
||||
run: mvn -B package --file pom.xml
|
||||
run: mvn --batch-mode --update-snapshots verify
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
@@ -125,7 +125,7 @@ Maven erstellt normalerweise Ausgabedateien wie JARs, EARs oder WARs im Verzeich
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-java@v1
|
||||
- run: mvn -B package --file pom.xml
|
||||
- run: mvn --batch-mode --update-snapshots verify
|
||||
- run: mkdir staging && cp target/*.jar staging
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
|
||||
@@ -60,7 +60,11 @@ jobs:
|
||||
* `run: Test-Path resultsfile.log` - Check whether a file called `resultsfile.log` is present in the repository's root directory.
|
||||
* `Should -Be $true` - Uses Pester to define an expected result. If the result is unexpected, then {% data variables.product.prodname_actions %} flags this as a failed test. Ein Beispiel:
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
* `Invoke-Pester Unit.Tests.ps1 -Passthru` - Uses Pester to execute tests defined in a file called `Unit.Tests.ps1`. For example, to perform the same test described above, the `Unit.Tests.ps1` will contain the following:
|
||||
```
|
||||
|
||||
@@ -84,7 +84,7 @@ jobs:
|
||||
server-username: MAVEN_USERNAME
|
||||
server-password: MAVEN_PASSWORD
|
||||
- name: Publish package
|
||||
run: mvn -B deploy
|
||||
run: mvn --batch-mode deploy
|
||||
env:
|
||||
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
|
||||
@@ -143,7 +143,7 @@ jobs:
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Publish package
|
||||
run: mvn -B deploy
|
||||
run: mvn --batch-mode deploy
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
@@ -182,7 +182,7 @@ jobs:
|
||||
server-username: MAVEN_USERNAME
|
||||
server-password: MAVEN_PASSWORD
|
||||
- name: Publish to the Maven Central Repository
|
||||
run: mvn -B deploy
|
||||
run: mvn --batch-mode deploy
|
||||
env:
|
||||
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
|
||||
@@ -191,7 +191,7 @@ jobs:
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Publish to GitHub Packages
|
||||
run: mvn -B deploy
|
||||
run: mvn --batch-mode deploy
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
|
||||
@@ -8,8 +8,6 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
authors:
|
||||
- GitHub
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
|
||||
@@ -11,8 +11,6 @@ redirect_from:
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=2.22'
|
||||
authors:
|
||||
- GitHub
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
|
||||
@@ -108,8 +108,6 @@ jobs:
|
||||
pfad: output/test/code-coverage.html
|
||||
```
|
||||
|
||||

|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
### Configuring a custom artifact retention period
|
||||
|
||||
@@ -238,7 +236,12 @@ Jobs:
|
||||
echo Das Ergebnis ist $value
|
||||
```
|
||||
|
||||
The workflow run will archive any artifacts that it generated. For more information on downloading archived artifacts, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)."
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" %}
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ The following operating systems are supported for the self-hosted runner applica
|
||||
- Windows Server 2016 64-bit
|
||||
- Windows Server 2019 64-bit
|
||||
|
||||
#### MacOS
|
||||
#### macOS
|
||||
|
||||
- macOS 10.13 (High Sierra) oder höher
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ changelog:
|
||||
title: Self-Hosted Runner Group Access Changes
|
||||
date: '2020-10-16'
|
||||
href: https://github.blog/changelog/2020-10-16-github-actions-self-hosted-runner-group-access-changes/
|
||||
product_video: https://www.youtube-nocookie.com/embed/cP0I9w2coGU
|
||||
redirect_from:
|
||||
- /articles/automating-your-workflow-with-github-actions/
|
||||
- /articles/customizing-your-project-with-github-actions/
|
||||
@@ -69,18 +70,18 @@ versions:
|
||||
<h2 class="mb-2 font-mktg h1">Code examples</h2>
|
||||
|
||||
<div class="pr-lg-3 mb-5 mt-3">
|
||||
<input class="js-code-example-filter input-lg py-2 px-3 col-12 col-lg-8 form-control" placeholder="Search code examples" type="search" autocomplete="off" aria-label="Search code examples"/>
|
||||
<input class="js-filter-card-filter input-lg py-2 px-3 col-12 col-lg-8 form-control" placeholder="Search code examples" type="search" autocomplete="off" aria-label="Search code examples"/>
|
||||
</div>
|
||||
|
||||
<div class="d-flex flex-wrap gutter">
|
||||
{% render 'code-example-card' for actionsCodeExamples as example %}
|
||||
</div>
|
||||
|
||||
<button class="js-code-example-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button>
|
||||
<button class="js-filter-card-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button>
|
||||
|
||||
<div class="js-code-example-no-results d-none py-4 text-center text-gray font-mktg">
|
||||
<div class="js-filter-card-no-results d-none py-4 text-center text-gray font-mktg">
|
||||
<div class="mb-3">{% octicon "search" width="24" %}</div>
|
||||
<h3 class="text-normal">Sorry, there is no result for <strong class="js-code-example-filter-value"></strong></h3>
|
||||
<h3 class="text-normal">Sorry, there is no result for <strong class="js-filter-card-value"></strong></h3>
|
||||
<p class="my-3 f4">It looks like we don't have an example that fits your filter.<br>Try another filter or add your code example</p>
|
||||
<a href="https://github.com/github/docs/blob/main/data/variables/action_code_examples.yml">Learn how to add a code example {% octicon "arrow-right" %}</a>
|
||||
</div>
|
||||
|
||||
@@ -204,13 +204,18 @@ In this diagram, you can see the workflow file you just created and how the {% d
|
||||
|
||||
### Viewing the job's activity
|
||||
|
||||
Once your job has started running, you can view each step's activity on {% data variables.product.prodname_dotcom %}.
|
||||
Once your job has started running, you can {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
1. Klicke unter Deinem Repository-Namen auf **Actions** (Aktionen). 
|
||||
1. In the left sidebar, click the workflow you want to see. 
|
||||
1. Under "Workflow runs", click the name of the run you want to see. 
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
1. Under **Jobs** or in the visualization graph, click the job you want to see. 
|
||||
{% endif %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
1. View the results of each step. 
|
||||
{% elsif currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
1. Click on the job name to see the results of each step. 
|
||||
{% else %}
|
||||
1. Click on the job name to see the results of each step. 
|
||||
|
||||
@@ -54,6 +54,8 @@ This means that a compromise of a single action within a workflow can be very si
|
||||
**Warning:** The short version of the commit SHA is insecure and should never be used for specifying an action's Git reference. Because of how repository networks work, any user can fork the repository and push a crafted commit to it that collides with the short SHA. This causes subsequent clones at that SHA to fail because it becomes an ambiguous commit. As a result, any workflows that use the shortened SHA will immediately fail.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
|
||||
* **Audit the source code of the action**
|
||||
|
||||
Ensure that the action is handling the content of your repository and secrets as expected. For example, check that secrets are not sent to unintended hosts, or are not inadvertently logged.
|
||||
@@ -92,10 +94,14 @@ This list describes the recommended approaches for accessing repository data wit
|
||||
|
||||
As a result, self-hosted runners should almost [never be used for public repositories](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories) on {% data variables.product.product_name %}, because any user can open pull requests against the repository and compromise the environment. Similarly, be cautious when using self-hosted runners on private repositories, as anyone who can fork the repository and open a PR (generally those with read-access to the repository) are able to compromise the self-hosted runner environment, including gaining access to secrets and the more privileged `GITHUB_TOKEN` which grants write-access permissions on the repository.
|
||||
|
||||
When a self-hosted runner is defined at the organization or enterprise level, {% data variables.product.product_name %} can schedule workflows from multiple repositories onto the same runner. Consequently, a security compromise of these environments can result in a wide impact. To help reduce the scope of a compromise, you can create boundaries by organizing your self-hosted runners into separate groups. For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)."
|
||||
|
||||
You should also consider the environment of the self-hosted runner machines:
|
||||
- What sensitive information resides on the machine configured as a self-hosted runner? For example, private SSH keys, API access tokens, among others.
|
||||
- Does the machine have network access to sensitive services? For example, Azure or AWS metadata services. The amount of sensitive information in this environment should be kept to a minimum, and you should always be mindful that any user capable of invoking workflows has access to this environment.
|
||||
|
||||
Some customers might attempt to partially mitigate these risks by implementing systems that automatically destroy the self-hosted runner after each job execution. However, this approach might not be as effective as intended, as there is no way to guarantee that a self-hosted runner only runs one job.
|
||||
|
||||
### Auditing {% data variables.product.prodname_actions %} events
|
||||
|
||||
You can use the audit log to monitor administrative tasks in an organization. The audit log records the type of action, when it was run, and which user account performed the action.
|
||||
@@ -130,5 +136,3 @@ The following tables describe the {% data variables.product.prodname_actions %}
|
||||
| `action:org.runner_group_renamed` | Triggered when an organization admin renames a self-hosted runner group. |
|
||||
| `action:org.runner_group_runners_added` | Triggered when an organization admin [adds a self-hosted runner to a group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). |
|
||||
| `action:org.runner_group_runners_removed` | Triggered when an organization admin removes a self-hosted runner from a group. |
|
||||
|
||||
|
||||
|
||||
@@ -17,8 +17,13 @@ versions:
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow %}
|
||||
{% data reusables.repositories.view-run %}
|
||||
1. In the upper-right corner of the workflow, click **Cancel workflow**. 
|
||||
1. From the list of workflow runs, click the name of the `queued` or `in progress` run that you want to cancel. 
|
||||
1. In the upper-right corner of the workflow, click **Cancel workflow**.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
### Steps {% data variables.product.prodname_dotcom %} takes to cancel a workflow run
|
||||
|
||||
|
||||
@@ -19,4 +19,9 @@ versions:
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow %}
|
||||
{% data reusables.repositories.view-run %}
|
||||
1. Under **Artifacts**, click the artifact you want to download. 
|
||||
1. Under **Artifacts**, click the artifact you want to download.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
@@ -18,6 +18,7 @@ versions:
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% link_in_list /using-the-visualization-graph %}{% endif %}
|
||||
{% link_in_list /viewing-workflow-run-history %}
|
||||
{% link_in_list /using-workflow-run-logs %}
|
||||
{% link_in_list /manually-running-a-workflow %}
|
||||
|
||||
@@ -16,4 +16,4 @@ versions:
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow %}
|
||||
{% data reusables.repositories.view-run %}
|
||||
1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**. 
|
||||
1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% else %}{% endif %}
|
||||
|
||||
@@ -26,7 +26,13 @@ versions:
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow %}
|
||||
{% data reusables.repositories.view-run %}
|
||||
1. Under **Artifacts**, click {% octicon "trashcan" aria-label="The trashcan icon" %} next to the artifact you want to remove. 
|
||||
1. Under **Artifacts**, click
|
||||
{% octicon "trashcan" aria-label="The trashcan icon" %} next to the artifact you want to remove.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
### Setting the retention period for an artifact
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Using the visualization graph
|
||||
intro: Every workflow run generates a real-time graph that illustrates the run progress. You can use this graph to monitor and debug workflows.
|
||||
product: '{% data reusables.gated-features.actions %}'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
enterprise-server: '>=3.1'
|
||||
---
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.visualization-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow %}
|
||||
{% data reusables.repositories.view-run %}
|
||||
|
||||
1. The graph displays each job in the workflow. An icon to the left of the job name indicates the status of the job. Lines between jobs indicate dependencies. 
|
||||
|
||||
2. Click on a job to view the job log. 
|
||||
@@ -44,7 +44,12 @@ Sie können die Build-Protokolle für einen bestimmten Schritt durchsuchen. Beim
|
||||
{% data reusables.repositories.view-run-superlinter %}
|
||||
{% data reusables.repositories.navigate-to-job-superlinter %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
1. Gib in der oberen rechten Ecke der Protokollausgabe im Suchfeld **Search logs** (Protokolle durchsuchen) eine Suchanfrage ein. 
|
||||
1. Gib in der oberen rechten Ecke der Protokollausgabe im Suchfeld **Search logs** (Protokolle durchsuchen) eine Suchanfrage ein.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
{% else %}
|
||||
1. Um jeden Schritt, den Sie in Ihre Suche einbeziehen möchten, einzublenden, klicken Sie auf den Schritt. 
|
||||
1. Gib in der oberen rechten Ecke der Protokollausgabe im Suchfeld **Search logs** (Protokolle durchsuchen) eine Suchanfrage ein. 
|
||||
@@ -61,8 +66,12 @@ Sie können die Protokolldateien von Ihrem Workflowlauf herunterladen. Sie könn
|
||||
{% data reusables.repositories.navigate-to-job-superlinter %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
1. In the upper right corner, click
|
||||
{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Download log archive**.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
{% else %}
|
||||
1. In the upper right corner, click
|
||||
{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Download log archive**.
|
||||
@@ -78,8 +87,20 @@ Du kannst die Logdateien aus Deiner Workflow-Ausführung löschen. {% data reusa
|
||||
{% data reusables.repositories.navigate-to-workflow-superlinter %}
|
||||
{% data reusables.repositories.view-run-superlinter %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. 
|
||||
2. Um die Logdateien zu löschen, klicke auf **Delete all logs** (Alle Logs löschen) und überprüfe die Bestätigungsanfrage.  Nach die Protokolle gelöscht sind, verschwindet die Schaltfläche **Delete all logs**, um anzuzeigen, dass keine Protokolldateien mehr im Workflowlauf verbleiben.
|
||||
1. In the upper right corner, click
|
||||
{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
2. Um die Logdateien zu löschen, klicke auf **Delete all logs** (Alle Logs löschen) und überprüfe die Bestätigungsanfrage.
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
After deleting logs, the **Delete all logs** button is removed to indicate that no log files remain in the workflow run.
|
||||
{% else %}
|
||||
1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. 
|
||||
2. Um die Logdateien zu löschen, klicke auf **Delete all logs** (Alle Logs löschen) und überprüfe die Bestätigungsanfrage.  After the logs have been deleted, the **Delete all logs** button is removed to indicate that no log files remain in the workflow run.
|
||||
|
||||
@@ -15,7 +15,7 @@ Billable job execution minutes are only shown for jobs run on private repositori
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow %}
|
||||
{% data reusables.repositories.view-run %}
|
||||
1. Under the job summary, you can view the job's execution time. To view the billable job execution time, click **Run and billable time details**. 
|
||||
1. Under the job summary, you can view the job's execution time. To view details about the billable job execution time, click the time under **Billable time**. 
|
||||
|
||||
{% note %}
|
||||
|
||||
|
||||
@@ -59,7 +59,11 @@ Committing the workflow file in your repository triggers the `push` event and ru
|
||||
{% data reusables.repositories.actions-tab %}
|
||||
{% data reusables.repositories.navigate-to-workflow-superlinter %}
|
||||
{% data reusables.repositories.view-run-superlinter %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
1. Under **Jobs** or in the visualization graph, click the **Lint code base** job. 
|
||||
{% else %}
|
||||
1. In the left sidebar, click the **Lint code base** job. 
|
||||
{% endif %}
|
||||
{% data reusables.repositories.view-failed-job-results-superlinter %}
|
||||
|
||||
### More starter workflows
|
||||
@@ -101,7 +105,7 @@ Printing "Hello, World!" is a great way to explore the basic set up and syntax o
|
||||
# When the event is triggered, GitHub Actions will run the jobs indicated
|
||||
jobs:
|
||||
say_hello:
|
||||
# Uses a ubuntu-lates runner to complete the requested steps
|
||||
# Uses a ubuntu-latest runner to complete the requested steps
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: |
|
||||
|
||||
@@ -75,7 +75,7 @@ Bei der Eigenschaftsdereferenzierungs-Syntax muss der Eigenschaftsname
|
||||
- mit `a-Z` oder `_` beginnen,
|
||||
- mit `a-Z`, `0-9`, `-` oder `_` weitergehen.
|
||||
|
||||
#### **`github`-Kontext**
|
||||
#### `github`-Kontext
|
||||
|
||||
Der `github`-Kontext enthält Informationen zum Workflow-Lauf und zu dem Ereignis, das den Lauf ausgelöst hat. Sie können die meisten `github`-Kontextdaten in Umgebungsvariablen lesen. Weitere Informationen über Umgebungsvariablen findest Du unter „[Umgebungsvariablen verwenden](/actions/automating-your-workflow-with-github-actions/using-environment-variables)“.
|
||||
|
||||
@@ -103,7 +103,7 @@ Der `github`-Kontext enthält Informationen zum Workflow-Lauf und zu dem Ereigni
|
||||
| `github.workflow` | `string` | Der Name des Workflows. Wenn in der Workflow-Datei kein `name` (Name) festgelegt ist, entspricht der Wert dieser Eigenschaft dem vollständigen Pfad der Workflow-Datei im Repository. |
|
||||
| `github.workspace` | `string` | Das Standardarbeitsverzeichnis für Schritte und der Standardspeicherort Deines Repositorys bei Verwendung der Aktion [ `checkout`](https://github.com/actions/checkout). |
|
||||
|
||||
#### **`env`-Kontext**
|
||||
#### `env`-Kontext
|
||||
|
||||
Der `env`-Kontext enthält Umgebungsvariablen, die in einem Workflow, Job oder Schritt gesetzt wurden. Weitere Informationen über das Setzen von Umgebungsvariablen in Deinem Workflow findest Du unter „[Workflow-Syntax für {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env)“.
|
||||
|
||||
@@ -117,7 +117,7 @@ Du kannst den `env`-Kontext nur im Wert der Schlüssel `with` und `name` verwend
|
||||
| `env.<env name>` | `string` | Der Wert einer bestimmten Umgebungsvariable. |
|
||||
|
||||
|
||||
#### **`job`-Kontext**
|
||||
#### `job`-Kontext
|
||||
|
||||
Der `job`-Kontext enthält Informationen zum gerade ausgeführten Auftrag.
|
||||
|
||||
@@ -133,7 +133,7 @@ Der `job`-Kontext enthält Informationen zum gerade ausgeführten Auftrag.
|
||||
| `job.services.<service id>.ports` | `Objekt` | Die offengelegten Ports des Service-Containers |
|
||||
| `job.status` | `string` | Der aktuelle Status des Auftrags. Mögliche Werte sind `success` (erfolgreich), `failure` (fehlgeschlagen) oder `cancelled` (abgebrochen). |
|
||||
|
||||
#### **`steps`-Kontext**
|
||||
#### `steps`-Kontext
|
||||
|
||||
Der `steps`-Kontext enthält Informationen zu den Schritten im aktuellen Auftrag, die bereits ausgeführt wurden.
|
||||
|
||||
@@ -145,7 +145,7 @@ Der `steps`-Kontext enthält Informationen zu den Schritten im aktuellen Auftrag
|
||||
| `steps.<step id>.outcome` | `string` | Das Ergebnis eines abgeschlossenen Schritts bevor [`continue-on-error` (bei Fehler weitermachen)](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error) angewendet wird. Mögliche Werte sind `success` (erfolgreich), `failure` (fehlgeschlagen), `cancelled` (abgebrochen) oder `skipped` (übersprungen). Wenn ein Schritt mit `continue-on-error` (bei Fehler weitermachen) fehlschlägt, ist `outcome` (Ergebnis) `failure` zwar (Fehler), aber `conclusion` (Schlussfolgerung) ist am Ende `success` (Erfolg). |
|
||||
| `steps.<step id>.outputs.<output name>` | `string` | Der Wert einer bestimmten Ausgabe |
|
||||
|
||||
#### **`runner`-Kontext**
|
||||
#### `runner`-Kontext
|
||||
|
||||
Der `runner`-Kontext enthält Informationen über den Runner, der den aktuellen Job ausführt.
|
||||
|
||||
@@ -155,7 +155,7 @@ Der `runner`-Kontext enthält Informationen über den Runner, der den aktuellen
|
||||
| `runner.temp` | `string` | Der Pfad des temporären Verzeichnisses für den Runner. Dieses Verzeichnis ist zu Beginn jedes Auftrags garantiert leer, sogar bei selbst-gehosteten Runnern. |
|
||||
| `runner.tool_cache` | `string` | Der Pfad des Verzeichnisses, das einige der vorinstallierten Tools für {% data variables.product.prodname_dotcom %}-gehostete Runner enthält. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". |
|
||||
|
||||
#### **`needs`-Kontext**
|
||||
#### `needs`-Kontext
|
||||
|
||||
Der `needs`-Kontext enthält Ausgaben von allen Jobs, die als Abhängigkeit des aktuellen Jobs definiert sind. Weitere Informationen zur Definition von Jobabhängigkeiten findest Du unter „[Workflow-Syntax für {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds)“.
|
||||
|
||||
|
||||
@@ -137,9 +137,9 @@ jobs:
|
||||
|
||||
#### `repository_dispatch`
|
||||
|
||||
| Nutzlast des Webhook-Ereignisses | Aktivitätstypen | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------------------------- | --------------- | ------------------------------------- | -------------------------------------- |
|
||||
| [repository_dispatch](/webhooks/event-payloads/#repository_dispatch) | – | Letzter Commit im Branch `GITHUB_REF` | Branch, der den Dispatch empfangen hat |
|
||||
| Nutzlast des Webhook-Ereignisses | Aktivitätstypen | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------------------------- | --------------- | --------------------------------- | --------------- |
|
||||
| [repository_dispatch](/webhooks/event-payloads/#repository_dispatch) | – | Letzter Commit im Standard-Branch | Standard-Branch |
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
@@ -699,6 +699,8 @@ on:
|
||||
|
||||
{% data reusables.webhooks.workflow_run_desc %}
|
||||
|
||||
{% data reusables.github-actions.branch-requirement %}
|
||||
|
||||
| Nutzlast des Webhook-Ereignisses | Aktivitätstypen | `GITHUB_SHA` | `GITHUB_REF` |
|
||||
| -------------------------------------------------------- | --------------- | --------------------------------- | --------------- |
|
||||
| [`workflow_run`](/webhooks/event-payloads/#workflow_run) | - n/a | Letzter Commit im Standard-Branch | Standard-Branch |
|
||||
|
||||
@@ -63,8 +63,8 @@ The software tools included in {% data variables.product.prodname_dotcom %}-host
|
||||
* [Ubuntu 16.04 LTS](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1604-README.md)
|
||||
* [Windows Server 2019](https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md)
|
||||
* [Windows Server 2016](https://github.com/actions/virtual-environments/blob/main/images/win/Windows2016-Readme.md)
|
||||
* [MacOS 10.15](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md)
|
||||
* [MacOS 11.0](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11.0-Readme.md)
|
||||
* [macOS 10.15](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md)
|
||||
* [macOS 11.0](https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11.0-Readme.md)
|
||||
|
||||
{% data reusables.github-actions.ubuntu-runner-preview %}
|
||||
{% data reusables.github-actions.macos-runner-preview %}
|
||||
|
||||
@@ -21,17 +21,17 @@ Workflow-Dateien verwenden die YAML-Syntax und müssen die Dateierweiterung `.ym
|
||||
|
||||
Workflow-Dateien müssen im Verzeichnis `.github/workflows` im Repository gespeichert werden.
|
||||
|
||||
### **`name`**
|
||||
### `name`
|
||||
|
||||
Name des Workflows. {% data variables.product.prodname_dotcom %} zeigt die Namen der Workflows auf der Repository-Seite der Aktionen an. Wenn Du `name`weglässt, setzt {% data variables.product.prodname_dotcom %} den Pfad der Workflow-Datei relativ zum Stammverzeichnis des Repositorys.
|
||||
|
||||
### **`on`**
|
||||
### `on`
|
||||
|
||||
**Erforderlich** Name des Ereignisses auf {% data variables.product.prodname_dotcom %}, das den Workflow auslöst. Sie können einen `string` für ein einzelnes Ereignis, ein `array` mit Ereignissen, ein `array` mit Ereignis-`types` oder eine Ereigniskonfigurations-`map` festlegen, mit der ein Workflow geplant oder die Ausführung eines Workflows auf bestimmte Dateien, Tags oder Branch-Änderungen beschränkt wird. Eine Liste der verfügbaren Ereignisse finden Sie unter „[Ereignisse, die Workflows auslösen](/articles/events-that-trigger-workflows)“.
|
||||
|
||||
{% data reusables.github-actions.actions-on-examples %}
|
||||
|
||||
### **`on.<event_name>.types`**
|
||||
### `on.<event_name>.types`
|
||||
|
||||
Legt die Aktivitätstypen fest, die die Ausführung eines Workflows auslösen. Die meisten GitHub-Ereignisse werden von mehreren Aktivitätstypen ausgelöst. Beispielsweise wird das Ereignis für die Veröffentlichungsressource ausgelöst, wenn eine Veröffentlichung veröffentlicht (`published`), erstellt (`created`), bearbeitet (`edited`), gelöscht (`deleted`), vorab veröffentlicht (`prereleased`) oder ihre Veröffentlichung zurückgezogen (`unpublished`) wird. Mit dem Stichwort `types` grenzt Du die Aktivitäten ein, die die Ausführung des Workflows auslösen. Wird ein Webhook-Ereignis nur von einem einzigen Aktivitätstyp ausgelöst, ist das Stichwort `types` nicht erforderlich.
|
||||
|
||||
@@ -45,7 +45,7 @@ on:
|
||||
types: [published, created, edited]
|
||||
```
|
||||
|
||||
### **`on.<push|pull_request>.<branches|tags>`**
|
||||
### `on.<push|pull_request>.<branches|tags>`
|
||||
|
||||
Wenn Sie die Ereignisse `push` und `pull_request` verwenden, können Sie einen Workflow so konfigurieren, dass er auf bestimmten Branches oder Tags ausgeführt wird. Für ein `pull_request`-Ereignis werden nur Branches und Tags auf der Basis ausgewertet. Wenn Du nur `tags` oder nur `branches` definierst, wird der Workflow bei Ereignissen, die sich auf die nicht definierte Git-Ref auswirken, nicht ausgeführt.
|
||||
|
||||
@@ -112,7 +112,7 @@ on:
|
||||
- '!releases/**-alpha'
|
||||
```
|
||||
|
||||
### **`on.<push|pull_request>.paths`**
|
||||
### `on.<push|pull_request>.paths`
|
||||
|
||||
Bei den Ereignissen `push` und `pull_request` kannst Du einen Workflows zur Ausführung konfigurieren, wenn mindestens eine Datei nicht zu den `paths-ignore` passt oder mindestens eine geänderte Datei zu den konfigurierten `paths` passt. Bei Push-Vorgängen zu Tags werden Pfadfilter nicht ausgewertet.
|
||||
|
||||
@@ -179,13 +179,13 @@ Zur Ermittlung, ob ein Workflow ausgeführt werden soll, wertet der Filter die g
|
||||
|
||||
Weitere Informationen findest Du unter „[Informationen zum Vergleich von Branches in Pull-Requests](/articles/about-comparing-branches-in-pull-requests)“.
|
||||
|
||||
### **`on.schedule`**
|
||||
### `on.schedule`
|
||||
|
||||
{% data reusables.repositories.actions-scheduled-workflow-example %}
|
||||
|
||||
Weitere Informationen zur Cron-Syntax findest Du unter „[Ereignisse, die Workflows auslösen](/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#scheduled-events)“.
|
||||
|
||||
### **`env`**
|
||||
### `env`
|
||||
|
||||
Eine `map` mit Umgebungsvariablen, die für alle Jobs und Schritte im Workflow verfügbar sind. Darüber hinaus kannst Du auch Umgebungsvariablen festlegen, die ausschließlich für einen Job oder Schritt bereitstehen. Weitere Informationen findest Du unter [`jobs.<job_id>.env`](#jobsjob_idenv) und [`jobs.<job_id>.steps.env`](#jobsjob_idstepsenv).
|
||||
|
||||
@@ -198,13 +198,13 @@ env:
|
||||
SERVER: production
|
||||
```
|
||||
|
||||
### **`defaults`**
|
||||
### `defaults`
|
||||
|
||||
Eine `map` der Standardeinstellungen, die für alle Jobs im Workflow gelten. Du kannst auch Standardeinstellungen festlegen, die nur für einen Job verfügbar sind. Weitere Informationen findest Du unter [`jobs.<job_id>.defaults`](#jobsjob_iddefaults).
|
||||
|
||||
{% data reusables.github-actions.defaults-override %}
|
||||
|
||||
### **`defaults.run`**
|
||||
### `defaults.run`
|
||||
|
||||
Du kannst Standardeinstellungen der Optionen `shell` und `working-directory` (Arbeitsverzeichnis) für alle [`run`](#jobsjob_idstepsrun)-Schritte in einem Workflow angeben. Du kannst auch Standardeinstellungen für `run` festlegen, die nur für einen Job verfügbar sind. Weitere Informationen findest Du unter [`jobs.<job_id>.defaults.run`](#jobsjob_iddefaultsrun). In diesem Schlüsselwort kannst Du keine Kontexte oder Ausdrücke verwenden.
|
||||
|
||||
@@ -219,7 +219,7 @@ defaults:
|
||||
working-directory: scripts
|
||||
```
|
||||
|
||||
### **`jobs`**
|
||||
### `jobs`
|
||||
|
||||
Ein Workflow-Lauf besteht aus mindestens einem Auftrag. Die Aufträge werden standardmäßig parallel ausgeführt. Sollen Aufträge sequenziell ausgeführt werden, können Sie mit dem Stichwort `jobs.<job_id>.needs` eine Abhängigkeit von anderen Aufträgen definieren.
|
||||
|
||||
@@ -229,7 +229,7 @@ Innerhalb der Nutzungsbeschränkungen des Workflows kannst Du unbegrenzt viele J
|
||||
|
||||
Wenn Du den eindeutigen Bezeichner eines Jobs finden musst, der in einem Workflowlauf ausgeführt wird, kannst Du die API von {% data variables.product.prodname_dotcom %} verwenden. For more information, see "[Workflow Jobs](/rest/reference/actions#workflow-jobs)."
|
||||
|
||||
### **`jobs.<job_id>`**
|
||||
### `jobs.<job_id>`
|
||||
|
||||
Jedem Auftrag muss eine ID zugewiesen sein. Das Stichwort `job_id` ist ein String, und der Wert umfasst eine Zuordnung der Konfigurationsdaten für den Auftrag. Sie müssen `<job_id>` durch einen eindeutigen String für das `jobs`-Objekt ersetzen. Die `<job_id>` muss mit einem Buchstaben oder einem Unterstrich (`_`) beginnen und darf nur alphanumerische Zeichen, Bindestriche (`-`) und Unterstriche (`_`) enthalten.
|
||||
|
||||
@@ -243,15 +243,15 @@ jobs:
|
||||
name: My second job
|
||||
```
|
||||
|
||||
### **`jobs.<job_id>.name`**
|
||||
### `jobs.<job_id>.name`
|
||||
|
||||
Name des Auftrags, der auf {% data variables.product.prodname_dotcom %} angezeigt wird.
|
||||
|
||||
### **`jobs.<job_id>.needs`**
|
||||
### `jobs.<job_id>.needs`
|
||||
|
||||
Liste mit allen Aufträgen, die erfolgreich abgeschlossen sein müssen, bevor dieser Auftrag ausgeführt wird. Hier ist ein String oder ein Array mit Strings zulässig. Wenn ein Auftrag fehlschlägt, werden alle Aufträge übersprungen, die diesen Auftrag benötigen, außer die Aufträge umfassen eine bedingte Anweisung, mit der der Auftrag dennoch fortgesetzt wird.
|
||||
Liste mit allen Aufträgen, die erfolgreich abgeschlossen sein müssen, bevor dieser Auftrag ausgeführt wird. Hier ist ein String oder ein Array mit Strings zulässig. If a job fails, all jobs that need it are skipped unless the jobs use a conditional expression that causes the job to continue.
|
||||
|
||||
#### Beispiel
|
||||
#### Example requiring dependent jobs to be successful
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
@@ -270,7 +270,21 @@ Die Aufträge in diesem Beispiel werden sequenziell ausgeführt:
|
||||
2. `job2`
|
||||
3. `job3`
|
||||
|
||||
### **`jobs.<job_id>.runs-on`**
|
||||
#### Example not requiring dependent jobs to be successful
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
job1:
|
||||
job2:
|
||||
needs: job1
|
||||
job3:
|
||||
if: always()
|
||||
needs: [job1, job2]
|
||||
```
|
||||
|
||||
In this example, `job3` uses the `always()` conditional expression so that it always runs after `job1` and `job2` have completed, regardless of whether they were successful. For more information, see "[Context and expression syntax](/actions/reference/context-and-expression-syntax-for-github-actions#job-status-check-functions)."
|
||||
|
||||
### `jobs.<job_id>.runs-on`
|
||||
|
||||
**Erforderlich** Typ der Maschine, auf der der Job ausgeführt wird. Die Maschine kann entweder ein {% data variables.product.prodname_dotcom %}-gehosteter oder ein selbst-gehosteter Runner sein.
|
||||
|
||||
@@ -286,7 +300,7 @@ Verfügbare Arten von {% data variables.product.prodname_dotcom %}-gehostete Run
|
||||
|
||||
{% data reusables.github-actions.ubuntu-runner-preview %}
|
||||
|
||||
##### **Beispiel**
|
||||
##### Beispiel
|
||||
|
||||
```yaml
|
||||
Runs-on: ubuntu-latest
|
||||
@@ -298,7 +312,7 @@ Weitere Informationen findest Du unter "[Virtuelle Umgebungen für {% data varia
|
||||
|
||||
{% data reusables.github-actions.self-hosted-runner-labels-runs-on %}
|
||||
|
||||
##### **Beispiel**
|
||||
##### Beispiel
|
||||
|
||||
```yaml
|
||||
runs-on: [self-hosted, linux]
|
||||
@@ -306,7 +320,7 @@ runs-on: [self-hosted, linux]
|
||||
|
||||
Weitere Informationen findest Du unter „[Informationen zu selbst-gehosteten Runnern](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners)“ und „[Selbst-gehostete Runner in einem Workflow verwenden](/github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow)“.
|
||||
|
||||
### **`jobs.<job_id>.outputs`**
|
||||
### `jobs.<job_id>.outputs`
|
||||
|
||||
Eine `map` der Ausgaben eines Jobs. Ausgaben eines Jobs stehen allen nachgelagerten Jobs zur Verfügung, die von diesem Job abhängen. Weitere Informationen zur Definition von Abhängigkeiten zwischen Jobs findest Du unter [`Jobs.<job_id>.needs`](#jobsjob_idneeds).
|
||||
|
||||
@@ -314,7 +328,7 @@ Ausgaben von Jobs sind Zeichenketten und wenn sie Ausdrücke enthalten, werden d
|
||||
|
||||
Um Jobausgaben in einem abhängigen Job zu verwenden, kannst Du den Kontext `needs` verwenden. Weitere Informationen findest Du unter "[Kontext- und Ausdrucks-Syntax für {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions#needs-context)".
|
||||
|
||||
#### **Beispiel**
|
||||
#### Beispiel
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -338,13 +352,13 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### **`jobs.<job_id>.env`**
|
||||
### `jobs.<job_id>.env`
|
||||
|
||||
Eine `map` mit Umgebungsvariablen, die für alle Schritte im Auftrag verfügbar sind. Darüber hinaus können Sie Umgebungsvariablen für den gesamten Workflow oder für einen einzelnen Schritt festlegen. Weitere Informationen finden Sie unter [`env`](#env) und [`jobs.<job_id>.steps.env`](#jobsjob_idstepsenv).
|
||||
|
||||
{% data reusables.repositories.actions-env-var-note %}
|
||||
|
||||
#### **Beispiel**
|
||||
#### Beispiel
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
@@ -353,13 +367,13 @@ jobs:
|
||||
FIRST_NAME: Mona
|
||||
```
|
||||
|
||||
### **`jobs.<job_id>.defaults`**
|
||||
### `jobs.<job_id>.defaults`
|
||||
|
||||
Eine `map` mit Standardeinstellungen, die für alle Schritte im Job gelten. Du kannst auch Standardeinstellungen für den gesamten Workflow festlegen. Weitere Informationen findest Du unter [`Standardwerte`](#defaults).
|
||||
|
||||
{% data reusables.github-actions.defaults-override %}
|
||||
|
||||
### **`jobs.<job_id>.defaults.run`**
|
||||
### `jobs.<job_id>.defaults.run`
|
||||
|
||||
Standards für `shell` und `working-directory` (Arbeitsverzeichnis) bereitstellen, die für alle `run`-Schritte des Jobs gelten. Kontext und Ausdruck sind in diesem Abschnitt nicht zulässig.
|
||||
|
||||
@@ -379,17 +393,17 @@ jobs:
|
||||
working-directory: scripts
|
||||
```
|
||||
|
||||
### **`jobs.<job_id>.if`**
|
||||
### `jobs.<job_id>.if`
|
||||
|
||||
Mit der `if`-Bedingung geben Sie an, dass ein Auftrag nur dann ausgeführt werden soll, wenn eine bestimmte Bedingung erfüllt ist. Sie können eine Bedingung mit jedem unterstützten Kontext und Ausdruck erstellen.
|
||||
Mit der `if`-Bedingung geben Sie an, dass ein Auftrag nur dann ausgeführt werden soll, wenn eine bestimmte Bedingung erfüllt ist. Du kannst eine Bedingung mit jedem unterstützten Kontext und Ausdruck erstellen.
|
||||
|
||||
{% data reusables.github-actions.expression-syntax-if %} Weitere Informationen findest Du unter „[Kontext- und Ausdruckssyntax für {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)“.
|
||||
|
||||
### **`jobs.<job_id>.steps`**
|
||||
### `jobs.<job_id>.steps`
|
||||
|
||||
Ein Auftrag enthält eine Sequenz von Aufgaben, sogenannten `steps`. Mit Schritten können Befehle oder Einrichtungsaufgaben ausgeführt werden, und außerdem Aktionen, die sich in Ihrem Repository oder in einem öffentlichen Repository befinden oder in einer Docker Registry veröffentlicht sind. Nicht alle Schritte führen eine Aktion aus, doch alle Aktionen werden als Schritt ausgeführt. Jeder Schritt wird in einem eigenen Prozess in der Runner-Umgebung ausgeführt. Er hat Zugriff auf den Arbeitsbereich und das Dateisystem. Da die Schritte jeweils in einem eigenen Prozess ausgeführt werden, werden Änderungen an den Umgebungsvariablen nicht von Schritt zu Schritt beibehalten. {% data variables.product.prodname_dotcom %} umfasst integrierte Schritte zum Einrichten und Ausführen eines Auftrags.
|
||||
Ein Auftrag enthält eine Sequenz von Aufgaben, sogenannten `steps`. Mit Schritten können Befehle oder Einrichtungsaufgaben ausgeführt werden, und außerdem Aktionen, die sich in Ihrem Repository oder in einem öffentlichen Repository befinden oder in einer Docker Registry veröffentlicht sind. Nicht alle Schritte führen eine Aktion aus, doch alle Aktionen werden als Schritt ausgeführt. Jeder Schritt wird in einem eigenen Prozess in der Runner-Umgebung ausgeführt. Er hat Zugriff auf den Arbeitsbereich und das Dateisystem. Da die Schritte jeweils in einem eigenen Prozess ausgeführt werden, werden Änderungen an den Umgebungsvariablen nicht von Schritt zu Schritt beibehalten. {% data variables.product.prodname_dotcom %} umfasst integrierte Schritte zum Einrichten und Ausführen eines Jobs.
|
||||
|
||||
Innerhalb der Nutzungseinschränkungen des Workflows können Sie unbegrenzt viele Schritte ausführen. For more information, see "[Usage limits and billing](/actions/reference/usage-limits-billing-and-administration)" for {% data variables.product.prodname_dotcom %}-hosted runners and "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)" for self-hosted runner usage limits.
|
||||
Innerhalb der Nutzungsbeschränkungen des Workflows kannst Du unbegrenzt viele Schritte ausführen. For more information, see "[Usage limits and billing](/actions/reference/usage-limits-billing-and-administration)" for {% data variables.product.prodname_dotcom %}-hosted runners and "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)" for self-hosted runner usage limits.
|
||||
|
||||
#### Beispiel
|
||||
|
||||
@@ -415,17 +429,17 @@ jobs:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
#### **`jobs.<job_id>.steps.id`**
|
||||
### `jobs.<job_id>.steps.id`
|
||||
|
||||
Eindeutige Kennung für den Schritt. Anhand der `id` können Sie in Kontexten auf den Schritt verweisen. Weitere Informationen findest Du unter „[Kontext- und Ausdrucks-Syntax für {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)“.
|
||||
|
||||
#### **`jobs.<job_id>.steps.if`**
|
||||
### `jobs.<job_id>.steps.if`
|
||||
|
||||
Mit der `if`-Bedingung geben Sie an, dass ein Schritt nur dann ausgeführt werden soll, wenn eine bestimmte Bedingung erfüllt ist. Sie können eine Bedingung mit jedem unterstützten Kontext und Ausdruck erstellen.
|
||||
Mit der Bedingung `if` gibst Du an, dass ein Schritt nur dann ausgeführt werden soll, wenn eine bestimmte Bedingung erfüllt ist. Du kannst eine Bedingung mit jedem unterstützten Kontext und Ausdruck erstellen.
|
||||
|
||||
{% data reusables.github-actions.expression-syntax-if %} Weitere Informationen findest Du unter „[Kontext- und Ausdruckssyntax für {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)“.
|
||||
|
||||
##### Beispiel für die Verwendung von Kontexten
|
||||
#### Beispiel für die Verwendung von Kontexten
|
||||
|
||||
Dieser Schritt wird nur ausgeführt, wenn der Ereignistyp ein `pull_request` ist und die Ereignisaktion `unassigned` ist.
|
||||
|
||||
@@ -436,7 +450,7 @@ steps:
|
||||
run: echo This event is a pull request that had an assignee removed.
|
||||
```
|
||||
|
||||
##### Beispiel für die Verwendung von Statusprüf-Funktionen
|
||||
#### Beispiel für die Verwendung von Statusprüffunktionen
|
||||
|
||||
`my backup step` wird nur dann ausgeführt, wenn der vorherige Schritt eines Auftrags fehlschlägt. Weitere Informationen findest Du unter „[Kontext- und Ausdrucks-Syntax für {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions#job-status-check-functions)“.
|
||||
|
||||
@@ -449,11 +463,11 @@ steps:
|
||||
uses: actions/heroku@1.0.0
|
||||
```
|
||||
|
||||
#### **`jobs.<job_id>.steps.name`**
|
||||
### `jobs.<job_id>.steps.name`
|
||||
|
||||
Name des Schritts, der auf {% data variables.product.prodname_dotcom %} angezeigt wird.
|
||||
Name Deines Schritts, der auf {% data variables.product.prodname_dotcom %} angezeigt wird.
|
||||
|
||||
#### **`jobs.<job_id>.steps.uses`**
|
||||
### `jobs.<job_id>.steps.uses`
|
||||
|
||||
Wählt eine Aktion aus, die als Teil eines Schritts im Auftrag ausgeführt wird. Eine Aktion ist eine wiederverwendbare Code-Einheit. Sie können eine Aktion verwenden, die im selben Repository wie der Workflow, in einem öffentlichen Repository oder in einem [veröffentlichten Docker-Container-Image](https://hub.docker.com/) definiert ist.
|
||||
|
||||
@@ -462,11 +476,11 @@ Es wird dringend empfohlen, die verwendete Version der Aktion zu nennen (Git-Ref
|
||||
- Wenn Du Dich auf die Hauptversion der Aktion beziehst, kannst Du kritische Fehlerbehebungen und Sicherheits-Patches erhalten und gleichzeitig die Kompatibilität wahren. Außerdem ist damit sichergestellt, dass der Workflow weiterhin problemlos arbeiteten sollte.
|
||||
- Using the default branch of an action may be convenient, but if someone releases a new major version with a breaking change, your workflow could break.
|
||||
|
||||
Für einige Aktionen sind Eingaben erforderlich, die Sie mit dem Stichwort [`with`](#jobsjob_idstepswith) festlegen müssen. Die erforderlichen Eingaben finden Sie in der README-Datei der Aktion.
|
||||
Für einige Aktionen sind Eingaben erforderlich, die Du mit dem Schlüsselwort [`with`](#jobsjob_idstepswith) festlegen musst. Die erforderlichen Eingaben finden Sie in der README-Datei der Aktion.
|
||||
|
||||
Aktionen sind entweder JavaScript-Dateien oder Docker-Container. Bei Docker-Containern als Aktion mmusst Du den Job in einer Linux-Umgebung ausführen. Weitere Details findest Du unter [`runs-on`](#jobsjob_idruns-on).
|
||||
|
||||
##### Beispiel mit versionierten Aktionen
|
||||
#### Beispiel mit versionierten Aktionen
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
@@ -480,11 +494,11 @@ steps:
|
||||
- uses: actions/setup-node@main
|
||||
```
|
||||
|
||||
##### Beispiel mit einer öffentlichen Aktion
|
||||
#### Beispiel mit einer öffentlichen Aktion
|
||||
|
||||
`{owner}/{repo}@{ref}`
|
||||
|
||||
Sie können einen bestimmten Branch, eine bestimmte Ref oder eine bestimmte SHA in einem öffentlichen Repository auf {% data variables.product.prodname_dotcom %} heranziehen.
|
||||
Du kannst einen bestimmten Branch, eine bestimmte Ref oder eine bestimmte SHA in einem öffentlichen Repository auf {% data variables.product.prodname_dotcom %} heranziehen.
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
@@ -498,11 +512,11 @@ jobs:
|
||||
uses: actions/aws@v2.0.1
|
||||
```
|
||||
|
||||
##### Beispiel mit einer öffentlichen Aktion in einem Unterverzeichnis
|
||||
#### Beispiel mit einer öffentlichen Aktion in einem Unterverzeichnis
|
||||
|
||||
`{owner}/{repo}/{path}@{ref}`
|
||||
|
||||
Ein Unterverzeichnis in einem öffentlichen Repository auf {% data variables.product.prodname_dotcom %} in einem bestimmten Branch, einem bestimmten Ref oder einer bestimmten SHA.
|
||||
Ein Unterverzeichnis in einem öffentlichen Repository auf {% data variables.product.prodname_dotcom %} in einem bestimmten Branch, einer bestimmten Ref oder einer bestimmten SHA.
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
@@ -512,7 +526,7 @@ jobs:
|
||||
uses: actions/aws/ec2@main
|
||||
```
|
||||
|
||||
##### Beispiel mit einer Aktion im selben Repository wie der Workflow
|
||||
#### Beispiel mit einer Aktion im selben Repository wie der Workflow
|
||||
|
||||
`./path/to/dir`
|
||||
|
||||
@@ -528,7 +542,7 @@ jobs:
|
||||
uses: ./.github/actions/my-action
|
||||
```
|
||||
|
||||
##### Beispiel mit einer Docker-Hub-Aktion
|
||||
#### Beispiel mit einer Docker Hub-Aktion
|
||||
|
||||
`docker://{image}:{tag}`
|
||||
|
||||
@@ -542,7 +556,7 @@ jobs:
|
||||
verwendet: docker://alpine:3.8
|
||||
```
|
||||
|
||||
##### Beispiel mit einer Aktion in einer öffentlichen Docker-Registry
|
||||
#### Beispiel mit einer Aktion in einer öffentlichen Docker Registry
|
||||
|
||||
`docker://{host}/{image}:{tag}`
|
||||
|
||||
@@ -556,11 +570,11 @@ jobs:
|
||||
uses: docker://gcr.io/cloud-builders/gradle
|
||||
```
|
||||
|
||||
#### **`jobs.<job_id>.steps.run`**
|
||||
### `jobs.<job_id>.steps.run`
|
||||
|
||||
Führt Befehlszeilenprogramme über die Betriebssystem-Shell aus. Wenn Sie keinen `name` angeben, wird standardmäßig der im `run`-Befehl angegebene Text als Schrittname übernommen.
|
||||
Führt Befehlszeilen-Programme über die Betriebssystem-Shell aus. Wenn Du keinen `name` angibst, wird standardmäßig der im Befehl `run` angegebene Text als Name für den Schritt übernommen.
|
||||
|
||||
Befehle greifen standardmäßig auf Shells zurück, für die keine Anmeldung erforderlich ist. Sie können eine andere Shell für die Ausführung von Befehlen auswählen und die Shell anpassen. Weitere Informationen finden Sie unter „[Bestimmte Shell verwenden](#using-a-specific-shell)“.
|
||||
Befehle greifen standardmäßig auf Shells zurück, für die keine Anmeldung erforderlich ist. Du kannst für die Ausführung von Befehlen eine andere Shell auswählen und die Shell anpassen. Weitere Informationen findest Du unter „[Bestimmte Shell verwenden](#using-a-specific-shell)“.
|
||||
|
||||
Jedes Schlüsselwort `run` stellt einen neuen Prozess und eine neue Shell in der Runnerumgebung dar. Wenn Du mehrzeilige Befehle angibst, werden alle Zeilen in derselben Shell ausgeführt. Ein Beispiel:
|
||||
|
||||
@@ -580,7 +594,7 @@ Jedes Schlüsselwort `run` stellt einen neuen Prozess und eine neue Shell in der
|
||||
npm run build
|
||||
```
|
||||
|
||||
Mit dem Stichwort `working-directory` geben Sie das Arbeitsverzeichnis an, in dem der Befehl ausgeführt werden soll.
|
||||
Mit dem Schlüsselwort`working-directory` gibst Du das Arbeitsverzeichnis an, in dem der Befehl ausgeführt werden soll.
|
||||
|
||||
```yaml
|
||||
- name: Clean temp directory
|
||||
@@ -588,7 +602,7 @@ Mit dem Stichwort `working-directory` geben Sie das Arbeitsverzeichnis an, in de
|
||||
working-directory: ./temp
|
||||
```
|
||||
|
||||
##### Bestimmte Shell verwenden
|
||||
#### Bestimmte Shell verwenden
|
||||
|
||||
Du kannst die Einstellungen zur Standard-Shell im Betriebssystem des Läufers mit dem Schlüsselwort `shell` überschreiben. Sie können die integrierten `shell`-Stichwörter verwenden oder eine benutzerdefinierte Reihe von Shell-Optionen definieren.
|
||||
|
||||
@@ -601,7 +615,7 @@ Du kannst die Einstellungen zur Standard-Shell im Betriebssystem des Läufers mi
|
||||
| Windows | `cmd` | {% data variables.product.prodname_dotcom %} hängt die Erweiterung `.cmd` an Deinen Skriptnamen an und ersetzt `{0}`. | `%ComSpec% /D /E:ON /V:OFF /S /C "CALL "{0}""`. |
|
||||
| Windows | `powershell` | Dies ist die standardmäßig für Windows verwendete Shell. Die Desktop PowerShell. {% data variables.product.prodname_dotcom %} hängt die Erweiterung `.ps1` an Deinen Skriptnamen an. | `powershell -command ". '{0}'"`. |
|
||||
|
||||
##### Beispiel zur Ausführung eines Skripts mittels Bash
|
||||
#### Beispiel zur Ausführung eines Skripts mittels Bash
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
@@ -610,7 +624,7 @@ steps:
|
||||
shell: bash
|
||||
```
|
||||
|
||||
##### Beispiel zur Ausführung eines Skripts mittels `cmd` von Windows
|
||||
#### Beispiel zur Ausführung eines Skripts mittels `cmd` von Windows
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
@@ -619,7 +633,7 @@ steps:
|
||||
shell: cmd
|
||||
```
|
||||
|
||||
##### Beispiel zur Ausführung eines Skripts mittels PowerShell Core
|
||||
#### Beispiel zur Ausführung eines Skripts mittels PowerShell Core
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
@@ -628,7 +642,7 @@ steps:
|
||||
shell: pwsh
|
||||
```
|
||||
|
||||
##### Beispiel zur Ausführung eines Python-Skripts
|
||||
#### Beispiel zur Ausführung eines Python-Skripts
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
@@ -639,13 +653,13 @@ steps:
|
||||
shell: python
|
||||
```
|
||||
|
||||
##### Benutzerdefinierte Shell
|
||||
#### Benutzerdefinierte Shell
|
||||
|
||||
Mit `command […options] {0} [..more_options]` können Sie einen Vorlagen-String für den `shell`-Wert festlegen. {% data variables.product.prodname_dotcom %} interpretiert das erste Wort im String, nach dem ein Leerzeichen steht, als Befehl, und der Dateiname für das temporäre Skript wird in `{0}` eingefügt.
|
||||
Mit `command […options] {0} [..more_options]` können Sie einen Vorlagen-String für den `shell`-Wert festlegen. {% data variables.product.prodname_dotcom %} interpretiert das erste Wort im String, nach dem ein „Whitespace“ (Zwischenraum-Zeichen) steht, als Befehl, und der Dateiname für das temporäre Skript wird in `{0}` eingefügt.
|
||||
|
||||
##### Exit-Codes und Voreinstellung für Fehleraktionen
|
||||
#### Exit-Codes und Voreinstellung für Fehleraktionen
|
||||
|
||||
Für integrierte Shell-Stichwörter gelten die folgenden Standards, die durch auf {% data variables.product.prodname_dotcom %} gehostete Runner ausgeführt werden. Beachten Sie diese Richtlinien beim Ausführen von Shell-Skripts.
|
||||
Für integrierte Shell-Schlüsselwörter gelten die folgenden Standards, die durch auf {% data variables.product.prodname_dotcom %} gehostete Runner ausgeführt werden. Beachte diese Richtlinien beim Ausführen von Shell-Skripts.
|
||||
|
||||
- `bash`/`sh`:
|
||||
- Fail-Fast-Verhalten mit `set -e o pipefail`: Standard für `bash` und integrierte `shell`. Dies ist außerdem der Standard, wenn Du eine Option für eine Plattform außer Windows angibst.
|
||||
@@ -661,11 +675,11 @@ Für integrierte Shell-Stichwörter gelten die folgenden Standards, die durch au
|
||||
- Wenn Du das Fail-Fast-Verhalten uneingeschränkt nutzen möchtest, hast Du anscheinend keine andere Wahl, als Dein Skript so zu schreiben, dass jeder Fehlercode geprüft und eine entsprechende Reaktion eingeleitet wird. Dieses Verhalten kann nicht standardmäßig bereitgestellt werden; Du musst es explizit in Dein Skript schreiben.
|
||||
- `cmd.exe` will exit with the error level of the last program it executed, and it will return the error code to the runner. Dieses Verhalten ist intern mit dem vorherigen Standardverhalten von `sh` und `pwsh` konsistent und ist der Standard für `cmd.exe`, weshalb dieses Verhalten unverändert bleibt.
|
||||
|
||||
#### **`jobs.<job_id>.steps.with`**
|
||||
### `jobs.<job_id>.steps.with`
|
||||
|
||||
`map` der Eingabeparameter, die in der Aktion definiert sind. Jeder Eingabeparameter ist ein Schlüssel-Wert-Paar. Eingabeparameter werden als Umgebungsvariablen festgelegt. Die Variable erhält das Präfix `INPUT_` und wird in Großbuchstaben umgewandelt.
|
||||
Eine `map` der Eingabeparameter, die in der Aktion definiert sind. Jeder Eingabeparameter ist ein Schlüssel-Wert-Paar. Eingabeparameter werden als Umgebungsvariablen festgelegt. Die Variable erhält das Präfix `INPUT_` und wird in Großbuchstaben umgewandelt.
|
||||
|
||||
##### Beispiel
|
||||
#### Beispiel
|
||||
|
||||
Definiert die drei Eingabeparameter (`first_name`, `middle_name` und `last_name`), die in der Aktion `hello_world` definiert sind. Diese Eingabevariablen sind für die Aktion `hello-world` als Umgebungsvariablen `INPUT_FIRST_NAME`, `INPUT_MIDDLE_NAME` und `INPUT_LAST_NAME` zugänglich.
|
||||
|
||||
@@ -681,11 +695,11 @@ jobs:
|
||||
last_name: Octocat
|
||||
```
|
||||
|
||||
#### **`jobs.<job_id>.steps.with.args`**
|
||||
### `jobs.<job_id>.steps.with.args`
|
||||
|
||||
Ein `string`, der die Eingaben für einen Docker-Container definiert. Beim Start des Containers übergibt {% data variables.product.prodname_dotcom %} die `args`-Anweisung an den `ENTRYPOINT` des Containers. Ein `array of strings` wird von diesem Parameter nicht unterstützt.
|
||||
|
||||
##### Beispiel
|
||||
#### Beispiel
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -704,11 +718,11 @@ Die `args`-Anweisungen werden anstelle der `CMD`-Anweisung in einem `Dockerfile`
|
||||
1. Verwenden Sie Standardwerte, die die Verwendung der Aktion ohne Angabe von `args` erlauben.
|
||||
1. Wenn die Aktion einen Schalter `--help` oder Ähnliches anbietet, verwende diesen als Standard, um eine selbstständige Dokumentation der Aktion herbeizuführen.
|
||||
|
||||
#### **`jobs.<job_id>.steps.with.entrypoint`**
|
||||
### `jobs.<job_id>.steps.with.entrypoint`
|
||||
|
||||
Überschreibt den Docker-`ENTRYPOINT` im `Dockerfile` oder legt ihn fest, sofern er noch nicht angegeben wurde. Im Gegensatz zur Docker `ENTRYPOINT`-Anweisung, die eine Shell- und eine ausführbare Form aufweist, akzeptiert das Stichwort `entrypoint` nur einen einzigen Schritt, der die entsprechende ausführbare Datei definiert.
|
||||
|
||||
##### Beispiel
|
||||
#### Beispiel
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
@@ -720,15 +734,15 @@ steps:
|
||||
|
||||
The `entrypoint` keyword is meant to be used with Docker container actions, but you can also use it with JavaScript actions that don't define any inputs.
|
||||
|
||||
#### **`jobs.<job_id>.steps.env`**
|
||||
### `jobs.<job_id>.steps.env`
|
||||
|
||||
Legt Umgebungsvariablen für Schritte fest, die in der Runner-Umgebung verwendet werden sollen. Darüber hinaus können Sie Umgebungsvariablen für den gesamten Workflow oder für einen Auftrag festlegen. Weitere Informationen finden Sie unter [`env`](#env) und [`jobs.<job_id>.env`](#jobsjob_idenv).
|
||||
|
||||
{% data reusables.repositories.actions-env-var-note %}
|
||||
|
||||
Die erwarteten Umgebungsvariablen können durch öffentliche Aktionen in der README-Datei angegeben werden. Wenn Sie ein Geheimnis in einer Umgebungsvariable festlegen, müssen Sie dieses Geheimnis mit dem `secrets`-Kontext angeben. Weitere Informationen findest Du unter „[Umgebungsvariablen verwenden](/actions/automating-your-workflow-with-github-actions/using-environment-variables)“ und „[Kontext- und Ausdruckssyntax für {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)“.
|
||||
Die erwarteten Umgebungsvariablen können durch öffentliche Aktionen in der README-Datei angegeben werden. Wenn Du ein Geheimnis in einer Umgebungsvariable festlegst, musst Du dieses Geheimnis mit dem Kontext `secrets` angeben. Weitere Informationen findest Du unter „[Umgebungsvariablen verwenden](/actions/automating-your-workflow-with-github-actions/using-environment-variables)“ und „[Kontext- und Ausdruckssyntax für {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions)“.
|
||||
|
||||
##### Beispiel
|
||||
#### Beispiel
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -741,23 +755,23 @@ steps:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
#### **`jobs.<job_id>.steps.continue-on-error`**
|
||||
### `jobs.<job_id>.steps.continue-on-error`
|
||||
|
||||
Verhindert das Fehlschlagen eines Auftrags, wenn ein Schritt fehlschlägt. Legen Sie `true` fest, damit ein Auftrag auch dann erfolgreich abgeschlossen werden kann, wenn dieser Schritt fehlschlägt.
|
||||
Verhindert das Fehlschlagen eines Auftrags, wenn ein Schritt fehlschlägt. Leg `true` fest, damit ein Auftrag auch dann erfolgreich abgeschlossen werden kann, wenn dieser Schritt fehlschlägt.
|
||||
|
||||
#### **`jobs.<job_id>.steps.timeout-minutes`**
|
||||
### `jobs.<job_id>.steps.timeout-minutes`
|
||||
|
||||
Maximaler Zeitraum in Minuten für die Ausführung des Schritts, bevor der Prozess abgebrochen wird.
|
||||
|
||||
### **`jobs.<job_id>.timeout-minutes`**
|
||||
### `jobs.<job_id>.timeout-minutes`
|
||||
|
||||
Die maximale Anzahl von Minuten, die ein Job ausgeführt wird, bevor {% data variables.product.prodname_dotcom %} automatisch abbricht. Standard: 360
|
||||
|
||||
### **`jobs.<job_id>.strategy`**
|
||||
### `jobs.<job_id>.strategy`
|
||||
|
||||
Mit einer Strategie wird eine Build-Matrix für die Aufträge erstellt. Sie können verschiedene Varianten einer Umgebung definieren, in denen die einzelnen Aufträge ausgeführt werden.
|
||||
|
||||
#### **`jobs.<job_id>.strategy.matrix`**
|
||||
### `jobs.<job_id>.strategy.matrix`
|
||||
|
||||
Du kannst eine Matrix aus verschiedenen Job-Konfigurationen definieren. Mit einer Matrix kannst Du mehrere Jobs erstellen, indem Du in einer einzigen Jobdefinition Variablen substituierst. Zum Beispiel kannst Du eine Matrix verwenden, um Jobs für mehrere unterstützte Versionen einer Programmiersprache, eines Betriebssystems oder eines Tools zu erstellen. Eine Matrix verwendet die Job-Konfiguration mehrfach und erstellt einen Job für jeden Eintrag in der Matrix, die Du konfigurierst.
|
||||
|
||||
@@ -767,7 +781,7 @@ Jede Option, die Du in der `Matrix` definierst, hat einen Schlüssel und einen W
|
||||
|
||||
Die Reihenfolge, in der Du eine `Matrix` definierst, ist wichtig. Die erste Option, die Du definierst, ist der erste Job, der im Workflow ausgeführt wird.
|
||||
|
||||
##### Beispiel für die Ausführung mit mehreren Versionen von Node.js
|
||||
#### Beispiel für die Ausführung mit mehreren Versionen von Node.js
|
||||
|
||||
Zum Erstellen einer Matrix geben Sie ein Array für die Konfigurationsoptionen an. Wenn der Runner beispielsweise die Node.js-Versionen 6, 8 und 10 unterstützt, kannst Du ein Array dieser Versionen in der `matrix` festlegen.
|
||||
|
||||
@@ -789,7 +803,7 @@ steps:
|
||||
|
||||
Die Aktion `setup-node` ist das empfohlene Mittel zur Konfiguration einer Node.js-Version, wenn {% data variables.product.prodname_dotcom %}-gehostete Runner verwendet werden. Weitere Informationen findest Du in der Aktion [`setup-node`](https://github.com/actions/setup-node).
|
||||
|
||||
##### Beispiel für die Ausführung mit mehreren Betriebssystemen
|
||||
#### Beispiel für die Ausführung mit mehreren Betriebssystemen
|
||||
|
||||
Du kannst eine Matrix erstellen, um Workflows auf mehreren Runner-Betriebssystemen auszuführen. Du kannst auch mehrere Matrix-Konfigurationen angeben. Dieses Beispiel erstellt eine Matrix von 6 Jobs:
|
||||
|
||||
@@ -814,7 +828,7 @@ steps:
|
||||
|
||||
Unterstützte Konfigurationsoptionen für {% data variables.product.prodname_dotcom %}-gehostete Runner findest Du unter „[Virtuelle Umgebungen für {% data variables.product.prodname_dotcom %}-gehostete Runner](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)“.
|
||||
|
||||
##### Beispiel mit kombinierten zusätzlichen Werten
|
||||
#### Beispiel mit kombinierten zusätzlichen Werten
|
||||
|
||||
Sie können zusätzliche Konfigurationsoptionen hinzufügen, um einen bereits vorhandenen Matrixauftrag zu erstellen. Wenn Du beispielsweise eine bestimmte Version von `npm` verwenden willst, wenn der Auftrag mit `windows-latest` und Version 4 von `node` ausgeführt wird, kannst Du `include` verwenden, um diese zusätzliche Option anzugeben.
|
||||
|
||||
@@ -834,7 +848,7 @@ strategy:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
##### Beispiel zum Einbeziehen neuer Kombinationen
|
||||
#### Beispiel zum Einbeziehen neuer Kombinationen
|
||||
|
||||
Du kannst `include` verwenden, um neue Jobs zu einer Build-Matrix hinzuzufügen. Alle Include-Konfigurationen, die nicht passen, werden zur Matrix hinzugefügt. Wenn Du beispielsweise `node` Version 12 verwenden willst, um auf mehreren Betriebssystemen zu bauen, aber Du willst einen zusätzlichen experimentellen Job mit Node Version 13 auf Ubuntu, kannst Du `include` verwenden, um diesen zusätzlichen Job anzugeben.
|
||||
|
||||
@@ -852,7 +866,7 @@ strategy:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
##### Beispiel zum Ausschließen von Konfigurationen aus einer Matrix
|
||||
#### Beispiel zum Ausschließen von Konfigurationen aus einer Matrix
|
||||
|
||||
Mit der Option `exclude` können Sie bestimmte in der Build-Matrix definierte Konfigurationen entfernen. Durch die Verwendung von `exclude` wird ein durch die Build-Matrix definierter Auftrag entfernt. Die Anzahl der Aufträge ist das Kreuzprodukt der Anzahl der Betriebssysteme (`os`), die in den von Ihnen bereitgestellten Arrays enthalten sind, abzüglich etwaiger Subtraktionen (`exclude`).
|
||||
|
||||
@@ -882,11 +896,11 @@ You can add custom environment variables for each test combination by using the
|
||||
|
||||
{% data reusables.github-actions.matrix-variable-example %}
|
||||
|
||||
### **`jobs.<job_id>.strategy.fail-fast`**
|
||||
### `jobs.<job_id>.strategy.fail-fast`
|
||||
|
||||
Wenn diese Option auf `true` gesetzt ist, bricht {% data variables.product.prodname_dotcom %} alle laufenden Jobs ab, sobald ein Job der `matrix` fehlschlägt. Standard: `true`
|
||||
|
||||
### **`jobs.<job_id>.strategy.max-parallel`**
|
||||
### `jobs.<job_id>.strategy.max-parallel`
|
||||
|
||||
Maximale Anzahl der Aufträge, die gleichzeitig ausgeführt werden können, wenn eine `matrix`-Auftragsstrategie herangezogen wird. Standardmäßig führt {% data variables.product.prodname_dotcom %} so viele Aufträge wie möglich parallel aus, je nach der Anzahl der verfügbaren Runner auf von {% data variables.product.prodname_dotcom %} gehosteten virtuellen Maschinen.
|
||||
|
||||
@@ -895,7 +909,7 @@ strategy:
|
||||
max-parallel: 2
|
||||
```
|
||||
|
||||
### **`jobs.<job_id>.continue-on-error`**
|
||||
### `jobs.<job_id>.continue-on-error`
|
||||
|
||||
Verhindert, dass ein Workflow scheitert, wenn ein Job scheitert. Setze es auf `true` um einen Workflow-Lauf fortzusetzen, wenn dieser Job scheitert.
|
||||
|
||||
@@ -920,7 +934,7 @@ strategy:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### **`jobs.<job_id>.container`**
|
||||
### `jobs.<job_id>.container`
|
||||
|
||||
Container, in dem alle Schritte eines Auftrags ausgeführt werden, für die kein Container explizit angegeben ist. Wenn ein Schritt sowohl Skript- als auch Container-Aktionen umfasst, werden die Container-Aktionen als nebengeordnete Container in demselben Netzwerk mit denselben Volume-Mounts ausgeführt.
|
||||
|
||||
@@ -950,16 +964,17 @@ jobs:
|
||||
container: node:10.16-jessie
|
||||
```
|
||||
|
||||
#### **`jobs.<job_id>.container.image`**
|
||||
### `jobs.<job_id>.container.image`
|
||||
|
||||
Docker-Image, das beim Ausführen der Aktion als Container herangezogen wird. The value can be the Docker Hub image name or a {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %}public{% endif %} registry name.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
#### **`jobs.<job_id>.container.credentials`**
|
||||
|
||||
### `jobs.<job_id>.container.credentials`
|
||||
|
||||
{% data reusables.actions.registry-credentials %}
|
||||
|
||||
##### Beispiel
|
||||
#### Beispiel
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -972,15 +987,15 @@ container:
|
||||
{% endraw %}
|
||||
{% endif %}
|
||||
|
||||
#### **`jobs.<job_id>.container.env`**
|
||||
### `jobs.<job_id>.container.env`
|
||||
|
||||
Legt eine `map` mit Umgebungsvariablen im Container fest.
|
||||
|
||||
#### **`jobs.<job_id>.container.ports`**
|
||||
### `jobs.<job_id>.container.ports`
|
||||
|
||||
Legt ein `array` mit Ports fest, die im Container offengelegt werden.
|
||||
|
||||
#### **`jobs.<job_id>.container.volumes`**
|
||||
### `jobs.<job_id>.container.volumes`
|
||||
|
||||
Legt ein `array` mit Volumes für den Container fest. Mithilfe von Volumes können Sie Daten zwischen Diensten oder anderen Schritten in einem Auftrag austauschen. Sie können benannte Docker-Volumes, anonyme Docker-Volumes oder Bind-Mounts auf dem Host angegeben.
|
||||
|
||||
@@ -990,7 +1005,7 @@ Für ein Volume geben Sie den Quell- und Zielpfad an:
|
||||
|
||||
`<source>` bezeichnet einen Volume-Namen oder einen absoluten Pfad auf der Hostmaschine und `<destinationPath>` einen absoluten Pfad im Container.
|
||||
|
||||
##### Beispiel
|
||||
#### Beispiel
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
@@ -999,11 +1014,11 @@ volumes:
|
||||
- /source/directory:/destination/directory
|
||||
```
|
||||
|
||||
#### **`jobs.<job_id>.container.options`**
|
||||
### `jobs.<job_id>.container.options`
|
||||
|
||||
Zusätzliche Optionen für die Docker-Containerressource. Eine Liste der Optionen finden Sie unter „[Optionen für `docker create`](https://docs.docker.com/engine/reference/commandline/create/#options)“.
|
||||
|
||||
### **`jobs.<job_id>.services`**
|
||||
### `jobs.<job_id>.services`
|
||||
|
||||
{% data reusables.github-actions.docker-container-os-support %}
|
||||
|
||||
@@ -1033,16 +1048,17 @@ services:
|
||||
- 6379/tcp
|
||||
```
|
||||
|
||||
#### **`jobs.<job_id>.services.<service_id>.image`**
|
||||
### `jobs.<job_id>.services.<service_id>.image`
|
||||
|
||||
Docker-Image, das beim Ausführen der Aktion als Dienstcontainer herangezogen wird. The value can be the Docker Hub image name or a {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %}public{% endif %} registry name.
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
#### **`jobs.<job_id>.services.<service_id>.credentials`**
|
||||
|
||||
### `jobs.<job_id>.services.<service_id>.credentials`
|
||||
|
||||
{% data reusables.actions.registry-credentials %}
|
||||
|
||||
##### Beispiel
|
||||
#### Beispiel
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@@ -1061,15 +1077,15 @@ services:
|
||||
{% endraw %}
|
||||
{% endif %}
|
||||
|
||||
#### **`jobs.<job_id>.services.<service_id>.env`**
|
||||
### `jobs.<job_id>.services.<service_id>.env`
|
||||
|
||||
Legt eine `map` mit Umgebungsvariablen im Servicecontainer fest.
|
||||
|
||||
#### **`jobs.<job_id>.services.<service_id>.ports`**
|
||||
### `jobs.<job_id>.services.<service_id>.ports`
|
||||
|
||||
Legt ein `array` mit Ports fest, die im Dienstcontainer offengelegt werden.
|
||||
|
||||
#### **`jobs.<job_id>.services.<service_id>.volumes`**
|
||||
### `jobs.<job_id>.services.<service_id>.volumes`
|
||||
|
||||
Legt ein `array` mit Volumes für den Dienstcontainer fest. Mithilfe von Volumes können Sie Daten zwischen Diensten oder anderen Schritten in einem Auftrag austauschen. Sie können benannte Docker-Volumes, anonyme Docker-Volumes oder Bind-Mounts auf dem Host angegeben.
|
||||
|
||||
@@ -1079,7 +1095,7 @@ Für ein Volume geben Sie den Quell- und Zielpfad an:
|
||||
|
||||
`<source>` bezeichnet einen Volume-Namen oder einen absoluten Pfad auf der Hostmaschine und `<destinationPath>` einen absoluten Pfad im Container.
|
||||
|
||||
##### Beispiel
|
||||
#### Beispiel
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
@@ -1088,7 +1104,7 @@ volumes:
|
||||
- /source/directory:/destination/directory
|
||||
```
|
||||
|
||||
#### **`jobs.<job_id>.services.<service_id>.options`**
|
||||
### `jobs.<job_id>.services.<service_id>.options`
|
||||
|
||||
Zusätzliche Optionen für die Docker-Containerressource. Eine Liste der Optionen finden Sie unter „[Optionen für `docker create`](https://docs.docker.com/engine/reference/commandline/create/#options)“.
|
||||
|
||||
|
||||
@@ -31,9 +31,7 @@ versions:
|
||||
{% link_in_list /enabling-private-mode %}
|
||||
{% link_in_list /configuring-email-for-notifications %}
|
||||
{% link_in_list /configuring-rate-limits %}
|
||||
<!-- if currentVersion ver_gt "enterprise-server@2.15" -->
|
||||
{% link_in_list /configuring-applications %}
|
||||
<!-- endif -->
|
||||
{% link_in_list /troubleshooting-ssl-errors %}
|
||||
{% link_in_list /configuring-time-synchronization %}
|
||||
{% link_in_list /command-line-utilities %}
|
||||
@@ -54,11 +52,7 @@ versions:
|
||||
{% link_in_list /connecting-github-enterprise-server-to-github-enterprise-cloud %}
|
||||
{% link_in_list /enabling-unified-search-between-github-enterprise-server-and-githubcom %}
|
||||
{% link_in_list /enabling-unified-contributions-between-github-enterprise-server-and-githubcom %}
|
||||
<!-- if currentVersion ver_gt "enterprise-server@2.16" -->
|
||||
{% link_in_list /enabling-security-alerts-for-vulnerable-dependencies-on-github-enterprise-server %}
|
||||
{% link_in_list /enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud %}
|
||||
<!-- endif -->
|
||||
<!-- if currentVersion ver_gt "enterprise-server@2.21" -->
|
||||
{% topic_link_in_list /configuring-advanced-security-features %}
|
||||
{% link_in_list /configuring-code-scanning-for-your-appliance %}
|
||||
<!-- endif -->
|
||||
|
||||
@@ -37,7 +37,7 @@ Die für das Failover erforderliche Zeit hängt davon ab, wie lange es dauert, d
|
||||
```
|
||||
- On the new primary, remove the UUIDs using `ghe-repl-teardown`. Please replace *`UUID`* with a UUID you retrieved in the previous step.
|
||||
```shell
|
||||
$ ghe-repl-teardown -u <em>UUNID</em>
|
||||
$ ghe-repl-teardown -u <em>UUID</em>
|
||||
```
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
@@ -24,7 +24,7 @@ The `actions-sync` tool can only download actions from {% data variables.product
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
* Before using the the `actions-sync` tool, you must ensure that all destination organizations already exist on your enterprise instance. The following example demonstrates how to sync actions to an organization named `synced-actions` on an enterprise instance. For more information, see "[Creating a new organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)."
|
||||
* Before using the `actions-sync` tool, you must ensure that all destination organizations already exist on your enterprise instance. The following example demonstrates how to sync actions to an organization named `synced-actions` on an enterprise instance. For more information, see "[Creating a new organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)."
|
||||
* You must create a personal access token (PAT) on your enterprise instance that can create and write to repositories in the destination organizations. Weitere Informationen finden Sie unter "[Erstellen eines persönlichen Zugriffstokens](/github/authenticating-to-github/creating-a-personal-access-token)."
|
||||
|
||||
### Example: Using the `actions-sync` tool
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Setting up the tool cache on self-hosted runners without internet access
|
||||
intro: 'To use the the included `actions/setup` actions on self-hosted runners without internet access, you must first populate the runner''s tool cache for your workflows.'
|
||||
intro: 'To use the included `actions/setup` actions on self-hosted runners without internet access, you must first populate the runner''s tool cache for your workflows.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/github-actions/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access
|
||||
versions:
|
||||
|
||||
@@ -28,3 +28,5 @@ versions:
|
||||
{% link_with_intro /packages %}
|
||||
|
||||
{% link_with_intro /enterprise-support %}
|
||||
|
||||
{% link_with_intro /release-notes %}
|
||||
|
||||
@@ -15,7 +15,7 @@ An enterprise account allows you to manage multiple organizations{% if enterpris
|
||||
|
||||
- Member access and management (organization members, outside collaborators){% if enterpriseServerVersions contains currentVersion %}
|
||||
- Billing and usage ({% data variables.product.prodname_ghe_server %} instances, user licenses, {% data variables.large_files.product_name_short %} packs){% endif %}
|
||||
- Security{% if enterpriseServerVersions contains currentVersion %}(single sign-on, two factor authentication)
|
||||
- Security {% if enterpriseServerVersions contains currentVersion %}(single sign-on, two factor authentication)
|
||||
- Requests {% if enterpriseServerVersions contains currentVersion %}and support bundle sharing {% endif %}with {% data variables.contact.enterprise_support %}{% endif %}
|
||||
|
||||
{% if enterpriseServerVersions contains currentVersion %}{% data reusables.enterprise-accounts.enterprise-accounts-billing %} For more information about managing your {% data variables.product.prodname_ghe_cloud %} subscription, see "[Viewing the subscription and usage for your enterprise account](/articles/viewing-the-subscription-and-usage-for-your-enterprise-account)." {% endif %}For more information about managing your {% data variables.product.product_name %} billing settings, see "[Managing billing for your enterprise](/admin/overview/managing-billing-for-your-enterprise)."
|
||||
|
||||
@@ -28,7 +28,7 @@ To generate a private key:
|
||||
{% data reusables.user-settings.developer_settings %}
|
||||
{% data reusables.user-settings.github_apps %}
|
||||
{% data reusables.user-settings.modify_github_app %}
|
||||
5. In "Private keys," click **Generate a private key**. 
|
||||
5. In "Private keys", click **Generate a private key**. 
|
||||
6. You will see a private key in PEM format downloaded to your computer. Make sure to store this file because GitHub only stores the public portion of the key.
|
||||
|
||||
{% note %}
|
||||
|
||||
@@ -73,7 +73,9 @@ You can select permissions in a query string using the permission name in the fo
|
||||
| `plan` | Grants access to get information about a user's GitHub plan using the "[Get a user](/rest/reference/users#get-a-user)" endpoint. Can be one of: `none` or `read`. |
|
||||
| [`pull_requests`](/rest/reference/permissions-required-for-github-apps/#permission-on-pull-requests) | Grants access to various pull request endpoints. Can be one of: `none`, `read`, or `write`. |
|
||||
| [`repository_hooks`](/rest/reference/permissions-required-for-github-apps/#permission-on-repository-hooks) | Grants access to the [Repository Webhooks API](/rest/reference/repos#hooks). Can be one of: `none`, `read`, or `write`. |
|
||||
| [`repository_projects`](/rest/reference/permissions-required-for-github-apps/#permission-on-repository-projects) | Grants access to the [Projects API](/rest/reference/projects). Can be one of: `none`, `read`, `write`, or `admin`. |
|
||||
| [`repository_projects`](/rest/reference/permissions-required-for-github-apps/#permission-on-repository-projects) | Grants access to the [Projects API](/rest/reference/projects). Can be one of: `none`, `read`, `write`, or `admin`.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
| [`secret_scanning_alerts`](/rest/reference/permissions-required-for-github-apps/#permission-on-secret-scanning-alerts) | Grants access to the [Secret scanning API](/rest/reference/secret-scanning). Can be one of: `none`, `read`, or `write`.{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}
|
||||
| [`security_events`](/rest/reference/permissions-required-for-github-apps/#permission-on-security-events) | Grants access to the [Code scanning API](/rest/reference/code-scanning/). Can be one of: `none`, `read`, or `write`.{% endif %}
|
||||
| [`single_file`](/rest/reference/permissions-required-for-github-apps/#permission-on-single-file) | Grants access to the [Contents API](/rest/reference/repos#contents). Can be one of: `none`, `read`, or `write`. |
|
||||
| [`starring`](/rest/reference/permissions-required-for-github-apps/#permission-on-starring) | Grants access to the [Starring API](/rest/reference/activity#starring). Can be one of: `none`, `read`, or `write`. |
|
||||
| [`statuses (Statusangaben)`](/rest/reference/permissions-required-for-github-apps/#permission-on-statuses) | Grants access to the [Statuses API](/rest/reference/repos#statuses). Can be one of: `none`, `read`, or `write`. |
|
||||
|
||||
@@ -46,7 +46,8 @@ X-Accepted-OAuth-Scopes: user
|
||||
|  `repo:status` | Grants read/write access to public and private repository commit statuses. This scope is only necessary to grant other users or services access to private repository commit statuses *without* granting access to the code. |
|
||||
|  `repo_deployment` | Grants access to [deployment statuses](/rest/reference/repos#deployments) for public and private repositories. This scope is only necessary to grant other users or services access to deployment statuses, *without* granting access to the code. |
|
||||
|  `public_repo` | Limits access to public repositories. That includes read/write access to code, commit statuses, repository projects, collaborators, and deployment statuses for public repositories and organizations. Also required for starring public repositories. |
|
||||
|  `repo:invite` | Grants accept/decline abilities for invitations to collaborate on a repository. This scope is only necessary to grant other users or services access to invites *without* granting access to the code.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest"%}
|
||||
|  `repo:invite` | Grants accept/decline abilities for invitations to collaborate on a repository. This scope is only necessary to grant other users or services access to invites *without* granting access to the code.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
|  `security_events` | Grants: <br/> read and write access to security events in the [{% data variables.product.prodname_code_scanning %} API](/rest/reference/code-scanning). <br/> read and write access to security events in the [{% data variables.product.prodname_secret_scanning %} API](/rest/reference/secret-scanning).{% endif %}{% if currentVersion ver_gt "enterprise-server@2.21" and currentVersion ver_lt "enterprise-server@3.1" %}
|
||||
|  `security_events` | Grants read and write access to security events in the [{% data variables.product.prodname_code_scanning %} API](/rest/reference/code-scanning).{% endif %}
|
||||
| **`admin:repo_hook`** | Grants read, write, ping, and delete access to repository hooks in public and private repositories. The `repo` and `public_repo` scopes grants full access to repositories, including repository hooks. Use the `admin:repo_hook` scope to limit access to only repository hooks. |
|
||||
|  `write:repo_hook` | Grants read, write, and ping access to hooks in public or private repositories. |
|
||||
|
||||
@@ -422,7 +422,7 @@ Here are a few common problems and some suggested solutions. If you run into any
|
||||
|
||||
**A:** You may not be running the Smee client, or you may not have the correct Smee domain in your GitHub App settings. First check to make sure the Smee client is running in a Terminal tab. If that's not the problem, visit your [app settings page](https://github.com/settings/apps) and check the fields shown in "[Step 2. Register a new GitHub App](#step-2-register-a-new-github-app)." Make sure the domain in those fields matches the domain you used in your `smee -u <unique_channel>` command in "[Step 1. Start a new Smee channel](#step-1-start-a-new-smee-channel)."
|
||||
|
||||
* **Q:** I'm getting seeing an `Octokit::NotFound` 404 error in my debug output:
|
||||
* **Q:** I'm getting an `Octokit::NotFound` 404 error in my debug output:
|
||||
```
|
||||
2018-12-06 15:00:56 - Octokit::NotFound - POST https://api.github.com/app/installations/500991/access_tokens: 404 - Not Found // See: /v3/apps/#create-a-new-installation-token:
|
||||
```
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Informationen zu GitHub Marketplace
|
||||
intro: 'Learn the basics to prepare your app for review before joining {% data variables.product.prodname_marketplace %}.'
|
||||
intro: 'Learn about {% data variables.product.prodname_marketplace %} where you can share your apps and actions publicly with all {% data variables.product.product_name %} users.'
|
||||
redirect_from:
|
||||
- /apps/marketplace/getting-started/
|
||||
- /marketplace/getting-started
|
||||
@@ -14,52 +14,41 @@ versions:
|
||||
|
||||
{% data reusables.actions.actions-not-verified %}
|
||||
|
||||
To learn about publishing {% data variables.product.prodname_actions %} in the {% data variables.product.prodname_marketplace %}, see "[Publishing actions in GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace)."
|
||||
To learn about publishing {% data variables.product.prodname_actions %} in {% data variables.product.prodname_marketplace %}, see "[Publishing actions in GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace)."
|
||||
|
||||
### Apps
|
||||
|
||||
You can list verified and unverified apps in {% data variables.product.prodname_marketplace %}. Unverified apps do not go through the security, testing, and verification cycle {% data variables.product.prodname_dotcom %} requires for verified apps.
|
||||
Anyone can share their apps with other users on {% data variables.product.prodname_marketplace %} but only listings that are verified by {% data variables.product.company_short %} can include paid plans. For more information, see "[About verified creators](/developers/github-marketplace/about-verified-creators)."
|
||||
|
||||
Verified apps have a green badge in {% data variables.product.prodname_marketplace %}. Unverified apps have a grey badge next to their listing and are only available as free apps.
|
||||
If you're interested in creating an app for {% data variables.product.prodname_marketplace %}, but you're new to {% data variables.product.prodname_github_apps %} or {% data variables.product.prodname_oauth_app %}s, see "[Building {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps)" or "[Building {% data variables.product.prodname_oauth_app %}s](/developers/apps/building-oauth-apps)."
|
||||
|
||||

|
||||
|
||||
If you're interested in creating an app for {% data variables.product.prodname_marketplace %}, but you're new to {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_app %}s, see "[Building apps](/apps/)."
|
||||
|
||||
{% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_app %}s in {% data variables.product.prodname_marketplace %}. See "[Differences between GitHub and OAuth apps](/apps/differences-between-apps/)" for more details. To learn more about switching from OAuth to {% data variables.product.prodname_github_apps %}, see [Migrating OAuth Apps to {% data variables.product.prodname_github_app %}s](/apps/migrating-oauth-apps-to-github-apps/).
|
||||
{% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_app %}s in {% data variables.product.prodname_marketplace %}. For more information, see "[Differences between {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_app %}s](/apps/differences-between-apps/)" and "[Migrating {% data variables.product.prodname_oauth_app %}s to {% data variables.product.prodname_github_apps %}](/apps/migrating-oauth-apps-to-github-apps/)."
|
||||
|
||||
If you have questions about {% data variables.product.prodname_marketplace %}, please contact {% data variables.contact.contact_support %} directly.
|
||||
|
||||
#### Unverified Apps
|
||||
### Publishing an app to {% data variables.product.prodname_marketplace %}
|
||||
|
||||
Unverified apps do not need to meet the "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)" or go through the "[Security review process](/marketplace/getting-started/security-review-process/)".
|
||||
When you have finished creating your app, you can share it with other users by publishing it to {% data variables.product.prodname_marketplace %}. In summary, the process is:
|
||||
|
||||
{% data reusables.marketplace.unverified-apps %} Having a published paid plan will prevent you from being able to submit an unverified app. You must remove paid plans or keep them in draft mode before publishing an unverified app.
|
||||
1. Review your app carefully to ensure that it will behave as expected in other repositories and that it follows best practice guidelines. For more information, see "[Security best practices for apps](/developers/github-marketplace/security-best-practices-for-apps)" and "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app#best-practice-for-customer-experience)."
|
||||
|
||||
To list your unverified app in {% data variables.product.prodname_marketplace %}, you only need to create a "[Listing on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/)" and submit it as an unverified listing.
|
||||
1. Add webhook events to the app to track user billing requests. For more information about the {% data variables.product.prodname_marketplace %} API, webhook events, and billing requests, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
|
||||
|
||||
{% data reusables.marketplace.launch-with-free %}
|
||||
1. Create a draft {% data variables.product.prodname_marketplace %} listing. For more information, see "[Drafting a listing for your app](/developers/github-marketplace/drafting-a-listing-for-your-app)."
|
||||
|
||||
#### Verified Apps
|
||||
1. Add a pricing plan. For more information, see "[Setting pricing plans for your listing](/developers/github-marketplace/setting-pricing-plans-for-your-listing)."
|
||||
|
||||
If you've already built an app and you're interested in submitting a verified listing in {% data variables.product.prodname_marketplace %}, start here:
|
||||
1. Check whether your app meets the requirements for listing on {% data variables.product.prodname_marketplace %} as a free or a paid app. For more information, see "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app)."
|
||||
|
||||
1. [Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)<br/>Learn about requirements, guidelines, and the app submission process.
|
||||
1. Read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)."
|
||||
|
||||
1. [Integrating with the {% data variables.product.prodname_marketplace %} API](/marketplace/integrating-with-the-github-marketplace-api/)<br/>Before you can list your app on {% data variables.product.prodname_marketplace %}, you'll need to integrate billing flows using the {% data variables.product.prodname_marketplace %} API and webhook events.
|
||||
1. Submit your listing for publication in {% data variables.product.prodname_marketplace %}, requesting verification if you want to sell the app. For more information, see "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication)."
|
||||
|
||||
1. [Listing on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/) <br/>Create a draft {% data variables.product.prodname_marketplace %} listing, configure webhook settings, and set up pricing plans.
|
||||
An onboarding expert will contact you with any questions or further steps. For example, if you have added a paid plan, you will need to complete the verification process and complete financial onboarding. As soon as your listing is approved the app is published to {% data variables.product.prodname_marketplace %}.
|
||||
|
||||
1. [Selling your app](/marketplace/selling-your-app/)<br/>Learn about pricing plans, billing cycles, and how to receive payment from {% data variables.product.prodname_dotcom %} for your app.
|
||||
### Seeing how your app is performing
|
||||
|
||||
1. [{% data variables.product.prodname_marketplace %} Insights](/marketplace/github-marketplace-insights/)<br/>See how your app is performing in {% data variables.product.prodname_marketplace %}. You can use metrics collected by {% data variables.product.prodname_dotcom %} to guide your marketing campaign and be successful in {% data variables.product.prodname_marketplace %}.
|
||||
You can access metrics and transactions for your listing. Weitere Informationen findest Du unter:
|
||||
|
||||
1. [{% data variables.product.prodname_marketplace %} transactions](/marketplace/github-marketplace-transactions/)<br/>Download and view transaction data for your {% data variables.product.prodname_marketplace %} listing.
|
||||
|
||||
### Reviewing your app
|
||||
|
||||
We want to make sure that the apps offered on {% data variables.product.prodname_marketplace %} are safe, secure, and well tested. The {% data variables.product.prodname_marketplace %} onboarding specialists will review your app to ensure that it meets all requirements. Follow the guidelines in these articles before submitting your app:
|
||||
|
||||
|
||||
* [Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)
|
||||
* [Security review process](/marketplace/getting-started/security-review-process/)
|
||||
- "[Viewing metrics for your listing](/developers/github-marketplace/viewing-metrics-for-your-listing)"
|
||||
- "[Viewing transactions for your listing](/developers/github-marketplace/viewing-transactions-for-your-listing)"
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: About verified creators
|
||||
intro: 'Each organization that wants to sell apps on {% data variables.product.prodname_marketplace %} must follow a verification process. Their identity is checked and their billing process reviewed.'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### About verified creators
|
||||
|
||||
A verified creator is an organization that {% data variables.product.company_short %} has checked. Anyone can share their apps with other users on {% data variables.product.prodname_marketplace %} but only organizations that are verified by {% data variables.product.company_short %} can sell apps. For more information about organizations, see "[About organizations](/github/setting-up-and-managing-organizations-and-teams/about-organizations)."
|
||||
|
||||
The verification process aims to protect users. For example, it verifies the seller's identity, checks that their {% data variables.product.product_name %} organization is set up securely, and that they can be contacted for support.
|
||||
|
||||
After passing the verification checks, any apps that the organization lists on {% data variables.product.prodname_marketplace %} are shown with a verified creator badge {% octicon "verified" aria-label="Verified creator badge" %}. The organization can now add paid plans to any of their apps. Each app with a paid plan also goes through a financial onboarding process to check that it's set up to handle billing correctly.
|
||||
|
||||

|
||||
|
||||
In addition to the verified creator badge, you'll also see badges for unverified and verified apps. These apps were published using the old method for verifying individual apps.
|
||||
|
||||

|
||||
|
||||
For information on finding apps to use, see "[Searching {% data variables.product.prodname_marketplace %}](/github/searching-for-information-on-github/searching-github-marketplace)."
|
||||
|
||||
### About the verification process
|
||||
|
||||
The first time you request verification for a listing of one of your apps, you will enter the verification process. An onboarding expert will guide you through the process. This includes checking:
|
||||
|
||||
- Profile information - The basic profile information is populated accurately and appropriately.
|
||||
- Security - The organization has enabled two-factor authentication.
|
||||
- Verified domain - The organization has verified the domain of the site URL.
|
||||
- Purchase webhook event - The event is handled correctly by the app.
|
||||
|
||||
When your organization is verified, all your apps are shown with a verified creator badge. You are now able to offer paid plans for any of your apps.
|
||||
|
||||
For more information about the requirements for listing an app on {% data variables.product.prodname_marketplace %}, see "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)."
|
||||
|
||||
{% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** This verification process for apps replaces the previous process where individual apps were verified. The current process is similar to the verification process for actions. If you have apps that were verified under the old process, these will not be affected by the changes. The {% data variables.product.prodname_marketplace %} team will contact you with details of how to migrate to organization-based verification.
|
||||
|
||||
{% endnote %}
|
||||
@@ -13,17 +13,17 @@ versions:
|
||||
|
||||
### Understanding the billing cycle
|
||||
|
||||
Customers can choose a monthly or yearly billing cycle when they purchase your app. All changes customers make to the billing cycle and plan selection will trigger a `marketplace_purchase` event. You can refer to the `marketplace_purchase` webhook payload to see which billing cycle a customer selects and when the next billing date begins (`effective_date`). For more information about webhook payloads, see "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)."
|
||||
Customers can choose a monthly or yearly billing cycle when they purchase your app. All changes customers make to the billing cycle and plan selection will trigger a `marketplace_purchase` event. You can refer to the `marketplace_purchase` webhook payload to see which billing cycle a customer selects and when the next billing date begins (`effective_date`). For more information about webhook payloads, see "[Webhook events for the {% data variables.product.prodname_marketplace %} API](/developers/github-marketplace/webhook-events-for-the-github-marketplace-api)."
|
||||
|
||||
### Providing billing services in your app's UI
|
||||
|
||||
Customers must be able to perform the following actions from your app's website:
|
||||
- Customers must be able to modify or cancel their {% data variables.product.prodname_marketplace %} plans for personal and organizational accounts separately.
|
||||
Customers should be able to perform the following actions from your app's website:
|
||||
- Customers should be able to modify or cancel their {% data variables.product.prodname_marketplace %} plans for personal and organizational accounts separately.
|
||||
{% data reusables.marketplace.marketplace-billing-ui-requirements %}
|
||||
|
||||
### Billing services for upgrades, downgrades, and cancellations
|
||||
|
||||
Follow these guidelines for upgrades, downgrades, and cancellations to maintain a clear and consistent billing process. For more detailed instructions about the {% data variables.product.prodname_marketplace %} purchase events, see "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)."
|
||||
Follow these guidelines for upgrades, downgrades, and cancellations to maintain a clear and consistent billing process. For more detailed instructions about the {% data variables.product.prodname_marketplace %} purchase events, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
|
||||
|
||||
You can use the `marketplace_purchase` webhook's `effective_date` key to determine when a plan change will occur and periodically synchronize the [List accounts for a plan](/rest/reference/apps#list-accounts-for-a-plan).
|
||||
|
||||
@@ -33,7 +33,7 @@ When a customer upgrades their pricing plan or changes their billing cycle from
|
||||
|
||||
{% data reusables.marketplace.marketplace-failed-purchase-event %}
|
||||
|
||||
For information about building upgrade and downgrade workflows into your app, see "[Upgrading and downgrading plans](/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/)."
|
||||
For information about building upgrade and downgrade workflows into your app, see "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)."
|
||||
|
||||
#### Downgrades and cancellations
|
||||
|
||||
@@ -45,4 +45,4 @@ When a customer cancels a plan, you must:
|
||||
{% data reusables.marketplace.cancellation-clarification %}
|
||||
- Enable them to upgrade the plan through GitHub if they would like to continue the plan at a later time.
|
||||
|
||||
For information about building cancellation workflows into your app, see "[Cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/)."
|
||||
For information about building cancellation workflows into your app, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)."
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: Customer experience best practices for apps
|
||||
intro: 'Guidelines for creating an app that will be easy to use and understand.'
|
||||
shortTitle: Customer experience best practice
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
If you follow these best practices it will help you to provide a good customer experience.
|
||||
|
||||
### Customer communication
|
||||
|
||||
- Marketing materials for the app should accurately represent the app's behavior.
|
||||
- Apps should include links to user-facing documentation that describe how to set up and use the app.
|
||||
- Customers should be able to see what type of plan they have in the billing, profile, or account settings section of the app.
|
||||
- Customers should be able to install and use your app on both a personal account and an organization account. They should be able to view and manage the app on those accounts separately.
|
||||
|
||||
### Plan management
|
||||
|
||||
{% data reusables.marketplace.marketplace-billing-ui-requirements %}
|
||||
@@ -60,8 +60,8 @@ Once you've created a {% data variables.product.prodname_marketplace %} draft li
|
||||
|
||||
### Submitting your app
|
||||
|
||||
Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, the {% data variables.product.prodname_marketplace %} onboarding team will contact you with additional information about the onboarding process. You can learn more about the onboarding and security review process in "[Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)."
|
||||
Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, an onboarding expert will contact you with additional information about the onboarding process. You can learn more about the onboarding and security review process in "[Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)."
|
||||
|
||||
### Removing a {% data variables.product.prodname_marketplace %} listing
|
||||
|
||||
If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact [marketplace@github.com](mailto:marketplace@github.com) to remove your listing.
|
||||
If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact {% data variables.contact.contact_support %} to remove your listing.
|
||||
|
||||
@@ -28,7 +28,7 @@ GitHub then sends the [`marketplace_purchase`](/webhooks/event-payloads/#marketp
|
||||
|
||||
Read the `effective_date` and `marketplace_purchase` object from the `marketplace_purchase` webhook to determine which plan the customer purchased, when the billing cycle starts, and when the next billing cycle begins.
|
||||
|
||||
If your app offers a free trial, read the `marketplace_purchase[on_free_trial]` attribute from the webhook. If the value is `true`, your app will need to track the free trial start date (`effective_date`) and the date the free trial ends (`free_trial_ends_on`). Use the `free_trial_ends_on` date to display the remaining days left in a free trial in your app's UI. You can do this in either a banner or in your [billing UI](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). To learn how to handle cancellations before a free trial ends, see "[Cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/)." See "[Upgrading and downgrading plans](/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/)" to find out how to transition a free trial to a paid plan when a free trial expires.
|
||||
If your app offers a free trial, read the `marketplace_purchase[on_free_trial]` attribute from the webhook. If the value is `true`, your app will need to track the free trial start date (`effective_date`) and the date the free trial ends (`free_trial_ends_on`). Use the `free_trial_ends_on` date to display the remaining days left in a free trial in your app's UI. You can do this in either a banner or in your [billing UI](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). To learn how to handle cancellations before a free trial ends, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)." See "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)" to find out how to transition a free trial to a paid plan when a free trial expires.
|
||||
|
||||
See "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" for an example of the `marketplace_purchase` event payload.
|
||||
|
||||
|
||||
@@ -11,8 +11,10 @@ versions:
|
||||
|
||||
{% topic_link_in_list /creating-apps-for-github-marketplace %}
|
||||
{% link_in_list /about-github-marketplace %}
|
||||
{% link_in_list /about-verified-creators %}
|
||||
{% link_in_list /requirements-for-listing-an-app %}
|
||||
{% link_in_list /security-review-process-for-submitted-apps %}
|
||||
{% link_in_list /security-best-practices-for-apps %}
|
||||
{% link_in_list /customer-experience-best-practices-for-apps %}
|
||||
{% link_in_list /viewing-metrics-for-your-listing %}
|
||||
{% link_in_list /viewing-transactions-for-your-listing %}
|
||||
{% topic_link_in_list /using-the-github-marketplace-api-in-your-app %}
|
||||
@@ -27,7 +29,7 @@ versions:
|
||||
{% link_in_list /writing-a-listing-description-for-your-app %}
|
||||
{% link_in_list /setting-pricing-plans-for-your-listing %}
|
||||
{% link_in_list /configuring-a-webhook-to-notify-you-of-plan-changes %}
|
||||
{% link_in_list /submitting-your-listing-for-review %}
|
||||
{% link_in_list /submitting-your-listing-for-publication %}
|
||||
{% topic_link_in_list /selling-your-app-on-github-marketplace %}
|
||||
{% link_in_list /pricing-plans-for-github-marketplace-apps %}
|
||||
{% link_in_list /billing-customers %}
|
||||
|
||||
@@ -10,35 +10,45 @@ versions:
|
||||
|
||||
|
||||
|
||||
{% data variables.product.prodname_marketplace %} pricing plans can be free, flat rate, or per-unit, and GitHub lists the price in US dollars. Customers purchase your app using a payment method attached to their {% data variables.product.product_name %} account, without having to leave GitHub.com. You don't have to write code to perform billing transactions, but you will have to handle [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows) for purchase events.
|
||||
{% data variables.product.prodname_marketplace %} pricing plans can be free, flat rate, or per-unit. Prices are set, displayed, and processed in US dollars. Paid plans are restricted to verified listings.
|
||||
|
||||
Customers purchase your app using a payment method attached to their {% data variables.product.product_name %} account, without having to leave {% data variables.product.prodname_dotcom_the_website %}. You don't have to write code to perform billing transactions, but you will have to handle events from the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
|
||||
|
||||
If the app you're listing on {% data variables.product.prodname_marketplace %} has multiple plan options, you can set up corresponding pricing plans. For example, if your app has two plan options, an open source plan and a pro plan, you can set up a free pricing plan for your open source plan and a flat pricing plan for your pro plan. Each {% data variables.product.prodname_marketplace %} listing must have an annual and a monthly price for every plan that's listed.
|
||||
|
||||
For more information on how to create a pricing plan, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)."
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** If you're listing an app on {% data variables.product.prodname_marketplace %}, you can't list your app with a free pricing plan if you offer a paid service outside of {% data variables.product.prodname_marketplace %}.
|
||||
|
||||
{% endnote %}
|
||||
{% data reusables.marketplace.free-plan-note %}
|
||||
|
||||
### Types of pricing plans
|
||||
|
||||
**Free pricing plans** are completely free for users. If you set up a free pricing plan, you cannot charge users that choose the free pricing plan for the use of your app. You can create both free and paid plans for your listing. Unverified free apps do not need to implement any billing flows. Free apps that are verified by Github need to implement billing flows for new purchases and cancellations, but do not need to implement billing flows for free trials, upgrades, and downgrades. If you add a paid plan to an app that you've already listed in {% data variables.product.prodname_marketplace %} as a free service, you'll need to resubmit the app for review.
|
||||
#### Free pricing plans
|
||||
|
||||
**Flat rate pricing plans** charge a set fee on a monthly and yearly basis.
|
||||
{% data reusables.marketplace.free-apps-encouraged %}
|
||||
|
||||
**Per-unit pricing plans** charge a set fee on either a monthly or yearly basis for a unit that you specify. A "unit" can be anything you'd like (for example, a user, seat, or person).
|
||||
Free plans are completely free for users. If you set up a free pricing plan, you cannot charge users that choose the free pricing plan for the use of your app. You can create both free and paid plans for your listing.
|
||||
|
||||
**Marketplace free trials** provide 14-day free trials of OAuth or GitHub Apps to customers. When you [set up a Marketplace pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/), you can select the option to provide a free trial for flat-rate or per-unit pricing plans.
|
||||
All apps need to handle events for new purchases and cancellations. Apps that only have free plans do not need to handle events for free trials, upgrades, and downgrades. For more information, see: "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
|
||||
|
||||
If you add a paid plan to an app that you've already listed in {% data variables.product.prodname_marketplace %} as a free service, you'll need to request verification for the app and go through financial onboarding.
|
||||
|
||||
#### Paid pricing plans
|
||||
|
||||
There are two types of paid pricing plan:
|
||||
|
||||
- Flat rate pricing plans charge a set fee on a monthly and yearly basis.
|
||||
|
||||
- Per-unit pricing plans charge a set fee on either a monthly or yearly basis for a unit that you specify. A "unit" can be anything you'd like (for example, a user, seat, or person).
|
||||
|
||||
You may also want to offer free trials. These provide free, 14-day trials of OAuth or GitHub Apps to customers. When you set up a Marketplace pricing plan, you can select the option to provide a free trial for flat-rate or per-unit pricing plans.
|
||||
|
||||
### Free trials
|
||||
|
||||
Customers can start a free trial for any available paid plan on a Marketplace listing, but will not be able to create more than one free trial for a Marketplace product.
|
||||
Customers can start a free trial for any paid plan on a Marketplace listing that includes free trials. However, customers cannot create more than one free trial per marketplace product.
|
||||
|
||||
Free trials have a fixed length of 14 days. Customers are notified 4 days before the end of their trial period (on day 11 of the free trial) that their plan will be upgraded. At the end of a free trial, customers will be auto-enrolled into the plan they are trialing if they do not cancel.
|
||||
|
||||
See "[New purchases and free trials](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)" for details on how to handle free trials in your app.
|
||||
For more information, see: "[Handling new purchases and free trials](/developers/github-marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)."
|
||||
|
||||
{% note %}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Requirements for listing an app
|
||||
intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before our {% data variables.product.prodname_marketplace %} onboarding specialists will approve the listing.'
|
||||
intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before the listing can be published.'
|
||||
redirect_from:
|
||||
- /apps/adding-integrations/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/
|
||||
- /apps/marketplace/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/
|
||||
@@ -12,49 +12,62 @@ versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
<!--UI-LINK: Displayed as a link on the https://github.com/marketplace/new page.-->
|
||||
|
||||
The requirements for listing an app on {% data variables.product.prodname_marketplace %} vary according to whether you want to offer a free or a paid app.
|
||||
|
||||
Before you submit your app for review, you must read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." You'll accept the terms within your [draft listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/) on {% data variables.product.product_name %}. Once you've submitted your app, one of the {% data variables.product.prodname_marketplace %} onboarding specialists will reach out to you with more information about the onboarding process, and review your app to ensure it meets these requirements:
|
||||
### Requirements for all {% data variables.product.prodname_marketplace %} listings
|
||||
|
||||
### User experience
|
||||
All listings on {% data variables.product.prodname_marketplace %} should be for tools that provide value to the {% data variables.product.product_name %} community. When you submit your listing for publication, you must read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)."
|
||||
|
||||
- {% data variables.product.prodname_github_app %}s should have a minimum of 100 installations.
|
||||
- {% data variables.product.prodname_oauth_app %}s should have a minimum of 200 users.
|
||||
#### User experience requirements for all apps
|
||||
|
||||
All listings should meet the following requirements, regardless of whether they are for a free or paid app.
|
||||
|
||||
- Listings must not actively persuade users away from {% data variables.product.product_name %}.
|
||||
- Listings must include valid contact information for the publisher.
|
||||
- Listings must have a relevant description of the application.
|
||||
- Listings must specify a pricing plan.
|
||||
- Apps must provide value to customers and integrate with the platform in some way beyond authentication.
|
||||
- Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in beta or available by invite only.
|
||||
- Apps cannot actively persuade users away from {% data variables.product.product_name %}.
|
||||
- Marketing materials for the app must accurately represent the app's behavior.
|
||||
- Apps must include links to user-facing documentation that describe how to set up and use the app.
|
||||
- When a customer purchases an app and GitHub redirects them to the app's installation URL, the app must begin the OAuth flow immediately. For details, see "[Handling new purchases and free trials](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/#step-3-authorization)."
|
||||
- Apps must have webhook events set up to notify the publisher of any plan changes or cancellations using the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
|
||||
|
||||
- Customers must be able to install your app and select repositories on both a personal and organization account. They should be able to view and manage those accounts separately.
|
||||
For more information on providing a good customer experience, see "[Customer experience best practices for apps](/developers/github-marketplace/customer-experience-best-practices-for-apps)."
|
||||
|
||||
### Brand and listing
|
||||
#### Brand and listing requirements for all apps
|
||||
|
||||
- Apps that use GitHub logos must follow the "[{% data variables.product.product_name %} Logos and Usage](https://github.com/logos)" guidelines.
|
||||
- Apps that use GitHub logos must follow the {% data variables.product.company_short %} guidelines. For more information, see "[{% data variables.product.company_short %} Logos and Usage](https://github.com/logos)."
|
||||
- Apps must have a logo, feature card, and screenshots images that meet the recommendations provided in "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)."
|
||||
- Listings must include descriptions that are well written and free of grammatical errors. For guidance in writing your listing, see "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)."
|
||||
|
||||
### Sicherheit
|
||||
To protect your customers, we recommend that you also follow security best practices. For more information, see "[Security best practices for apps](/developers/github-marketplace/security-best-practices-for-apps)."
|
||||
|
||||
Apps will go through a security review before being listed on {% data variables.product.prodname_marketplace %}. A successful review will meet the requirements and follow the security best practices listed in "[Security review process](/marketplace/getting-started/security-review-process/)." For information on the review process, contact [marketplace@github.com](mailto:marketplace@github.com).
|
||||
### Considerations for free apps
|
||||
|
||||
### Billing flows
|
||||
{% data reusables.marketplace.free-apps-encouraged %}
|
||||
|
||||
Your app must integrate [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows) using the [{% data variables.product.prodname_marketplace %} webhook event](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/).
|
||||
### Requirements for paid apps
|
||||
|
||||
#### Free apps
|
||||
In addition to the requirements for all apps above, each app that you offer as a paid service on {% data variables.product.prodname_marketplace %} must also meet the following requirements:
|
||||
|
||||
{% data reusables.marketplace.free-apps-encouraged %} If you are listing a free app, you'll need to meet these requirements:
|
||||
- {% data variables.product.prodname_github_app %}s should have a minimum of 100 installations.
|
||||
- {% data variables.product.prodname_oauth_app %}s should have a minimum of 200 users.
|
||||
- All paid apps must handle {% data variables.product.prodname_marketplace %} purchase events for new purchases, upgrades, downgrades, cancellations, and free trials. For more information, see "[Billing requirements for paid apps](#billing-requirements-for-paid-apps)" below.
|
||||
- Publishing organizations must have a verified domain and must enable two-factor authentication. For more information, see "[Requiring two-factor authentication in your organization](/github/setting-up-and-managing-organizations-and-teams/requiring-two-factor-authentication-in-your-organization.")
|
||||
|
||||
- Customers must be able to see that they have a free plan in the billing, profile, or account settings section of the app.
|
||||
- When a customer cancels your app, you must follow the flow for [cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/).
|
||||
When you are ready to publish the app on {% data variables.product.prodname_marketplace %} you must request verification for the listing.
|
||||
|
||||
#### Paid apps
|
||||
{% note %}
|
||||
|
||||
To offer your app as a paid service, you'll need to meet these requirements to list your app on {% data variables.product.prodname_marketplace %}:
|
||||
The verification process is open to organizations. {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
### Billing requirements for paid apps
|
||||
|
||||
Your app does not need to handle payments but does need to use {% data variables.product.prodname_marketplace %} purchase events to manage new purchases, upgrades, downgrades, cancellations, and free trials. For information about how integrate these events into your app, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
|
||||
|
||||
Using GitHub's billing API allows customers to purchase an app without leaving GitHub and to pay for the service with the payment method already attached to their {% data variables.product.product_name %} account.
|
||||
|
||||
- To sell your app in {% data variables.product.prodname_marketplace %}, it must use GitHub's billing system. Your app does not need to handle payments but does need to use "[{% data variables.product.prodname_marketplace %} purchase events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" to manage new purchases, upgrades, downgrades, cancellations, and free trials. See "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)" to learn about how to integrate these events into your app. Using GitHub's billing system allows customers to purchase an app without leaving GitHub and pay for the service with the payment method already attached to their {% data variables.product.product_name %} account.
|
||||
- Apps must support both monthly and annual billing for paid subscriptions purchases.
|
||||
- Listings may offer any combination of free and paid plans. Free plans are optional but encouraged. For more information, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)."
|
||||
{% data reusables.marketplace.marketplace-billing-ui-requirements %}
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: Security best practices for apps
|
||||
intro: 'Guidelines for preparing a secure app to share on {% data variables.product.prodname_marketplace %}.'
|
||||
redirect_from:
|
||||
- /apps/marketplace/getting-started/security-review-process/
|
||||
- /marketplace/getting-started/security-review-process
|
||||
- /developers/github-marketplace/security-review-process-for-submitted-apps
|
||||
shortTitle: Security best practice
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
If you follow these best practices it will help you to provide a secure user experience.
|
||||
|
||||
### Authorization, authentication, and access control
|
||||
|
||||
We recommend creating a GitHub App rather than an OAuth App. {% data reusables.marketplace.github_apps_preferred %}. See "[Differences between GitHub Apps and OAuth Apps](/apps/differences-between-apps/)" for more details.
|
||||
- Apps should use the principle of least privilege and should only request the OAuth scopes and GitHub App permissions that the app needs to perform its intended functionality. For more information, see [Principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) in Wikipedia.
|
||||
- Apps should provide customers with a way to delete their account, without having to email or call a support person.
|
||||
- Apps should not share tokens between different implementations of the app. For example, a desktop app should have a separate token from a web-based app. Individual tokens allow each app to request the access needed for GitHub resources separately.
|
||||
- Design your app with different user roles, depending on the functionality needed by each type of user. For example, a standard user should not have access to admin functionality, and billing managers might not need push access to repository code.
|
||||
- Apps should not share service accounts such as email or database services to manage your SaaS service.
|
||||
- All services used in your app should have unique login and password credentials.
|
||||
- Admin privilege access to the production hosting infrastructure should only be given to engineers and employees with administrative duties.
|
||||
- Apps should not use personal access tokens to authenticate and should authenticate as an [OAuth App](/apps/about-apps/#about-oauth-apps) or a [GitHub App](/apps/about-apps/#about-github-apps):
|
||||
- OAuth Apps should authenticate using an [OAuth token](/apps/building-oauth-apps/authorizing-oauth-apps/).
|
||||
- GitHub Apps should authenticate using either a [JSON Web Token (JWT)](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app), [OAuth token](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/), or [installation access token](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation).
|
||||
|
||||
### Data protection
|
||||
|
||||
- Apps should encrypt data transferred over the public internet using HTTPS, with a valid TLS certificate, or SSH for Git.
|
||||
- Apps should store client ID and client secret keys securely. We recommend storing them as [environmental variables](http://en.wikipedia.org/wiki/Environment_variable#Getting_and_setting_environment_variables).
|
||||
- Apps should delete all GitHub user data within 30 days of receiving a request from the user, or within 30 days of the end of the user's legal relationship with GitHub.
|
||||
- Apps should not require the user to provide their GitHub password.
|
||||
- Apps should encrypt tokens, client IDs, and client secrets.
|
||||
|
||||
### Logging and monitoring
|
||||
|
||||
Apps should have logging and monitoring capabilities. App logs should be retained for at least 30 days and archived for at least one year. A security log should include:
|
||||
|
||||
- Authentication and authorization events
|
||||
- Service configuration changes
|
||||
- Object reads and writes
|
||||
- All user and group permission changes
|
||||
- Elevation of role to admin
|
||||
- Consistent timestamping for each event
|
||||
- Source users, IP addresses, and/or hostnames for all logged actions
|
||||
|
||||
### Incident response workflow
|
||||
|
||||
To provide a secure experience for users, you should have a clear incident response plan in place before listing your app. We recommend having a security and operations incident response team in your company rather than using a third-party vendor. You should have the capability to notify {% data variables.product.product_name %} within 24 hours of a confirmed incident.
|
||||
|
||||
For an example of an incident response workflow, see the "Data Breach Response Policy" on the [SANS Institute website](https://www.sans.org/information-security-policy/). A short document with clear steps to take in the event of an incident is more valuable than a lengthy policy template.
|
||||
|
||||
### Vulnerability management and patching workflow
|
||||
|
||||
You should conduct regular vulnerability scans of production infrastructure. You should triage the results of vulnerability scans and define a period of time in which you agree to remediate the vulnerability.
|
||||
|
||||
If you are not ready to set up a full vulnerability management program, it's useful to start by creating a patching process. For guidance in creating a patch management policy, see this TechRepublic article "[Establish a patch management policy](https://www.techrepublic.com/blog/it-security/establish-a-patch-management-policy-87756/)."
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Setting pricing plans for your listing
|
||||
intro: 'When [listing your app on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/), you can choose to provide your app as a free service or sell your app. If you plan to sell your app, you can create different pricing plans for different feature tiers.'
|
||||
intro: 'When you list your app on {% data variables.product.prodname_marketplace %}, you can choose to provide your app as a free service or sell your app. If you plan to sell your app, you can create different pricing plans for different feature tiers.'
|
||||
redirect_from:
|
||||
- /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/
|
||||
- /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/
|
||||
@@ -17,57 +17,52 @@ versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### About setting pricing plans
|
||||
|
||||
If you want to sell an app on {% data variables.product.prodname_marketplace %}, you need to request verification when you publish the listing for your app. During the verification process, an onboarding expert checks the organization's identity and security settings. The onboarding expert will also take the organization through financial onboarding. For more information, see: "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)."
|
||||
|
||||
{% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)."
|
||||
|
||||
{% data variables.product.prodname_marketplace %} offers several different types of pricing plan. For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)."
|
||||
|
||||
### About saving pricing plans
|
||||
|
||||
You can save pricing plans in a draft or published state. If you haven't submitted your {% data variables.product.prodname_marketplace %} listing for approval, a published plan will function in the same way as a draft plan until your listing is approved and shown on {% data variables.product.prodname_marketplace %}. Draft plans allow you to create and save new pricing plans without making them available on your {% data variables.product.prodname_marketplace %} listing page. Once you publish a pricing plan on a published listing, it's available for customers to purchase immediately. You can publish up to 10 pricing plans.
|
||||
|
||||
For guidelines on billing customers, see "[Billing customers](/developers/github-marketplace/billing-customers)."
|
||||
|
||||
### Creating pricing plans
|
||||
|
||||
To learn about the types of pricing plans that {% data variables.product.prodname_marketplace %} offers, see "[{% data variables.product.prodname_marketplace %} Pricing Plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." You'll also find helpful billing guidelines in "[Selling your app](/marketplace/selling-your-app/)."
|
||||
|
||||
Pricing plans can be in the draft or published state. If you haven't submitted your {% data variables.product.prodname_marketplace %} listing for approval, a published listing will function the same way as draft listings until your app is approved and listed on {% data variables.product.prodname_marketplace %}. Draft listings allow you to create and save new pricing plans without making them available on your {% data variables.product.prodname_marketplace %} listing page. Once you publish the pricing plan, it's available for customers to purchase immediately. You can publish up to 10 pricing plans.
|
||||
|
||||
To create a pricing plan for your {% data variables.product.prodname_marketplace %} listing, click **Plans and pricing** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). If you haven't created a {% data variables.product.prodname_marketplace %} listing yet, read "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)" to learn how.
|
||||
To create a pricing plan for your {% data variables.product.prodname_marketplace %} listing, click **Plans and pricing** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). For more information, see "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)."
|
||||
|
||||
When you click **New draft plan**, you'll see a form that allows you to customize your pricing plan. You'll need to configure the following fields to create a pricing plan:
|
||||
|
||||
#### Plan name
|
||||
- **Plan name** - Your pricing plan's name will appear on your {% data variables.product.prodname_marketplace %} app's landing page. You can customize the name of your pricing plan to align with the plan's resources, the size of the company that will use the plan, or anything you'd like.
|
||||
|
||||
Your pricing plan's name will appear on your {% data variables.product.prodname_marketplace %} app's landing page. You can customize the name of your pricing plan to align to the plan's resources, the size of the company that will use the plan, or anything you'd like.
|
||||
- **Pricing models** - There are three types of pricing plan: free, flat-rate, and per-unit. All plans require you to process new purchase and cancellation events from the marketplace API. In addition, for paid plans:
|
||||
|
||||
#### Pricing models
|
||||
- You must set a price for both monthly and yearly subscriptions in US dollars.
|
||||
- Your app must process plan change events.
|
||||
- You must request verification to publish a listing with a paid plan.
|
||||
- {% data reusables.marketplace.marketplace-pricing-free-trials %}
|
||||
|
||||
##### Free plans
|
||||
For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %} apps](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
|
||||
|
||||
{% data reusables.marketplace.free-apps-encouraged %} A free plan still requires you to handle [new purchase](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/) and [cancellation](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/) billing flows. See "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)" for more details.
|
||||
- **Available for** - {% data variables.product.prodname_marketplace %} pricing plans can apply to **Personal and organization accounts**, **Personal accounts only**, or **Organization accounts only**. For example, if your pricing plan is per-unit and provides multiple seats, you would select **Organization accounts only** because there is no way to assign seats to people in an organization from a personal account.
|
||||
|
||||
##### Flat-rate plans
|
||||
- **Short description** - Write a brief summary of the details of the pricing plan. The description might include the type of customer the plan is intended for or the resources the plan includes.
|
||||
|
||||
Flat-rate pricing plans allow you to offer your service to customers for a flat-rate fee. {% data reusables.marketplace.marketplace-pricing-free-trials %}
|
||||
- **Bullets** - You can write up to four bullets that include more details about your pricing plan. The bullets might include the use cases of your app or list more detailed information about the resources or features included in the plan.
|
||||
|
||||
You must set a price for both monthly and yearly subscriptions in U.S. Dollars for flat-rate plans. Dollars for flat-rate plans.
|
||||
|
||||
##### Per-unit plans
|
||||
|
||||
Per-unit pricing allows you to offer your app in units. For example, a unit can be a person, seat, or user. You'll need to provide a name for the unit and set a price for both monthly and yearly subscriptions, in U.S. Dollars. Dollars.
|
||||
|
||||
#### Available for
|
||||
|
||||
{% data variables.product.prodname_marketplace %} pricing plans can apply to **Personal and organization accounts**, **Personal accounts only**, or **Organization accounts only**. For example, if your pricing plan is per-unit and provides multiple seats, you would select **Organization accounts only** because there is no way to assign seats to people in an organization from a personal account.
|
||||
|
||||
#### Short description
|
||||
|
||||
Write a brief summary of the details of the pricing plan. The description might include the type of customer the plan is intended for or the resources the plan includes.
|
||||
|
||||
#### Bullets
|
||||
|
||||
You can write up to four bullets that include more details about your pricing plan. The bullets might include the use cases of your app or list more detailed information about the resources or features included in the plan.
|
||||
{% data reusables.marketplace.free-plan-note %}
|
||||
|
||||
### Changing a {% data variables.product.prodname_marketplace %} listing's pricing plan
|
||||
|
||||
If a pricing plan for your {% data variables.product.prodname_marketplace %} plan is no longer needed or if you need to adjust pricing details, you can remove it.
|
||||
If a pricing plan for your {% data variables.product.prodname_marketplace %} listing is no longer needed, or if you need to adjust pricing details, you can remove it.
|
||||
|
||||

|
||||
|
||||
Once you publish a pricing plan for an app already listed in the {% data variables.product.prodname_marketplace %}, you can't make changes to the plan. Instead, you'll need to remove the pricing plan. Customers who already purchased the removed pricing plan will continue to use it until they opt out and move onto a new pricing plan. For more on pricing plans, see "[{% data variables.product.prodname_marketplace %} pricing plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)."
|
||||
Once you publish a pricing plan for an app that is already listed in {% data variables.product.prodname_marketplace %}, you can't make changes to the plan. Instead, you'll need to remove the pricing plan and create a new plan. Customers who already purchased the removed pricing plan will continue to use it until they opt out and move onto a new pricing plan. For more on pricing plans, see "[{% data variables.product.prodname_marketplace %} pricing plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)."
|
||||
|
||||
Once you remove a pricing plan, users won't be able to purchase your app using that plan. Existing users on the removed pricing plan will continue to stay on the plan until they cancel their plan subscription.
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: Submitting your listing for publication
|
||||
intro: 'You can submit your listing for the {% data variables.product.prodname_dotcom %} community to use.'
|
||||
redirect_from:
|
||||
- /marketplace/listing-on-github-marketplace/submitting-your-listing-for-review
|
||||
- /developers/github-marketplace/submitting-your-listing-for-review
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
|
||||
|
||||
Once you've completed the listing for your app, you'll see two buttons that allow you to request publication of the listing with or without verification. The **Request** button for "Publish without verification" is disabled if you have published any paid pricing plans in the listing.
|
||||
|
||||

|
||||
|
||||
{% data reusables.marketplace.launch-with-free %}
|
||||
|
||||
After you submit your listing for review, an onboarding expert will reach out to you with additional information.
|
||||
|
||||
For an overview of the process for creating and submitting a listing, see "[About {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/about-github-marketplace#publishing-an-app-to-github-marketplace)."
|
||||
|
||||
### Prerequisites for publishing with verification
|
||||
|
||||
Before you request verification of your listing, you'll need to integrate the {% data variables.product.prodname_marketplace %} billing flows and webhook into your app. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
|
||||
|
||||
If you've met the requirements for listing and you've integrated with the {% data variables.product.prodname_marketplace %} API, go ahead and submit your listing. For more information, see "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app)."
|
||||
|
||||
{% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Transferring an app to an organization before you submit](#transferring-an-app-to-an-organization-before-you-submit)" below.
|
||||
|
||||
### Transferring an app to an organization before you submit
|
||||
|
||||
You cannot sell an app that's owned by a user account. You need to transfer the app to an organization that is already a verified creator, or that can request verification for a listing for the app. For details, see:
|
||||
|
||||
1. "[Creating an organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)"
|
||||
|
||||
1. "[Transferring ownership of a GitHub App](/developers/apps/transferring-ownership-of-a-github-app)" or "[Transferring ownership of an OAuth App](/developers/apps/transferring-ownership-of-an-oauth-app)"
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Testing your app
|
||||
intro: 'GitHub recommends testing your app with APIs and webhooks before submitting your listing to {% data variables.product.prodname_marketplace %} so you can provide an ideal experience for customers. Before the {% data variables.product.prodname_marketplace %} onboarding team approves your app, it must adequately handle the [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows).'
|
||||
intro: 'GitHub recommends testing your app with APIs and webhooks before submitting your listing to {% data variables.product.prodname_marketplace %} so you can provide an ideal experience for customers. Before an onboarding expert approves your app, it must adequately handle the billing flows.'
|
||||
redirect_from:
|
||||
- /apps/marketplace/testing-apps-apis-and-webhooks/
|
||||
- /apps/marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps/
|
||||
@@ -13,7 +13,7 @@ versions:
|
||||
|
||||
### Testing apps
|
||||
|
||||
You can use a [draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/) to simulate each of the [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows). A listing in the draft state means that it has not been submitted for approval. Any purchases you make using a draft {% data variables.product.prodname_marketplace %} listing will _not_ create real transactions, and GitHub will not charge your credit card.
|
||||
You can use a draft {% data variables.product.prodname_marketplace %} listing to simulate each of the billing flows. A listing in the draft state means that it has not been submitted for approval. Any purchases you make using a draft {% data variables.product.prodname_marketplace %} listing will _not_ create real transactions, and GitHub will not charge your credit card. For more information, see "[Drafting a listing for your app](/developers/github-marketplace/drafting-a-listing-for-your-app)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)."
|
||||
|
||||
#### Using a development app with a draft listing to test changes
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Webhook events for the GitHub Marketplace API
|
||||
intro: 'A {% data variables.product.prodname_marketplace %} app receives information about changes to a user''s plan from the Marketplace purchase event webhook. A Marketplace purchase event is triggered when a user purchases, cancels, or changes their payment plan. For details on how to respond to each of these types of events, see "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)."'
|
||||
intro: 'A {% data variables.product.prodname_marketplace %} app receives information about changes to a user''s plan from the Marketplace purchase event webhook. A Marketplace purchase event is triggered when a user purchases, cancels, or changes their payment plan.'
|
||||
redirect_from:
|
||||
- /apps/marketplace/setting-up-github-marketplace-webhooks/about-webhook-payloads-for-a-github-marketplace-listing/
|
||||
- /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/
|
||||
|
||||
@@ -9,11 +9,7 @@ versions:
|
||||
github-ae: '*'
|
||||
---
|
||||
|
||||
There are two stable versions of the GitHub API: the [REST API](/rest) and the [GraphQL API](/graphql).
|
||||
|
||||
When using the REST API, we encourage you to [request v3 via the `Accept` header](/rest/overview/media-types#request-specific-version).
|
||||
|
||||
For information on using the GraphQL API, see the [v4 docs](/graphql).
|
||||
There are two stable versions of the GitHub API: the [REST API](/rest) and the [GraphQL API](/graphql). When using the REST API, we encourage you to [request v3 via the `Accept` header](/v3/media/#request-specific-version). For information on using the GraphQL API, see the [v4 docs](/graphql).
|
||||
|
||||
## Deprecated versions
|
||||
|
||||
|
||||
@@ -145,7 +145,7 @@ Also, the `User-Agent` for the requests will have the prefix `GitHub-Hookshot/`.
|
||||
|
||||
{{ webhookPayloadsForCurrentVersion.check_suite.completed }}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}
|
||||
### code_scanning_alert
|
||||
|
||||
{% data reusables.webhooks.code_scanning_alert_event_short_desc %}
|
||||
@@ -445,7 +445,7 @@ When someone revokes their authorization of a {% data variables.product.prodname
|
||||
#### Webhook payload object
|
||||
|
||||
{% data reusables.webhooks.installation_properties %}
|
||||
{% data reusables.webhooks.app_desc %}
|
||||
{% data reusables.webhooks.app_always_desc %}
|
||||
{% data reusables.webhooks.sender_desc %}
|
||||
|
||||
#### Webhook payload example
|
||||
@@ -469,7 +469,7 @@ When someone revokes their authorization of a {% data variables.product.prodname
|
||||
#### Webhook payload object
|
||||
|
||||
{% data reusables.webhooks.installation_repositories_properties %}
|
||||
{% data reusables.webhooks.app_desc %}
|
||||
{% data reusables.webhooks.app_always_desc %}
|
||||
{% data reusables.webhooks.sender_desc %}
|
||||
|
||||
#### Webhook payload example
|
||||
@@ -1047,7 +1047,7 @@ This event occurs when a {% data variables.product.prodname_github_app %} sends
|
||||
|
||||
| Schlüssel | Typ | Beschreibung |
|
||||
| --------- | -------- | -------------------------------------------------------------------------------- |
|
||||
| `action` | `string` | die Aktion, die durchgeführt wurde. This can be one of:<ul><li>`created` - A repository is created.</li><li>`deleted` - A repository is deleted. This event type is only available to [organization hooks](/rest/reference/orgs#webhooks/)</li><li>`archived` - A repository is archived.</li><li>`unarchived` - A repository is unarchived.</li>{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}<li>`anonymous_access_enabled` - A repository is [enabled for anonymous Git access](/rest/overview/api-previews#anonymous-git-access-to-repositories), `anonymous_access_disabled` - A repository is [disabled for anonymous Git access](/rest/overview/api-previews#anonymous-git-access-to-repositories)</li>{% endif %}<li>`edited` - A repository's information is edited.</li><li>`renamed` - A repository is renamed.</li><li>`transferred` - A repository is transferred.</li><li>`publicized` - A repository is made public.</li><li> `privatized` - A repository is made private.</li></ul> |
|
||||
| `action` | `string` | die Aktion, die durchgeführt wurde. This can be one of:<ul><li>`created` - A repository is created.</li><li>`deleted` - A repository is deleted.</li><li>`archived` - A repository is archived.</li><li>`unarchived` - A repository is unarchived.</li>{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}<li>`anonymous_access_enabled` - A repository is [enabled for anonymous Git access](/rest/overview/api-previews#anonymous-git-access-to-repositories), `anonymous_access_disabled` - A repository is [disabled for anonymous Git access](/rest/overview/api-previews#anonymous-git-access-to-repositories)</li>{% endif %}<li>`edited` - A repository's information is edited.</li><li>`renamed` - A repository is renamed.</li><li>`transferred` - A repository is transferred.</li><li>`publicized` - A repository is made public.</li><li> `privatized` - A repository is made private.</li></ul> |
|
||||
{% data reusables.webhooks.repo_desc %}
|
||||
{% data reusables.webhooks.org_desc %}
|
||||
{% data reusables.webhooks.app_desc %}
|
||||
@@ -1100,6 +1100,31 @@ This event occurs when a {% data variables.product.prodname_github_app %} sends
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}
|
||||
|
||||
### secret_scanning_alert
|
||||
|
||||
{% data reusables.webhooks.secret_scanning_alert_event_short_desc %}
|
||||
|
||||
#### Availability
|
||||
|
||||
- Repository webhooks
|
||||
- Organization webhooks
|
||||
- {% data variables.product.prodname_github_app %}s with the `secret_scanning_alerts:read` permission
|
||||
|
||||
#### Webhook payload object
|
||||
|
||||
{% data reusables.webhooks.secret_scanning_alert_event_properties %}
|
||||
{% data reusables.webhooks.repo_desc %}
|
||||
{% data reusables.webhooks.org_desc %}
|
||||
{% data reusables.webhooks.app_desc %}
|
||||
`sender` | `object` | If the `action` is `resolved` or `reopened`, the `sender` object will be the user that triggered the event. The `sender` object is empty for all other actions.
|
||||
|
||||
#### Webhook payload example
|
||||
|
||||
{{ webhookPayloadsForCurrentVersion.secret_scanning_alert.reopened }}
|
||||
{% endif %}
|
||||
|
||||
### security_advisory
|
||||
|
||||
Activity related to a security advisory. A security advisory provides information about security-related vulnerabilities in software on GitHub. The security advisory dataset also powers the GitHub security alerts, see "[About security alerts for vulnerable dependencies](/articles/about-security-alerts-for-vulnerable-dependencies/)."
|
||||
@@ -1305,7 +1330,7 @@ This event occurs when someone triggers a workflow run on GitHub or sends a `POS
|
||||
{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}
|
||||
### workflow_run
|
||||
|
||||
When a {% data variables.product.prodname_actions %} workflow run is requested or completed. For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_run)."
|
||||
When a {% data variables.product.prodname_actions %} workflow run is requested or completed. Weitere Informationen findest Du unter "[Ereignisse, die Workflows auslösen](/actions/reference/events-that-trigger-workflows#workflow_run)."
|
||||
|
||||
#### Availability
|
||||
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: About discussions
|
||||
intro: Use discussions to ask and answer questions, share information, make announcements, and conduct or participate in a conversation about a project on {% data variables.product.product_name %}.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### About discussions
|
||||
|
||||
With {% data variables.product.prodname_discussions %}, the community for your project can create and participate in conversations within the project's repository. Discussions empower a project's maintainers, contributors, and visitors to gather and accomplish the following goals in a central location, without third-party tools.
|
||||
|
||||
- Share announcements and information, gather feedback, plan, and make decisions
|
||||
- Ask questions, discuss and answer the questions, and mark the discussions as answered
|
||||
- Foster an inviting atmosphere for visitors and contributors to discuss goals, development, administration, and workflows
|
||||
|
||||

|
||||
|
||||
You don't need to close a discussion like you close an issue or a pull request.
|
||||
|
||||
If a repository administrator or project maintainer enables discussions for a repository, anyone who visits the repository can create and participate in discussions for the repository. Repository administrators and project maintainers can manage discussions and discussion categories in a repository, and pin discussions to increase the visibility of the discussion. Moderators and collaborators can mark comments as answers, lock discussions, and convert issues to discussions. Weitere Informationen findest Du unter„[Berechtigungsebenen für die Repositorys einer Organisation](/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization).“
|
||||
|
||||
For more information about management of discussions for your repository, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)."
|
||||
|
||||
### About categories and formats for discussions
|
||||
|
||||
{% data reusables.discussions.you-can-categorize-discussions %} {% data reusables.discussions.about-categories-and-formats %} {% data reusables.discussions.repository-category-limit %}
|
||||
|
||||
For discussions with a question/answer format, an individual comment within the discussion can be marked as the discussion's answer. {% data reusables.discussions.github-recognizes-members %}
|
||||
|
||||
For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)."
|
||||
|
||||
### Best practices for discussions
|
||||
|
||||
As a community member or maintainer, start a discussion to ask a question or discuss information that affects the community. For more information, see "[Collaborating with maintainers using discussions](/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions)."
|
||||
|
||||
Participate in a discussion to ask and answer questions, provide feedback, and engage with the project's community. For more information, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)."
|
||||
|
||||
You can spotlight discussions that contain important, useful, or exemplary conversations among members in the community. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)."
|
||||
|
||||
{% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions in your repository](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion)."
|
||||
|
||||
### Feedback teilen
|
||||
|
||||
You can share your feedback about {% data variables.product.prodname_discussions %} with {% data variables.product.company_short %}. To join the conversation, see [`github/feedback`](https://github.com/github/feedback/discussions?discussions_q=category%3A%22Discussions+Feedback%22).
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)"
|
||||
- "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)"
|
||||
- „[Über Benachrichtigungen](/github/managing-subscriptions-and-notifications-on-github/about-notifications)"
|
||||
- „[Kommentare und Unterhaltungen moderieren](/github/building-a-strong-community/moderating-comments-and-conversations)“
|
||||
- „[Deine Sicherheit auf {% data variables.product.prodname_dotcom %} aufrechterhalten](/github/building-a-strong-community/maintaining-your-safety-on-github)"
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: Collaborating with maintainers using discussions
|
||||
shortTitle: Collaborating with maintainers
|
||||
intro: You can contribute to the goals, plans, health, and community for a project on {% data variables.product.product_name %} by communicating with the maintainers of the project in a discussion.
|
||||
permissions: People with read permissions to a repository can start and participate in discussions in the repository.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### About collaboration with maintainers using discussions
|
||||
|
||||
{% data reusables.discussions.about-discussions %} If you use or contribute to a project, you can start a discussion to make suggestions and engage with maintainers and community members about your plans, questions, ideas, and feedback. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)."
|
||||
|
||||
{% data reusables.discussions.about-categories-and-formats %} Repository administrators and project maintainers can delete a discussion. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#deleting-a-discussion)."
|
||||
|
||||
{% data reusables.discussions.github-recognizes-members %} These members appear in a list of the most helpful contributors to the project's discussions. As your project grows, you can grant higher access permissions to active members of your community. For more information, see "[Granting higher permissions to top contributors](/discussions/guides/granting-higher-permissions-to-top-contributors)"
|
||||
|
||||

|
||||
|
||||
For more information about participation in discussions, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)."
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
To collaborate with maintainers using discussions, a repository administrator or project maintainer must enable discussions for the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)."
|
||||
|
||||
### Starting a discussion
|
||||
|
||||
{% data reusables.discussions.starting-a-discussion %}
|
||||
|
||||
### Filtering the list of discussions
|
||||
|
||||
You can search for discussions and filter the list of discussions in a repository. For more information, see "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)."
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
1. In the **Search all discussions** field, type a search query. Optionally, to the right of the search field, click a button to further filter the results. 
|
||||
1. In the list of discussions, click the discussion you want to view. 
|
||||
|
||||
### Converting an issue to a discussion
|
||||
|
||||
{% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions in your repository](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion#converting-an-issue-to-a-discussion)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)"
|
||||
- „[Deine Sicherheit auf {% data variables.product.prodname_dotcom %} aufrechterhalten](/github/building-a-strong-community/maintaining-your-safety-on-github)"
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
title: Collaborating with your community using discussions
|
||||
shortTitle: Collaborating using discussions
|
||||
intro: Gather and discuss your project with community members and other maintainers.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
{% link_in_list /about-discussions %}
|
||||
{% link_in_list /participating-in-a-discussion %}
|
||||
{% link_in_list /collaborating-with-maintainers-using-discussions %}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: Participating in a discussion
|
||||
intro: You can converse with the community and maintainers in a forum within the repository for a project on {% data variables.product.product_name %}.
|
||||
permissions: People with read permissions to a repository can participate in discussions in the repository.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### About participation in a discussion
|
||||
|
||||
{% data reusables.discussions.about-discussions %} For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)."
|
||||
|
||||
In addition to starting or viewing a discussion, you can comment in response to the original comment from the author of the discussion. You can also create a comment thread by replying to an individual comment that another community member made within the discussion, and react to comments with emoji. For more information about reactions, see "[About conversations on {% data variables.product.prodname_dotcom %}](/github/collaborating-with-issues-and-pull-requests/about-conversations-on-github#reacting-to-ideas-in-comments)."
|
||||
|
||||
You can block users and report disruptive content to maintain a safe and pleasant environment for yourself on {% data variables.product.product_name %}. For more information, see "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)."
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
Discussions must be enabled for the repository for you to participate in a discussion in the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)."
|
||||
|
||||
### Creating a discussion
|
||||
|
||||
{% data reusables.discussions.starting-a-discussion %}
|
||||
|
||||
### Marking a comment as an answer
|
||||
|
||||
Discussion authors and users with the triage role or greater for a repository can mark a comment as the answer to a discussion in the repository.
|
||||
|
||||
{% data reusables.discussions.marking-a-comment-as-an-answer %}
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: Best practices for community conversations on GitHub
|
||||
shortTitle: Best practices for community conversations
|
||||
intro: 'You can use discussions to brainstorm with your team, and eventually move the conversation to a discussion when you are ready to scope out the work.'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### Community conversations in {% data variables.product.prodname_discussions %}
|
||||
|
||||
Since {% data variables.product.prodname_discussions %} is an open forum, there is an opportunity to bring non-code collaboration into a project's repository and gather diverse feedback and ideas more quickly. You can help drive a productive conversation by:
|
||||
|
||||
- Asking pointed questions and follow-up questions to garner specific feedback
|
||||
- Capture a diverse experience and distill it down to main points
|
||||
- Open an issue to take action based on the conversation, where applicable
|
||||
|
||||
For more information about opening an issue and cross-referencing a discussion, see "[Opening an issue from a comment](/github/managing-your-work-on-github/opening-an-issue-from-a-comment)."
|
||||
|
||||
### Learning about conversations on GitHub
|
||||
|
||||
You can create and participate in discussions, issues, and pull requests, depending on the type of conversation you'd like to have.
|
||||
|
||||
You can use {% data variables.product.prodname_discussions %} to discuss big picture ideas, brainstorm, and spike out a project's specific details before committing it to an issue, which can then be scoped. Discussions are useful for teams if:
|
||||
- You are in the discovery phase of a project and are still learning which director your team wants to go in
|
||||
- You want to collect feedback from a wider community about a project
|
||||
- You want to keep bug fixes, feature requests, and general conversations separate
|
||||
|
||||
Issues sind nützlich bei der Diskussion spezifischer Details eines Projekts, beispielsweise Fehlerberichte und geplante Verbesserungen. Weitere Informationen findest Du unter „[Informationen zu Issues](/articles/about-issues).“ Mit Pull Requests kannst Du Änderungsvorschläge direkt kommentieren. Weitere Informationen findest Du unter „[Informationen zu Pull Requests](/articles/about-pull-requests)“ und „[Pull Requests kommentieren](/articles/commenting-on-a-pull-request).“
|
||||
|
||||
{% data reusables.organizations.team-discussions-purpose %} Weitere Informationen findest Du unter „[Informationen zu Teamdiskussionen](/articles/about-team-discussions).“
|
||||
|
||||
### Following contributing guidelines
|
||||
|
||||
Before you open a discussion, check to see if the repository has contributing guidelines. The CONTRIBUTING file includes information about how the repository maintainer would like you to contribute ideas to the project.
|
||||
|
||||
Weitere Informationen findest Du unter „[Dein Projekt für förderliche Beiträge einrichten](/github/building-a-strong-community/setting-up-your-project-for-healthy-contributions)."
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
To continue learning about {% data variables.product.prodname_discussions %} and quickly create a discussion for your community, see "[Quickstart for {% data variables.product.prodname_discussions %}](/discussions/quickstart)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- „[Dein Projekt für sinnvolle Beiträge einrichten](/articles/setting-up-your-project-for-healthy-contributions)“
|
||||
- „[Vorlagen benutzen, um hilfreiche Issues und Pull Requests zu ermutigen](/github/building-a-strong-community/using-templates-to-encourage-useful-issues-and-pull-requests)"
|
||||
- „[Kommentare und Unterhaltungen moderieren](/articles/moderating-comments-and-conversations)“
|
||||
- „[Auf {% data variables.product.prodname_dotcom %} schreiben](/articles/writing-on-github)“
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: Finding discussions across multiple repositories
|
||||
intro: 'You can easily access every discussion you''ve created or participated in across multiple repositories.'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### Finding discussions
|
||||
|
||||
1. Navigieren Sie zu {% data variables.product.prodname_dotcom_the_website %}
|
||||
1. In the top-right corner of {% data variables.product.prodname_dotcom_the_website %}, click your profile photo, then click **Your discussions**. 
|
||||
1. Toggle between **Created** and **Commented** to see the discussions you've created or participated in.
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)"
|
||||
- "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)"
|
||||
- "[Managing discussions for your community](/discussions/managing-discussions-for-your-community)"
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: Granting higher permissions to top contributors
|
||||
intro: 'Repository administrators can promote any community member to a moderator and maintainer.'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
The most helpful contributors for the past 30 days are highlighted on the {% data variables.product.prodname_discussions %} dashboard, based on how many comments were marked as answers by other community members. Helpful contributors can help drive a healthy community and moderate and guide the community space in addition to maintainers.
|
||||
|
||||
### Step 1: Audit your discussions top contributors
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
1. Compare the list of contributors with their access permissions to see who qualifies to moderate the discussion.
|
||||
|
||||
### Step 2: Review permission levels for discussions
|
||||
|
||||
People with triage permissions for a repository can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)."
|
||||
|
||||
For more information about repository permission levels and {% data variables.product.prodname_discussions %}, see "[Repository permissions levels for an organization](/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization)."
|
||||
|
||||
### Step 3: Change permissions levels for top contributors
|
||||
|
||||
You can change a contributor's permission levels to give them more access to the tooling they need to moderate GitHub Discussions. To change a person's or team's permission levels, see "[Managing teams and people with access to your repository](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository)."
|
||||
|
||||
### Step 4: Notify community members of elevated access
|
||||
|
||||
When you change a collaborators permission level, they will receive a notification for the change.
|
||||
31
translations/de-DE/content/discussions/guides/index.md
Normal file
31
translations/de-DE/content/discussions/guides/index.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: Discussions guides
|
||||
shortTitle: Leitfäden
|
||||
intro: 'Discover pathways to get started or learn best practices for participating or monitoring your community''s discussions.'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### Getting started with discussions
|
||||
|
||||
{% link_in_list /about-discussions %}
|
||||
{% link_in_list /best-practices-for-community-conversations-on-github %}
|
||||
{% link_in_list /finding-discussions-across-multiple-repositories %} <!--
|
||||
{% link_in_list /managing-notifications-for-discussions %} -->
|
||||
|
||||
### Administering discussions
|
||||
|
||||
{% link_in_list /granting-higher-permissions-to-top-contributors %}
|
||||
|
||||
<!--<!-- Commenting out what is only nice to have for discussions release
|
||||
{% link_in_list /updating-your-contributing-guidelines-with-discussions %}
|
||||
-->
|
||||
|
||||
|
||||
<!--
|
||||
### Discussions and open source projects
|
||||
{% link_in_list /collaborating-on-open-source-projects-in-discussions %}
|
||||
{% link_in_list /welcoming-contributions-to-your-communitys-discussions %}
|
||||
-->
|
||||
55
translations/de-DE/content/discussions/index.md
Normal file
55
translations/de-DE/content/discussions/index.md
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
title: GitHub Discussions Documentation
|
||||
beta_product: true
|
||||
shortTitle: GitHub Discussions
|
||||
intro: '{% data variables.product.prodname_discussions %} is a collaborative communication forum for the community around an open source project. Community members can ask and answer questions, share updates, have open-ended conversations, and follow along on decisions affecting the community''s way of working.'
|
||||
introLinks:
|
||||
quickstart: /discussions/quickstart
|
||||
featuredLinks:
|
||||
guides:
|
||||
- /discussions/collaborating-with-your-community-using-discussions/about-discussions
|
||||
- /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion
|
||||
- /discussions/managing-discussions-for-your-community/moderating-discussions
|
||||
gettingStarted:
|
||||
- /discussions/quickstart
|
||||
guideCards:
|
||||
- /discussions/collaborating-with-your-community-using-discussions/about-discussions
|
||||
- /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion
|
||||
- /discussions/managing-discussions-for-your-community/moderating-discussions
|
||||
popular:
|
||||
- /discussions/guides/granting-higher-permissions-to-top-contributors
|
||||
- /discussions/guides/best-practices-for-community-conversations-on-github
|
||||
- /discussions/guides/finding-discussions-across-multiple-repositories
|
||||
- /discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions
|
||||
- /discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository
|
||||
product_video: https://www.youtube-nocookie.com/embed/DbTWBP3_RbM
|
||||
layout: product-landing
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
<!-- {% link_with_intro /quickstart %} -->
|
||||
<!-- {% link_with_intro /discussions-guides %} -->
|
||||
<!-- {% link_with_intro /collaborating-with-your-community-using-discussions %} -->
|
||||
<!-- {% link_with_intro /managing-discussions-for-your-community %} -->
|
||||
|
||||
<!-- Community examples -->
|
||||
{% assign discussionsCommunityExamples = site.data.variables.discussions_community_examples %}
|
||||
{% if discussionsCommunityExamples %}
|
||||
<div class="my-6 pt-6">
|
||||
<h2 class="mb-2 font-mktg h1">Communities using discussions</h2>
|
||||
|
||||
<div class="d-flex flex-wrap gutter">
|
||||
{% render 'discussions-community-card' for discussionsCommunityExamples as example %}
|
||||
</div>
|
||||
{% if discussionsCommunityExamples.length > 6 %}
|
||||
<button class="js-filter-card-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button>
|
||||
{% endif %}
|
||||
<div class="js-filter-card-no-results d-none py-4 text-center text-gray font-mktg">
|
||||
<div class="mb-3">{% octicon "search" width="24" %}</div>
|
||||
<h3 class="text-normal">Sorry, there is no result for <strong class="js-filter-card-value"></strong></h3>
|
||||
<p class="my-3 f4">It looks like we don't have an example that fits your filter.<br>Try another filter or add your code example</p>
|
||||
<a href="https://github.com/github/docs/blob/main/data/variables/discussions_community_examples.yml">Add your community {% octicon "arrow-right" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: Managing discussions for your community
|
||||
shortTitle: Managing discussions
|
||||
intro: 'You can enable and configure discussions for your repository, and you can use tools on {% data variables.product.product_name %} to moderate conversations among community members.'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
{% link_in_list /managing-discussions-in-your-repository %}
|
||||
{% link_in_list /managing-categories-for-discussions-in-your-repository %}
|
||||
{% link_in_list /moderating-discussions %}
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
title: Managing categories for discussions in your repository
|
||||
intro: You can categorize the discussions in your repository to organize conversations for your community members, and you can choose a format for each category.
|
||||
permissions: Repository administrators and people with write or greater access to a repository can enable discussions in the repository.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### About categories for discussions
|
||||
|
||||
{% data reusables.discussions.about-discussions %} {% data reusables.discussions.about-categories-and-formats %}
|
||||
|
||||
Each category must have a unique name and emoji pairing, and can be accompanied by a detailed description stating its purpose. Categories help maintainers organize how conversations are filed and are customizable to help distinguish categories that are Q&A or more open-ended conversations.{% data reusables.discussions.repository-category-limit %}
|
||||
|
||||
For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)."
|
||||
|
||||
### Default categories
|
||||
|
||||
| Kategorie | Purpose | Typ |
|
||||
|:--------------- |:-------------------------------------------------------------------- |:--------------------- |
|
||||
| #️⃣ General | Anything and everything relevant to the project | Open-ended discussion |
|
||||
| 💡Ideas | Ideas to change or improve the project | Open-ended discussion |
|
||||
| 🙏 Q&A | Questions for the community to answer, with a question/answer format | Question and Answer |
|
||||
| 🙌 Show and tell | Creations, experiments, or tests relevant to the project | Open-ended discussion |
|
||||
|
||||
### Creating a category
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
{% data reusables.discussions.edit-categories %}
|
||||
1. Click **New category**. 
|
||||
1. Edit the emoji, title, description, and discussion format for the category. For more information about discussion formats, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)." 
|
||||
1. Klicke auf **Create** (Erstellen). 
|
||||
|
||||
### Editing a category
|
||||
|
||||
You can edit a category to change the category's emoji, title, description, and discussion format.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
1. To the right of a category in the list, click {% octicon "pencil" aria-label="The pencil icon" %}. 
|
||||
1. {% data reusables.discussions.edit-category-details %}
|
||||

|
||||
1. Klicke auf **Save changes** (Änderungen speichern). 
|
||||
|
||||
### Deleting a category
|
||||
|
||||
When you delete a category, {% data variables.product.product_name %} will move all discussions in the deleted category to an existing category that you choose.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
1. To the right of a category in the list, click {% octicon "trash" aria-label="The trash icon" %}. 
|
||||
1. Use the drop-down menu, and choose a new category for any discussions in the category you're deleting. 
|
||||
1. Click **Delete & Move**. 
|
||||
@@ -0,0 +1,94 @@
|
||||
---
|
||||
title: Managing discussions in your repository
|
||||
intro: You can categorize, spotlight, transfer, or delete the discussions in a repository.
|
||||
permissions: Repository administrators and people with write or greater access to a repository can manage discussions in the repository.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### About management of discussions
|
||||
|
||||
{% data reusables.discussions.about-discussions %} For more information about discussions, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)."
|
||||
|
||||
Organization owners can choose the permissions required to create a discussion for repositories owned by the organization. For more information, see "[Managing discussion creation for repositories in your organization](/github/setting-up-and-managing-organizations-and-teams/managing-discussion-creation-for-repositories-in-your-organization)."
|
||||
|
||||
As a discussions maintainer, you can create community resources to encourage discussions that are aligned with the overall project goal and maintain a friendly open forum for collaborators. Creating a code of conduct or contribution guidelines for collaborators to follow will help facilitate a collaborative and productive forum. For more information on creating community resources, see "[Adding a code of conduct to your project](/github/building-a-strong-community/adding-a-code-of-conduct-to-your-project)," and "[Setting guidelines for repository contributors](/github/building-a-strong-community/setting-guidelines-for-repository-contributors)."
|
||||
|
||||
For more information on facilitating a healthy discussion, see "[Moderating comments and conversations](/github/building-a-strong-community/moderating-comments-and-conversations)."
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
To manage discussions in a repository, discussions must be enabled for the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)."
|
||||
|
||||
### Changing the category for a discussion
|
||||
|
||||
You can categorize discussions to help community members find related discussions. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)" article.
|
||||
|
||||
You can also move a discussion to a different category.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
{% data reusables.discussions.click-discussion-in-list %}
|
||||
1. In the right sidebar, click {% octicon "pencil" aria-label="The pencil icon" %} **Edit pinned discussion**. 
|
||||
|
||||
### Pinning a discussion
|
||||
|
||||
You can pin up to four important discussions above the list of discussions for the repository.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
{% data reusables.discussions.click-discussion-in-list %}
|
||||
1. In the right sidebar, click {% octicon "pin" aria-label="The pin icon" %} **Pin discussion**. 
|
||||
1. Optionally, customize the look of the pinned discussion. 
|
||||
1. Click **Pin discussion**. 
|
||||
|
||||
### Editing a pinned discussion
|
||||
|
||||
Editing a pinned discussion will not change the discussion's category. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)."
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
{% data reusables.discussions.click-discussion-in-list %}
|
||||
1. In the right sidebar, click {% octicon "pencil" aria-label="The pencil icon" %} **Edit pinned discussion**. 
|
||||
1. Customize the look of the pinned discussion. 
|
||||
1. Click **Pin discussion**. 
|
||||
|
||||
### Unpinning a discussion
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
{% data reusables.discussions.click-discussion-in-list %}
|
||||
1. In the right sidebar, click {% octicon "pin" aria-label="The pin icon" %} **Unpin discussion**. 
|
||||
1. Read the warning, then click **Unpin discussion**. 
|
||||
|
||||
### Transferring a discussion
|
||||
|
||||
To transfer a discussion, you must have permissions to create discussions in the repository where you want to transfer the discussion.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
{% data reusables.discussions.click-discussion-in-list %}
|
||||
1. In the right sidebar, click {% octicon "arrow-right" aria-label="The right arrow icon" %} **Transfer discussion**. 
|
||||
1. Select the **Choose a repository** drop-down, and click the repository you want to transfer the discussion to. 
|
||||
1. Click **Transfer discussion**. 
|
||||
|
||||
### Deleting a discussion
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
{% data reusables.discussions.click-discussion-in-list %}
|
||||
1. In the right sidebar, click {% octicon "trash" aria-label="The trash arrow icon" %} **Delete discussion**. 
|
||||
1. Read the warning, then click **Delete this discussion**. 
|
||||
|
||||
### Converting issues based on labels
|
||||
|
||||
You can convert all issues with the same label to discussions in bulk. Future issues with this label will also automatically convert to the discussion and category you configure.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-issues %}
|
||||
{% data reusables.project-management.labels %}
|
||||
1. Next to the label you want to convert to issues, click **Convert issues**.
|
||||
1. Select the **Choose a category** drop-down menu, and click a category for your discussion.
|
||||
1. Click **I understand, convert this issue to a discussion**.
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Moderating discussions
|
||||
intro: 'You can promote healthy collaboration by marking comments as answers, locking or unlocking discussions, and converting issues to discussions. and editing or deleting comments, discussions, and categories that don''t align with your community''s code of conduct to discussions.'
|
||||
permissions: People with triage access to a repository can moderate discussions in the repository.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### About moderating discussions
|
||||
|
||||
{% data reusables.discussions.about-discussions %} If you have triage permissions for a repository, you can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development.
|
||||
|
||||
### Marking a comment as an answer
|
||||
|
||||
{% data reusables.discussions.marking-a-comment-as-an-answer %}
|
||||
|
||||
### Locking discussions
|
||||
|
||||
It's appropriate to lock a conversation when the entire conversation is not constructive or violates your community's code of conduct or {% data variables.product.prodname_dotcom %}'s [Community Guidelines](/github/site-policy/github-community-guidelines). You can also lock a conversation to prevent comments on a discussion you want to use as an announcement to the community. When you lock a conversation, people with write access to the repository will still be able to comment on the discussion.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.discussions.discussions-tab %}
|
||||
1. In the list of discussions, click the discussion you want to lock. 
|
||||
1. In the right margin of a discussion, click **Lock conversation**.
|
||||
1. Read the information about locking conversations and click **Lock conversation on this discussion**.
|
||||
1. When you're ready to unlock the conversation, click **Unlock conversation**, then click **Unlock conversation on this discussion**.
|
||||
|
||||
### Converting an issue to a discussion
|
||||
|
||||
When you convert an issue to a discussion, the discussion is automatically created using the content from the issue. People with write access to a repository can bulk convert issues based on labels. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)."
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-issues %}
|
||||
1. In the list of issues, click the issue you'd like to convert.
|
||||
1. In the right margin of an issue, click **Convert to discussion**.
|
||||
1. Select the **Choose a category** drop-down menu, and click a category for your discussion.
|
||||
1. Click **I understand, convert this issue to a discussion**.
|
||||
58
translations/de-DE/content/discussions/quickstart.md
Normal file
58
translations/de-DE/content/discussions/quickstart.md
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
title: Quickstart for GitHub Discussions
|
||||
intro: 'Enable {% data variables.product.prodname_discussions %} on an existing repository and start conversations with your community.'
|
||||
allowTitleToDifferFromFilename: true
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.discussions.beta %}
|
||||
|
||||
### Einführung
|
||||
|
||||
{% data variables.product.prodname_discussions %} is a collaborative communication forum for the community around an open source project. Discussions are for conversations that need to be transparent and accessible but do not need to be tracked on a project board and are not related to code, unlike issues. Discussions enable fluid, open conversation in a public forum.
|
||||
|
||||
Discussions give a space for more collaborative conversations by connecting and giving a more centralized area to connect and find information.
|
||||
|
||||
### Enabling {% data variables.product.prodname_discussions %} on your repository
|
||||
|
||||
Repository owners and people with write access can enable {% data variables.product.prodname_discussions %} for a community on their public repositories.
|
||||
|
||||
When you first enable a {% data variables.product.prodname_discussions %}, you will be invited to configure a welcome post.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
1. Klicke unter Deinem Repository-Namen auf {% octicon "gear" aria-label="The gear icon" %} **Settings** (Einstellungen). 
|
||||
1. Under "Features", click **Set up discussions**. 
|
||||
1. Under "Start a new discussion," edit the template to align with the resources and tone you want to set for your community.
|
||||
1. Click **Start discussion**. 
|
||||
|
||||
### Welcoming contributions to your discussions
|
||||
|
||||
You can welcome your community and introduce a new way to communicate in a repository by creating a welcome post and pin the post to your {% data variables.product.prodname_discussions %} page. Pinning and locking discussions helps people know that a post is meant as an announcement. You can use announcements as a way to link people to more resources and offer guidance for opening discussions in your community. For more information about pinning a discussion, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)."
|
||||
|
||||
|
||||
### Setting up community guidelines for contributors
|
||||
|
||||
You can set contributing guidelines to encourage collaborators to have meaningful, useful conversations that are relevant to the repository. You can also update the repository's README to communicate expectations on when collaborators should open an issue or discussion.
|
||||
|
||||
For more information about providing guidelines for your project, see "[Adding a code of conduct to your project](/github/building-a-strong-community/adding-a-code-of-conduct-to-your-project)" and "[Setting up your project for healthy contributions](/github/building-a-strong-community/setting-up-your-project-for-healthy-contributions)."
|
||||
|
||||
### Creating a new discussion
|
||||
|
||||
Anyone with access to a repository can create a discussion.
|
||||
|
||||
{% data reusables.discussions.starting-a-discussion %}
|
||||
|
||||
### Organizing discussions into relevant categories
|
||||
|
||||
Repository owners and people with write access can create new categories to keep discussions organized. Collaborators participating and creating new discussions can group discussions into the most relevant existing categories. Discussions can also be recategorized after they are created. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)"
|
||||
|
||||
### Promoting healthy conversations
|
||||
|
||||
People with write permissions for a repository can help surface important conversations by pinning discussions, deleting discussions that are no longer useful or are damaging to the community, and transferring discussions to more relevant repositories owned by the organization. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)."
|
||||
|
||||
People with triage permissions for a repository can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)."
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
Once there is a clear path to scope work out and move an idea from concept to reality, you can create an issue and start tracking your progress. For more information on creating an issue from a discussion, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)."
|
||||
45
translations/de-DE/content/education/guides.md
Normal file
45
translations/de-DE/content/education/guides.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: Guides for GitHub Education
|
||||
intro: 'These guides for {% data variables.product.prodname_education %} help you teach and learn both {% data variables.product.product_name %} and software development.'
|
||||
allowTitleToDifferFromFilename: true
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### Get started with {% data variables.product.product_name %}
|
||||
|
||||
Teachers, students, and researchers can use tools from {% data variables.product.product_name %} to enrich a software development curriculum and develop real-world collaboration skills.
|
||||
|
||||
- [Sign up for a new {% data variables.product.prodname_dotcom %} account](/github/getting-started-with-github/signing-up-for-a-new-github-account)
|
||||
- [Git and {% data variables.product.prodname_dotcom %} quickstart ](/github/getting-started-with-github/quickstart)
|
||||
- [Apply for an educator or researcher discount](/education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount)
|
||||
- [Apply for a student developer pack](/education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack)
|
||||
|
||||
### Run a software development course with {% data variables.product.company_short %}
|
||||
|
||||
Administer a classroom, assign and review work from your students, and teach the new generation of software developers with {% data variables.product.prodname_classroom %}.
|
||||
|
||||
- [Basics of setting up {% data variables.product.prodname_classroom %} ](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)
|
||||
- [Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms)
|
||||
- [Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)
|
||||
- [Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)
|
||||
- [Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository)
|
||||
- [Leave feedback with pull requests](/education/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests)
|
||||
- [Use autograding](/education/manage-coursework-with-github-classroom/use-autograding)
|
||||
|
||||
### Learn to develop software
|
||||
|
||||
Incorporate {% data variables.product.prodname_dotcom %} into your education, and use the same tools as the professionals.
|
||||
|
||||
- [Git and {% data variables.product.prodname_dotcom %} learning resources](/github/getting-started-with-github/git-and-github-learning-resources)
|
||||
- [Use {% data variables.product.prodname_dotcom %} for your schoolwork](/education/teach-and-learn-with-github-education/use-github-for-your-schoolwork)
|
||||
- [Try {% data variables.product.prodname_desktop %}](/desktop)
|
||||
- [Try {% data variables.product.prodname_cli %}](/github/getting-started-with-github/github-cli)
|
||||
|
||||
### Contribute to the community
|
||||
|
||||
Participate in the community, get training from {% data variables.product.company_short %}, and learn or teach new skills.
|
||||
|
||||
- [{% data variables.product.prodname_education_community %}](https://education.github.community)
|
||||
- [Informationen zu Campus Experts](/education/teach-and-learn-with-github-education/about-campus-experts)
|
||||
- [Informationen zu Campus Advisors](/education/teach-and-learn-with-github-education/about-campus-advisors)
|
||||
45
translations/de-DE/content/education/index.md
Normal file
45
translations/de-DE/content/education/index.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
title: GitHub Education Documentation
|
||||
shortTitle: Education
|
||||
intro: "{% data variables.product.prodname_education %} helps you teach or learn software development with the tools and support of {% data variables.product.company_short %}'s platform and community."
|
||||
introLinks:
|
||||
quickstart: /education/quickstart
|
||||
featuredLinks:
|
||||
guides:
|
||||
- /education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack
|
||||
- /education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount
|
||||
- /education/teach-and-learn-with-github-education/use-github-at-your-educational-institution
|
||||
guideCards:
|
||||
- /github/getting-started-with-github/signing-up-for-a-new-github-account
|
||||
- /github/getting-started-with-github/git-and-github-learning-resources
|
||||
- /education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom
|
||||
popular:
|
||||
- /education/teach-and-learn-with-github-education/use-github-for-your-schoolwork
|
||||
- /education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research
|
||||
- /desktop
|
||||
- /github/getting-started-with-github/github-cli
|
||||
- /education/manage-coursework-with-github-classroom/teach-with-github-classroom
|
||||
changelog:
|
||||
-
|
||||
title: 'Try something new at Local Hack Day: Learn'
|
||||
date: '2020-10-15'
|
||||
href: https://github.blog/2020-10-15-try-something-new-at-local-hack-day-learn/
|
||||
-
|
||||
title: 'Remote Education: Creating community through shared experiences'
|
||||
date: '2020-09-24'
|
||||
href: https://github.blog/2020-09-24-remote-education-creating-community-through-shared-experiences/
|
||||
-
|
||||
title: 'Remote Education: A series of best practices for online campus communities'
|
||||
date: '2020-09-10'
|
||||
href: https://github.blog/2020-09-10-remote-education-a-series-of-best-practices-for-online-campus-communities/
|
||||
-
|
||||
title: Welcome to the inaugural class of MLH Fellows
|
||||
date: '2020-06-24'
|
||||
href: https://github.blog/2020-06-24-welcome-to-the-inaugural-class-of-mlh-fellows/
|
||||
layout: product-landing
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
<!-- {% link_with_intro /teach-and-learn-with-github-education %} -->
|
||||
<!-- {% link_with_intro /manage-coursework-with-github-classroom %} -->
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: About using MakeCode Arcade with GitHub Classroom
|
||||
shortTitle: About using MakeCode Arcade
|
||||
intro: You can configure MakeCode Arcade as the online IDE for assignments in {% data variables.product.prodname_classroom %}.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/student-experience-makecode
|
||||
---
|
||||
|
||||
### About MakeCode Arcade
|
||||
|
||||
MakeCode Arcade is an online integrated development environment (IDE) for developing retro arcade games using drag-and-drop block programming and JavaScript. Students can write, edit, run, test, and debug code in a browser with MakeCode Arcade. For more information about online IDEs and {% data variables.product.prodname_classroom %}, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)."
|
||||
|
||||
{% data reusables.classroom.readme-contains-button-for-online-ide %}
|
||||
|
||||
The first time the student clicks the button to visit MakeCode Arcade, the student must sign into MakeCode Arcade with {% data variables.product.product_name %} credentials. After signing in, the student will have access to a development environment containing the code from the assignment repository, fully configured on MakeCode Arcade.
|
||||
|
||||
For more information about working on MakeCode Arcade, see the [MakeCode Arcade Tour](https://arcade.makecode.com/ide-tour) and [documentation](https://arcade.makecode.com/docs) on the MakeCode Arcade website.
|
||||
|
||||
MakeCode Arcade does not support multiplayer-editing for group assignments. Instead, students can collaborate with Git and {% data variables.product.product_name %} features like branches and pull requests.
|
||||
|
||||
### About submission of assignments with MakeCode Arcade
|
||||
|
||||
By default, MakeCode Arcade is configured to push to the assignment repository on {% data variables.product.product_location %}. After making progress on an assignment with MakeCode Arcade, students should push changes to {% data variables.product.product_location %} using the {% octicon "mark-github" aria-label="The GitHub mark" %}{% octicon "arrow-up" aria-label="The up arrow icon" %} button at the bottom of the screen.
|
||||
|
||||

|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)"
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: About using Repl.it with GitHub Classroom
|
||||
shortTitle: About using Repl.it
|
||||
intro: You can configure Repl.it as the online integrated development environment (IDE) for assignments in {% data variables.product.prodname_classroom %}.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/student-experience-replit
|
||||
---
|
||||
|
||||
### About Repl.it
|
||||
|
||||
Repl.it is an online integrated development environment (IDE) that supports multiple programming languages. Students can write, edit, run, test, and debug code in a browser with Repl.it. For more information about online IDEs and {% data variables.product.prodname_classroom %}, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)."
|
||||
|
||||
{% data reusables.classroom.readme-contains-button-for-online-ide %}
|
||||
|
||||
The first time the student clicks the button to visit Repl.it, the student must sign into Repl.it with {% data variables.product.product_name %} credentials. After signing in, the student will have access to a development environment containing the code from the assignment repository, fully configured on Repl.it.
|
||||
|
||||
For more information about working on Repl.it, see the [Repl.it Quickstart Guide](https://docs.repl.it/misc/quick-start#the-repl-environment).
|
||||
|
||||
For group assignments, students can use Repl.it Multiplayer to work collaboratively. For more information, see the [Repl.it Multiplayer](https://repl.it/site/multiplayer) website.
|
||||
|
||||
### About submission of assignments with Repl.it
|
||||
|
||||
By default, Repl.it is configured to push to the assignment repository on {% data variables.product.product_location %}. After making progress on an assignment with Repl.it, students should push changes to {% data variables.product.product_location %} using the version control functionality in the left sidebar.
|
||||
|
||||

|
||||
|
||||
For more information about using Git on Repl.it, see the [Repl.it + Git Tutorial](https://repl.it/talk/learn/Replit-Git-Tutorial/23331) on the Repl.it website.
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)"
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Basics of setting up GitHub Classroom
|
||||
shortTitle: '{% data variables.product.prodname_classroom %} basics'
|
||||
intro: Learn how to set up your classroom, manage assignments, and configure time-saving automation.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### Videos about {% data variables.product.prodname_classroom %}
|
||||
|
||||
You can watch a series of short video tutorials about the configuration and use of {% data variables.product.prodname_classroom %}. To watch all videos as part of a continuous playlist, see the [{% data variables.product.prodname_classroom %} Getting Started Guide](https://www.youtube.com/playlist?list=PLIRjfNq867bewk3ZGV6Z7a16YDNRCpK3u) on YouTube.
|
||||
|
||||
For more information about terminology for {% data variables.product.prodname_classroom %}, see "[Glossary](/education/manage-coursework-with-github-classroom/glossary)".
|
||||
|
||||
1. <a href="https://youtu.be/xVVeqIDgCvM" target="_blank">Getting started</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
2. <a href="https://youtu.be/DTzrKduaHj8" target="_blank">Adding your student roster</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
3. Creating assignments
|
||||
- <a href="https://youtu.be/6QzKZ63KLss" target="_blank">Creating an assignment using a {% data variables.product.prodname_dotcom %} repository</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
- <a href="https://youtu.be/Qmwh6ijsQJU" target="_blank">Creating an assignment using Microsoft MakeCode as your online IDE</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
- <a href="https://youtu.be/p_g5sQ7hUis" target="_blank">Creating an assignment using Repl.it as your online IDE</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
4. <a href="https://youtu.be/ObaFRGp_Eko" target="_blank">How students complete assignments</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
5. <a href="https://youtu.be/g45OJn3UyCU" target="_blank">How teachers review assignments</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
6. <a href="https://youtu.be/QxrA3taZdNM" target="_blank">Creating group assignments</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
7. <a href="https://youtu.be/tJK2cmoh1KM" target="_blank">Next steps to get started</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
8. <a href="https://youtu.be/X87v3SFQxLU" target="_blank">{% data variables.product.prodname_dotcom %} Teacher Toolbox</a> {% octicon "link-external" aria-label="The external link icon" %}
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
For more information about teaching with {% data variables.product.prodname_classroom %}, see "[Teach with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/teach-with-github-classroom)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[Teach and learn with {% data variables.product.prodname_education %}](/education/teach-and-learn-with-github-education)"
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
title: Configure default settings for assignment repositories
|
||||
shortTitle: Configure defaults for assignment repositories
|
||||
intro: You can use the Probot Settings app to configure the default settings for repositories that {% data variables.product.prodname_classroom %} creates for an assignment.
|
||||
permissions: Organization owners can configure default settings for assignment repositories by installing a {% data variables.product.prodname_github_app %} for the organization.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/probot-settings
|
||||
---
|
||||
|
||||
### About configuration of defaults for assignment repositories
|
||||
|
||||
{% data variables.product.prodname_classroom %} creates a repository that belongs for each student or team that accepts an assignment. The repository belongs to the organization that you use for {% data variables.product.prodname_classroom %}. Assignment repositories can be empty, or you can use a template repository. For more information, see "[Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository)."
|
||||
|
||||
{% data reusables.classroom.you-may-want-to-predefine-repository-settings %}
|
||||
|
||||
With the Probot Settings app, you can create a file named _.github/settings.yml_ in a repository that contains a list of settings for the repository, and then install a {% data variables.product.prodname_github_app %} for your organization that automatically applies the settings to the repository.
|
||||
|
||||
You can include _.github/settings.yml_ in a template repository that you use for an assignment in {% data variables.product.prodname_classroom %}. When an individual or team accepts the assignment, {% data variables.product.prodname_classroom %} creates the assignment repository, and the Settings app automatically applies the settings from _.github/settings.yml_.
|
||||
|
||||
Probot is a a project, framework, and collection of free apps to automate {% data variables.product.product_name %}. A Probot app can listen to repository events, like the creation of new commits, comments, and issues, and automatically respond to the event.
|
||||
|
||||
For more information, see the [Probot website](https://probot.github.io) and the [Settings app website](https://probot.github.io/apps/settings/). For more information about {% data variables.product.prodname_github_apps %}, see "[About apps](/developers/apps/about-apps)."
|
||||
|
||||
### Adding the Settings app to your organization
|
||||
|
||||
After you install the Probot Settings app for your organization, the app will apply the settings that you define in _.github/settings.yml_ for any repository in your organization, including new assignment repositories that {% data variables.product.prodname_classroom %} creates.
|
||||
|
||||
1. Navigate to the [Settings app page](https://github.com/apps/settings).
|
||||
1. Click **Install**, then click the organization that you use for {% data variables.product.prodname_classroom %}. Provide the app full access to all repositories owned by the organization. 
|
||||
|
||||
### Configuring default settings for an assignment repository
|
||||
|
||||
1. Create a template repository that contains a _.github/settings.yml_ file. For a complete list of settings, see the [README](https://github.com/probot/settings#github-settings) for the `probot/settings` repository. For more information about using a template repository for starter code in {% data variables.product.prodname_classroom %}, see "[Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository)."
|
||||
|
||||
{% warning %}
|
||||
|
||||
**Warning:** Do not define `collaborators` in the _.github/settings.yml_ file for your template repository. {% data variables.product.prodname_classroom %} automatically grants teachers and teaching assistants access to assignment repositories.
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
1. Create an assignment using the template repository containing _.github/settings.yml_ as the starter code. {% data reusables.classroom.for-more-information-about-assignment-creation %}
|
||||
|
||||
The Probot Settings app for your organization will now apply the settings you define in _.github/settings.yml_ within the template repository to every assignment repository that {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} creates for a student or team.
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- [Probot apps](https://probot.github.io/apps/)
|
||||
- [Probot documentation](https://probot.github.io/docs/)
|
||||
@@ -0,0 +1,138 @@
|
||||
---
|
||||
title: Connect a learning management system to GitHub Classroom
|
||||
intro: You can configure an LTI-compliant learning management system (LMS) to connect to {% data variables.product.prodname_classroom %} so that you can import a roster for your classroom.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/configuring-a-learning-management-system-for-github-classroom
|
||||
- /education/manage-coursework-with-github-classroom/connect-to-lms
|
||||
- /education/manage-coursework-with-github-classroom/generate-lms-credentials
|
||||
- /education/manage-coursework-with-github-classroom/setup-canvas
|
||||
- /education/manage-coursework-with-github-classroom/setup-generic-lms
|
||||
- /education/manage-coursework-with-github-classroom/setup-moodle
|
||||
---
|
||||
|
||||
### About configuration of your LMS
|
||||
|
||||
You can connect a learning management system (LMS) to {% data variables.product.prodname_classroom %}, and {% data variables.product.prodname_classroom %} can import a roster of student identifiers from the LMS. To connect your LMS to {% data variables.product.prodname_classroom %}, you must enter configuration credentials for {% data variables.product.prodname_classroom %} in your LMS.
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
To configure an LMS to connect to {% data variables.product.prodname_classroom %}, you must first create a classroom. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-classroom)."
|
||||
|
||||
### Supported LMSes
|
||||
|
||||
{% data variables.product.prodname_classroom %} supports import of roster data from LMSes that implement Learning Tools Interoperability (LTI) standards.
|
||||
|
||||
- LTI version 1.0 and/or 1.1
|
||||
- LTI Names and Roles Provisioning 1.X
|
||||
|
||||
Using LTI helps keep your information safe and secure. LTI is an industry-standard protocol and GitHub Classroom's use of LTI is certified by the Instructional Management System (IMS) Global Learning Consortium. For more information, see [Learning Tools Interoperability](https://www.imsglobal.org/activity/learning-tools-interoperability) and [About IMS Global Learning Consortium](http://www.imsglobal.org/aboutims.html) on the IMS Global Learning Consortium website.
|
||||
|
||||
{% data variables.product.company_short %} has tested import of roster data from the following LMSes into {% data variables.product.prodname_classroom %}.
|
||||
|
||||
- Canvas
|
||||
- Google Classroom
|
||||
- Moodle
|
||||
- Sakai
|
||||
|
||||
Currently, {% data variables.product.prodname_classroom %} doesn't support import of roster data from Blackboard or Brightspace
|
||||
|
||||
### Generating configuration credentials for your classroom
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.click-students %}
|
||||
1. If your classroom already has a roster, you can either update the roster or delete the roster and create a new roster.
|
||||
- For more information about deleting and creating a roster, see "[Deleting a roster for a classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#deleting-a-roster-for-a-classroom)" and "[Creating a roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)."
|
||||
- For more information about updating a roster, see "[Adding students to the roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#adding-students-to-the-roster-for-your-classroom)."
|
||||
1. In the list of LMSes, click your LMS. If your LMS is not supported, click **Other LMS**. 
|
||||
1. Read about connecting your LMS, then click **Connect to _LMS_**.
|
||||
1. Copy the "Consumer Key", "Shared Secret", and "Launch URL" for the connection to the classroom. 
|
||||
|
||||
### Configuring a generic LMS
|
||||
|
||||
You must configure the privacy settings for your LMS to allow external tools to receive roster information.
|
||||
|
||||
1. Navigate to your LMS.
|
||||
1. Configure an external tool.
|
||||
1. Provide the configuration credentials you generated in {% data variables.product.prodname_classroom %}.
|
||||
- Consumer key
|
||||
- Shared secret
|
||||
- Launch URL (sometimes called "tool URL" or similar)
|
||||
|
||||
### Configuring Canvas
|
||||
|
||||
You can configure {% data variables.product.prodname_classroom %} as an external app for Canvas to import roster data into your classroom. For more information about Canvas, see the [Canvas website](https://www.instructure.com/canvas/).
|
||||
|
||||
1. Sign into [Canvas](https://www.instructure.com/canvas/#login).
|
||||
1. Select the Canvas course to integrate with {% data variables.product.prodname_classroom %}.
|
||||
1. Klicke auf der linken Seitenleiste auf **Settings** (Einstellungen).
|
||||
1. Click the **Apps** tab.
|
||||
1. Click **View app configurations**.
|
||||
1. Click **+App**.
|
||||
1. Select the **Configuration Type** drop-down menu, and click **By URL**.
|
||||
1. Paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)."
|
||||
|
||||
| Field in Canvas app configuration | Value or setting |
|
||||
|:------------------------------------------------------------------------- |:------------------------------------------------------------------ |
|
||||
| **Consumer Key** | Consumer key from {% data variables.product.prodname_classroom %}
|
||||
| **Shared Secret** | Shared secret from {% data variables.product.prodname_classroom %}
|
||||
| **Allow this tool to access the IMS Names and Role Provisioning Service** | Enabled |
|
||||
| **Configuration URL** | Launch URL from {% data variables.product.prodname_classroom %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note**: If you don't see a checkbox in Canvas labeled "Allow this tool to access the IMS Names and Role Provisioning Service", then your Canvas administrator must contact Canvas support to enable membership service configuration for your Canvas account. Without enabling this feature, you won't be able to sync the roster from Canvas. For more information, see [How do I contact Canvas Support?](https://community.canvaslms.com/t5/Canvas-Basics-Guide/How-do-I-contact-Canvas-Support/ta-p/389767) on the Canvas website.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
1. Klicke auf **Submit** (Einreichen).
|
||||
1. In the left sidebar, click **Home**.
|
||||
1. To prompt Canvas to send a confirmation email, in the left sidebar, click **GitHub Classroom**. Follow the instructions in the email to finish linking {% data variables.product.prodname_classroom %}.
|
||||
|
||||
### Configuring Moodle
|
||||
|
||||
You can configure {% data variables.product.prodname_classroom %} as an activity for Moodle to import roster data into your classroom. For more information about Moodle, see the [Moodle website](https://moodle.org).
|
||||
|
||||
You must be using Moodle version 3.0 or greater.
|
||||
|
||||
1. Sign into [Moodle](https://moodle.org/login/index.php).
|
||||
1. Select the Moodle course to integrate with {% data variables.product.prodname_classroom %}.
|
||||
1. Click **Turn editing on**.
|
||||
1. Wherever you'd like {% data variables.product.prodname_classroom %} to be available in Moodle, click **Add an activity or resource**.
|
||||
1. Choose **External tool** and click **Add**.
|
||||
1. In the "Activity name" field, type "GitHub Classroom".
|
||||
1. In the **Preconfigured tool** field, to the right of the drop-down menu, click **+**.
|
||||
1. Under "External tool configuration", paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)."
|
||||
|
||||
| Field in Moodle app configuration | Value or setting |
|
||||
|:--------------------------------- |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| **Tool name** | {% data variables.product.prodname_classroom %} - _YOUR CLASSROOM NAME_<br/><br/>**Note**: You can use any name, but we suggest this value for clarity. |
|
||||
| **Tool URL** | Launch URL from {% data variables.product.prodname_classroom %}
|
||||
| **LTI version** | LTI 1.0/1.1 |
|
||||
| **Default launch container** | New window |
|
||||
| **Consumer key** | Consumer key from {% data variables.product.prodname_classroom %}
|
||||
| **Shared secret** | Shared secret from {% data variables.product.prodname_classroom %}
|
||||
|
||||
1. Scroll to and click **Services**.
|
||||
1. To the right of "IMS LTI Names and Role Provisioning", select the drop-down menu and click **Use this service to retrieve members' information as per privacy settings**.
|
||||
1. Scroll to and click **Privacy**.
|
||||
1. To the right of **Share launcher's name with tool** and **Share launcher's email with tool**, select the drop-down menus to click **Always**.
|
||||
1. Klicke am Ende der Seite auf **Save changes** (Änderungen speichern).
|
||||
1. In the **Preconfigure tool** menu, click **GitHub Classroom - _YOUR CLASSROOM NAME_**.
|
||||
1. Under "Common module settings", to the right of "Availability", select the drop-down menu and click **Hide from students**.
|
||||
1. At the bottom of the page, click **Save and return to course**.
|
||||
1. Navigate to anywhere you chose to display {% data variables.product.prodname_classroom %}, and click the {% data variables.product.prodname_classroom %} activity.
|
||||
|
||||
### Importing a roster from your LMS
|
||||
|
||||
For more information about importing the roster from your LMS into {% data variables.product.prodname_classroom %}, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)."
|
||||
|
||||
### Disconnecting your LMS
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.click-settings %}
|
||||
1. Under "Connect to a learning management system (LMS)", click **Connection Settings**. 
|
||||
1. Under "Delete Connection to your learning management system", click **Disconnect from your learning management system**. 
|
||||
@@ -0,0 +1,145 @@
|
||||
---
|
||||
title: Create a group assignment
|
||||
intro: 'You can create a collaborative assignment for teams of students who participate in your course.'
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/create-group-assignments
|
||||
---
|
||||
|
||||
### About group assignments
|
||||
|
||||
{% data reusables.classroom.assignments-group-definition %} Students can work together on a group assignment in a shared repository, like a team of professional developers.
|
||||
|
||||
When a student accepts a group assignment, the student can create a new team or join an existing team. {% data variables.product.prodname_classroom %} saves the teams for an assignment as a set. You can name the set of teams for a specific assignment when you create the assignment, and you can reuse that set of teams for a later assignment.
|
||||
|
||||
{% data reusables.classroom.classroom-creates-group-repositories %}
|
||||
|
||||
{% data reusables.classroom.about-assignments %}
|
||||
|
||||
You can decide how many teams one assignment can have, and how many members each team can have. Each team that a student creates for an assignment is a team within your organization on {% data variables.product.product_name %}. The visibility of the team is secret. Teams that you create on {% data variables.product.product_name %} will not appear in {% data variables.product.prodname_classroom %}. Weitere Informationen finden Sie unter „[Informationen zu Teams](/github/setting-up-and-managing-organizations-and-teams/about-teams)“.
|
||||
|
||||
For a video demonstration of the creation of a group assignment, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)."
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
{% data reusables.classroom.assignments-classroom-prerequisite %}
|
||||
|
||||
### Creating an assignment
|
||||
|
||||
{% data reusables.classroom.assignments-guide-create-the-assignment %}
|
||||
|
||||
### Setting up the basics for an assignment
|
||||
|
||||
Name your assignment, decide whether to assign a deadline, define teams, and choose the visibility of assignment repositories.
|
||||
|
||||
- [Naming an assignment](#naming-an-assignment)
|
||||
- [Assigning a deadline for an assignment](#assigning-a-deadline-for-an-assignment)
|
||||
- [Choosing an assignment type](#choosing-an-assignment-type)
|
||||
- [Defining teams for an assignment](#defining-teams-for-an-assignment)
|
||||
- [Choosing a visibility for assignment repositories](#choosing-a-visibility-for-assignment-repositories)
|
||||
|
||||
#### Naming an assignment
|
||||
|
||||
For a group assignment, {% data variables.product.prodname_classroom %} names repositories by the repository prefix and the name of the team. By default, the repository prefix is the assignment title. For example, if you name an assignment "assignment-1" and the team's name on {% data variables.product.product_name %} is "student-team", the name of the assignment repository for members of the team will be `assignment-1-student-team`.
|
||||
|
||||
{% data reusables.classroom.assignments-type-a-title %}
|
||||
|
||||
#### Assigning a deadline for an assignment
|
||||
|
||||
{% data reusables.classroom.assignments-guide-assign-a-deadline %}
|
||||
|
||||
#### Choosing an assignment type
|
||||
|
||||
Under "Individual or group assignment", select the drop-down menu, then click **Group assignment**. You can't change the assignment type after you create the assignment. If you'd rather create a individual assignment, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)."
|
||||
|
||||
#### Defining teams for an assignment
|
||||
|
||||
If you've already created a group assignment for the classroom, you can reuse a set of teams for the new assignment. To create a new set with the teams that your students create for the assignment, type the name for the set. Optionally, type the maximum number of team members and total teams.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tips**:
|
||||
|
||||
- We recommend including details about the set of teams in the name for the set. For example, if you want to use the set of teams for one assignment, name the set after the assignment. If you want to reuse the set throughout a semester or course, name the set after the semester or course.
|
||||
|
||||
- If you'd like to assign students to a specific team, give your students a name for the team and provide a list of members.
|
||||
|
||||
{% endtip %}
|
||||
|
||||

|
||||
|
||||
#### Choosing a visibility for assignment repositories
|
||||
|
||||
{% data reusables.classroom.assignments-guide-choose-visibility %}
|
||||
|
||||
{% data reusables.classroom.assignments-guide-click-continue-after-basics %}
|
||||
|
||||
### Adding starter code and configuring a development environment
|
||||
|
||||
{% data reusables.classroom.assignments-guide-intro-for-environment %}
|
||||
|
||||
- [Choosing a template repository](#choosing-a-template-repository)
|
||||
- [Choosing an online integrated development environment (IDE)](#choosing-an-online-integrated-development-environment-ide)
|
||||
|
||||
#### Choosing a template repository
|
||||
|
||||
By default, a new assignment will create an empty repository for each team that a student creates. {% data reusables.classroom.you-can-choose-a-template-repository %} For more information about template repositories, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)."
|
||||
|
||||
{% data reusables.classroom.assignments-guide-choose-template-repository %}
|
||||
|
||||
#### Choosing an online integrated development environment (IDE)
|
||||
|
||||
{% data reusables.classroom.about-online-ides %} For more information, see "[Integrate {% data variables.product.prodname_classroom %} with an IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)."
|
||||
|
||||
{% data reusables.classroom.assignments-guide-choose-an-online-ide %}
|
||||
|
||||
{% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %}
|
||||
|
||||
### Providing feedback
|
||||
|
||||
Optionally, you can automatically grade assignments and create a space for discussing each submission with the team.
|
||||
|
||||
- [Testing assignments automatically](#testing-assignments-automatically)
|
||||
- [Preventing changes to important files](#preventing-changes-to-important-files)
|
||||
- [Creating a pull request for feedback](#creating-a-pull-request-for-feedback)
|
||||
|
||||
#### Testing assignments automatically
|
||||
|
||||
{% data reusables.classroom.assignments-guide-using-autograding %}
|
||||
|
||||
#### Preventing changes to important files
|
||||
|
||||
{% data reusables.classroom.assignments-guide-prevent-changes %}
|
||||
|
||||
#### Creating a pull request for feedback
|
||||
|
||||
{% data reusables.classroom.you-can-create-a-pull-request-for-feedback %}
|
||||
|
||||
{% data reusables.classroom.assignments-guide-create-review-pull-request %}
|
||||
|
||||
{% data reusables.classroom.assignments-guide-click-create-assignment-button %}
|
||||
|
||||
### Inviting students to an assignment
|
||||
|
||||
{% data reusables.classroom.assignments-guide-invite-students-to-assignment %}
|
||||
|
||||
You can see the teams that are working on or have submitted an assignment in the **Teams** tab for the assignment. {% data reusables.classroom.assignments-to-prevent-submission %}
|
||||
|
||||
<div class="procedural-image-wrapper">
|
||||
<img alt="Group assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-group-hero.png">
|
||||
</div>
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
- After you create the assignment and your students form teams, team members can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and the team can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)," and the free course on [managing merge conflicts](https://lab.github.com/githubtraining/managing-merge-conflicts) from {% data variables.product.prodname_learning %}.
|
||||
|
||||
- When a team finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand how the team collaborated. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)."
|
||||
|
||||
- You can provide feedback for an assignment by commenting on individual commits or lines in a pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)" and "[Opening an issue from code](/github/managing-your-work-on-github/opening-an-issue-from-code)." For more information about creating saved replies to provide feedback for common errors, see "[About saved replies](/github/writing-on-github/about-saved-replies)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[Use {% data variables.product.prodname_dotcom %} in your classroom and research](/education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research)"
|
||||
- "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)"
|
||||
- [Using Existing Teams in Group Assignments?](https://education.github.community/t/using-existing-teams-in-group-assignments/6999) in the {% data variables.product.prodname_education %} Community
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Create an assignment from a template repository
|
||||
intro: You can create an assignment from a template repository to provide starter code, documentation, and other resources to your students.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/using-template-repos-for-assignments
|
||||
---
|
||||
|
||||
You can use a template repository on {% data variables.product.product_name %} as starter code for an assignment on {% data variables.product.prodname_classroom %}. Your template repository can contain boilerplate code, documentation, and other resources for your students. Weitere Informationen findest Du unter „[Repository-Vorlage erstellen](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository).“
|
||||
|
||||
To use the template repository for your assignment, the template repository must be owned by your organization, or the visibility of the template repository must be public.
|
||||
|
||||
{% data reusables.classroom.you-may-want-to-predefine-repository-settings %} For more information, see "[Configure default settings for assignment repositories](/education/manage-coursework-with-github-classroom/configure-default-settings-for-assignment-repositories)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)"
|
||||
- "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)"
|
||||
@@ -0,0 +1,124 @@
|
||||
---
|
||||
title: Create an individual assignment
|
||||
intro: You can create an assignment for students in your course to complete individually.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/creating-an-individual-assignment
|
||||
- /education/manage-coursework-with-github-classroom/create-an-individual-assignment
|
||||
---
|
||||
|
||||
### About individual assignments
|
||||
|
||||
{% data reusables.classroom.assignments-individual-definition %}
|
||||
|
||||
{% data reusables.classroom.classroom-creates-individual-repositories %}
|
||||
|
||||
{% data reusables.classroom.about-assignments %}
|
||||
|
||||
For a video demonstration of the creation of an individual assignment, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)."
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
{% data reusables.classroom.assignments-classroom-prerequisite %}
|
||||
|
||||
### Creating an assignment
|
||||
|
||||
{% data reusables.classroom.assignments-guide-create-the-assignment %}
|
||||
|
||||
### Setting up the basics for an assignment
|
||||
|
||||
Name your assignment, decide whether to assign a deadline, and choose the visibility of assignment repositories.
|
||||
|
||||
- [Naming an assignment](#naming-an-assignment)
|
||||
- [Assigning a deadline for an assignment](#assigning-a-deadline-for-an-assignment)
|
||||
- [Choosing an assignment type](#choosing-an-assignment-type)
|
||||
- [Choosing a visibility for assignment repositories](#choosing-a-visibility-for-assignment-repositories)
|
||||
|
||||
#### Naming an assignment
|
||||
|
||||
For an individual assignment, {% data variables.product.prodname_classroom %} names repositories by the repository prefix and the student's {% data variables.product.product_name %} username. By default, the repository prefix is the assignment title. For example, if you name an assignment "assignment-1" and the student's username on {% data variables.product.product_name %} is @octocat, the name of the assignment repository for @octocat will be `assignment-1-octocat`.
|
||||
|
||||
{% data reusables.classroom.assignments-type-a-title %}
|
||||
|
||||
#### Assigning a deadline for an assignment
|
||||
|
||||
{% data reusables.classroom.assignments-guide-assign-a-deadline %}
|
||||
|
||||
#### Choosing an assignment type
|
||||
|
||||
Under "Individual or group assignment", select the drop-down menu, and click **Individual assignment**. You can't change the assignment type after you create the assignment. If you'd rather create a group assignment, see "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)."
|
||||
|
||||
#### Choosing a visibility for assignment repositories
|
||||
|
||||
{% data reusables.classroom.assignments-guide-choose-visibility %}
|
||||
|
||||
{% data reusables.classroom.assignments-guide-click-continue-after-basics %}
|
||||
|
||||
### Adding starter code and configuring a development environment
|
||||
|
||||
{% data reusables.classroom.assignments-guide-intro-for-environment %}
|
||||
|
||||
- [Choosing a template repository](#choosing-a-template-repository)
|
||||
- [Choosing an online integrated development environment (IDE)](#choosing-an-online-integrated-development-environment-ide)
|
||||
|
||||
#### Choosing a template repository
|
||||
|
||||
By default, a new assignment will create an empty repository for each student on the roster for the classroom. {% data reusables.classroom.you-can-choose-a-template-repository %} For more information about template repositories, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)."
|
||||
|
||||
{% data reusables.classroom.assignments-guide-choose-template-repository %}
|
||||
|
||||
{% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %}
|
||||
|
||||
#### Choosing an online integrated development environment (IDE)
|
||||
|
||||
{% data reusables.classroom.about-online-ides %} For more information, see "[Integrate {% data variables.product.prodname_classroom %} with an IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)."
|
||||
|
||||
{% data reusables.classroom.assignments-guide-choose-an-online-ide %}
|
||||
|
||||
### Providing feedback for an assignment
|
||||
|
||||
Optionally, you can automatically grade assignments and create a space for discussing each submission with the student.
|
||||
|
||||
- [Testing assignments automatically](#testing-assignments-automatically)
|
||||
- [Preventing changes to important files](#preventing-changes-to-important-files)
|
||||
- [Creating a pull request for feedback](#creating-a-pull-request-for-feedback)
|
||||
|
||||
#### Testing assignments automatically
|
||||
|
||||
{% data reusables.classroom.assignments-guide-using-autograding %}
|
||||
|
||||
#### Preventing changes to important files
|
||||
|
||||
{% data reusables.classroom.assignments-guide-prevent-changes %}
|
||||
|
||||
#### Creating a pull request for feedback
|
||||
|
||||
{% data reusables.classroom.you-can-create-a-pull-request-for-feedback %}
|
||||
|
||||
{% data reusables.classroom.assignments-guide-create-review-pull-request %}
|
||||
|
||||
{% data reusables.classroom.assignments-guide-click-create-assignment-button %}
|
||||
|
||||
### Inviting students to an assignment
|
||||
|
||||
{% data reusables.classroom.assignments-guide-invite-students-to-assignment %}
|
||||
|
||||
You can see whether a student has joined the classroom and accepted or submitted an assignment in the **All students** tab for the assignment. {% data reusables.classroom.assignments-to-prevent-submission %}
|
||||
|
||||
<div class="procedural-image-wrapper">
|
||||
<img alt="Individual assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-individual-hero.png">
|
||||
</div>
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
- Once you create the assignment, students can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and student can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)."
|
||||
|
||||
- When a student finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand the student's work. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)."
|
||||
|
||||
- You can provide feedback for an assignment by commenting on individual commits or lines in a pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)" and "[Opening an issue from code](/github/managing-your-work-on-github/opening-an-issue-from-code)." For more information about creating saved replies to provide feedback for common errors, see "[About saved replies](/github/writing-on-github/about-saved-replies)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[Use {% data variables.product.prodname_dotcom %} in your classroom and research](/education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research)"
|
||||
- "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)"
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Get started with GitHub Classroom
|
||||
shortTitle: Erste Schritte
|
||||
intro: Learn how to configure and use {% data variables.product.prodname_classroom %} to administer your course.
|
||||
mapTopic: true
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
title: Glossar
|
||||
intro: You can review explanations of terminology for {% data variables.product.prodname_classroom %}.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### abtretung
|
||||
|
||||
An assignment is coursework in {% data variables.product.prodname_classroom %}. A teacher can assign an assignment to an individual student or a group of students. Teachers can import starter code for the assignment, assign students, and create a deadline for each assignment. For more information, see the definitions for "[individual assignment](#individual-assignment)" and "[group assignment](#group-assignment)."
|
||||
|
||||
---
|
||||
|
||||
### classroom
|
||||
|
||||
A classroom is the basic unit of {% data variables.product.prodname_classroom %}. Teachers can use a classroom to organize and manage students, teaching assistants, and assignments for a single course. A classroom belongs to an organization on {% data variables.product.prodname_dotcom_the_website %}. To administer a classroom, you must be an organization owner for the organization on {% data variables.product.prodname_dotcom %}. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms)."
|
||||
|
||||
---
|
||||
|
||||
### {% data variables.product.prodname_classroom %}
|
||||
|
||||
{% data variables.product.prodname_classroom %} is a web application for educators that provides course administration tools integrated with {% data variables.product.prodname_dotcom %}. For more information, see the [{% data variables.product.prodname_classroom %}](https://classroom.github.com/) website.
|
||||
|
||||
---
|
||||
|
||||
### group assignment
|
||||
|
||||
{% data reusables.classroom.assignments-group-definition %} For more information, see "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)."
|
||||
|
||||
---
|
||||
|
||||
### identifier
|
||||
|
||||
An identifier in {% data variables.product.prodname_classroom %} is a unique ID for a student participating in a course. For example, an identifier can be a student name, alphanumeric ID, or email address.
|
||||
|
||||
---
|
||||
|
||||
### individual assignment
|
||||
|
||||
{% data reusables.classroom.assignments-individual-definition %} For more information, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)."
|
||||
|
||||
---
|
||||
|
||||
### roster
|
||||
|
||||
A roster allows a teacher to manage students and assignment submissions in a classroom on {% data variables.product.prodname_classroom %}. Teachers can create a roster by entering a list of student identifiers, or by connecting {% data variables.product.prodname_classroom %} to a learning management system (LMS). For more information about identifiers, see the definition of "[identifier](#identifier)." For more information about connecting {% data variables.product.prodname_classroom %} to an LMS, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)."
|
||||
|
||||
---
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- „[{% data variables.product.prodname_dotcom %}-Glossar](/github/getting-started-with-github/github-glossary)“
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: Manage coursework with GitHub Classroom
|
||||
shortTitle: '{% data variables.product.prodname_classroom %}'
|
||||
intro: With {% data variables.product.prodname_classroom %}, you can use {% data variables.product.product_name %} to administer or participate in a course about software development.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### Inhaltsverzeichnis
|
||||
|
||||
{% topic_link_in_list /get-started-with-github-classroom %}
|
||||
{% link_in_list /basics-of-setting-up-github-classroom %}
|
||||
{% link_in_list /glossary %}
|
||||
|
||||
{% topic_link_in_list /teach-with-github-classroom %}
|
||||
{% link_in_list /manage-classrooms %}
|
||||
{% link_in_list /create-an-individual-assignment %}
|
||||
{% link_in_list /create-a-group-assignment %}
|
||||
{% link_in_list /create-an-assignment-from-a-template-repository %}
|
||||
{% link_in_list /leave-feedback-with-pull-requests %}
|
||||
{% link_in_list /use-autograding %}
|
||||
{% link_in_list /configure-default-settings-for-assignment-repositories %}
|
||||
{% link_in_list /connect-a-learning-management-system-to-github-classroom %}
|
||||
|
||||
{% topic_link_in_list /integrate-github-classroom-with-an-ide %}
|
||||
{% link_in_list /integrate-github-classroom-with-an-online-ide %}
|
||||
{% link_in_list /about-using-makecode-arcade-with-github-classroom %}
|
||||
{% link_in_list /about-using-replit-with-github-classroom %}
|
||||
{% link_in_list /run-student-code-in-an-online-ide %}
|
||||
|
||||
{% topic_link_in_list /learn-with-github-classroom %}
|
||||
{% link_in_list /view-autograding-results %}
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Integrate GitHub Classroom with an IDE
|
||||
shortTitle: Integrate with an IDE
|
||||
intro: You can help your students write, test, and debug code by preconfiguring a development environment for assignment repositories on {% data variables.product.prodname_classroom %}.
|
||||
mapTopic: true
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: Integrate GitHub Classroom with an online IDE
|
||||
shortTitle: Integrate with an online IDE
|
||||
intro: You can preconfigure a supported online integrated development environment (IDE) for assignments you create in {% data variables.product.prodname_classroom %}.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/online-ide-integrations
|
||||
---
|
||||
|
||||
### About integration with an online IDE
|
||||
|
||||
{% data reusables.classroom.about-online-ides %}
|
||||
|
||||
After a student accepts an assignment with an online IDE, the README file in the student's assignment repository will contain a button to open the assignment in the IDE. The student can begin working immediately, and no additional configuration is necessary.
|
||||
|
||||

|
||||
|
||||
### Supported online IDEs
|
||||
|
||||
{% data variables.product.prodname_classroom %} supports the following online IDEs. You can learn more about the student experience for each IDE.
|
||||
|
||||
| IDE | Weitere Informationen |
|
||||
|:------------------------- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Microsoft MakeCode Arcade | "[About using MakeCode Arcade with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/about-using-makecode-arcade-with-github-classroom)" |
|
||||
| Repl.it | "[About using Repl.it with GitHub Classroom](/education/manage-coursework-with-github-classroom/about-using-replit-with-github-classroom)" |
|
||||
|
||||
### Configuring an online IDE for an assignment
|
||||
|
||||
You can choose the online IDE you'd like to use for an assignment when you create an assignment. To learn how to create a new assignment that uses an online IDE, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" or "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)."
|
||||
|
||||
### Authorizing the OAuth app for an online IDE
|
||||
|
||||
The first time you configure an assignment with an online IDE, you must authorize the OAuth app for the online IDE for your organization.
|
||||
|
||||

|
||||
|
||||
For all repositories, grant the app **read** access to metadata, administration, and code, and **write** access to administration and code. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)"
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Learn with GitHub Classroom
|
||||
intro: You can participate in coursework in {% data variables.product.prodname_classroom %} and see results from your teacher.
|
||||
mapTopic: true
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: Leave feedback with pull requests
|
||||
intro: You can leave feedback for your students in a special pull request within the repository for each assignment.
|
||||
permissions: People with read permissions to a repository can leave feedback in a pull request for the repository.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/leaving-feedback-in-github
|
||||
---
|
||||
|
||||
### About feedback pull requests for assignments
|
||||
|
||||
{% data reusables.classroom.you-can-create-a-pull-request-for-feedback %}
|
||||
|
||||
When you enable the pull request for feedback for an assignment, {% data variables.product.prodname_classroom %} will create a special pull request titled **Feedback** in the assignment repository for each student or team. The pull request automatically shows every commit that a student pushed to the assignment repository's default branch.
|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
To create and access the feedback pull request, you must enable the feedback pull request when you create the assignment. {% data reusables.classroom.for-more-information-about-assignment-creation %}
|
||||
|
||||
### Leaving feedback in a pull request for an assignment
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
1. In the list of classrooms, click the classroom with the assignment you want to review. 
|
||||
{% data reusables.classroom.click-assignment-in-list %}
|
||||
1. To the right of the submission, click **Review**. 
|
||||
1. Review the pull request. Weitere Informationen findest Du unter „[Einen Pull Request kommentieren](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- "[Integrate {% data variables.product.prodname_classroom %} with an IDE](http://localhost:4000/en/free-pro-team@latest/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)"
|
||||
@@ -0,0 +1,106 @@
|
||||
---
|
||||
title: Manage classrooms
|
||||
intro: You can create and manage a classroom for each course that you teach using {% data variables.product.prodname_classroom %}.
|
||||
permissions: Organization owners can manage a classroom for an organization.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/archive-a-classroom
|
||||
---
|
||||
|
||||
### About classrooms
|
||||
|
||||
{% data reusables.classroom.about-classrooms %}
|
||||
|
||||

|
||||
|
||||
### About management of classrooms
|
||||
|
||||
{% data variables.product.prodname_classroom %} uses organization accounts on {% data variables.product.product_name %} to manage permissions, administration, and security for each classroom that you create. Each organization can have multiple classrooms.
|
||||
|
||||
After you create a classroom, {% data variables.product.prodname_classroom %} will prompt you to invite teaching assistants (TAs) and admins to the classroom. Each classroom can have one or more admins. Admins can be teachers, TAs, or any other course administrator who you'd like to have control over your classrooms on {% data variables.product.prodname_classroom %}.
|
||||
|
||||
Invite TAs and admins to your classroom by inviting the user accounts on {% data variables.product.product_name %} to your organization as organization owners and sharing the URL for your classrom. Organization owners can administer any classroom for the organization. For more information, see "[Permission levels for an organization](/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization)" and "[Inviting users to join your organization](/github/setting-up-and-managing-organizations-and-teams/inviting-users-to-join-your-organization)."
|
||||
|
||||
When you're done using a classroom, you can archive the classroom and refer to the classroom, roster, and assignments later, or you can delete the classroom if you no longer need the classroom.
|
||||
|
||||
### About classroom rosters
|
||||
|
||||
Each classroom has a roster. A roster is a list of identifiers for the students who participate in your course.
|
||||
|
||||
When you first share the URL for an assignment with a student, the student must sign into {% data variables.product.product_name %} with a user account to link the user account to an identifier for the classroom. After the student links a user account, you can see the associated user account in the roster. You can also see when the student accepts or submits an assignment.
|
||||
|
||||

|
||||
|
||||
### Vorrausetzungen
|
||||
|
||||
You must have an organization account on {% data variables.product.product_name %} to manage classrooms on {% data variables.product.prodname_classroom %}. For more information, see "[Types of {% data variables.product.company_short %} accounts](/github/getting-started-with-github/types-of-github-accounts#organization-accounts)" and "[Creating a new organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)."
|
||||
|
||||
You must authorize the OAuth app for {% data variables.product.prodname_classroom %} for your organization to manage classrooms for your organization account. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)."
|
||||
|
||||
### Creating a classroom
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
1. Click **New classroom**. 
|
||||
{% data reusables.classroom.guide-create-new-classroom %}
|
||||
|
||||
After you create a classroom, you can begin creating assignments for students. For more information, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" or "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)."
|
||||
|
||||
### Creating a roster for your classroom
|
||||
|
||||
You can create a roster of the students who participate in your course.
|
||||
|
||||
If your course already has a roster, you can update the students on the roster or delete the roster. For more information, see "[Adding a student to the roster for your classroom](#adding-students-to-the-roster-for-your-classroom)" or "[Deleting a roster for a classroom](#deleting-a-roster-for-a-classroom)."
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.click-students %}
|
||||
1. To connect {% data variables.product.prodname_classroom %} to your LMS and import a roster, click {% octicon "mortar-board" aria-label="The mortar board icon" %} **Import from a learning management system** and follow the instructions. For more information, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)." 
|
||||
1. To create a roster manually, type your student identifiers. Optionally, click **Upload a CSV or text file** to upload a file containing the identifiers. 
|
||||
1. Click **Create roster**. 
|
||||
|
||||
### Adding students to the roster for your classroom
|
||||
|
||||
Your classroom must have an existing roster to add students to the roster. For more information about creating a roster, see "[Creating a roster for your classrom](#creating-a-roster-for-your-classroom)."
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.click-students %}
|
||||
1. To the right of "Classroom roster", click **Update students**. 
|
||||
1. Follow the instructions to add students to the roster.
|
||||
- To import students from an LMS, click **Sync from a learning management system**. For more information about importing a roster from an LMS, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)."
|
||||
- To manually add students, under "Manually add students", click **Upload a CSV or text file** or type the identifiers for the students, then click **Add roster entries**. 
|
||||
|
||||
### Renaming a classroom
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.click-settings %}
|
||||
1. Under "Classroom name", type a new name for the classroom. 
|
||||
1. Click **Rename classroom**. 
|
||||
|
||||
### Archiving or unarchiving a classroom
|
||||
|
||||
You can archive a classroom that you no longer use on {% data variables.product.prodname_classroom %}. When you archive a classroom, you can't create new assignments or edit existing assignments for the classroom. Students can't accept invitations to assignments in archived classrooms.
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
1. To the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Archive**. 
|
||||
1. To unarchive a classroom, to the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Unarchive**. 
|
||||
|
||||
### Deleting a roster for a classroom
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.click-students %}
|
||||
1. Under "Delete this roster", click **Delete roster**. 
|
||||
1. Read the warnings, then click **Delete roster**. 
|
||||
|
||||
### Deleting a classroom
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.click-settings %}
|
||||
1. To the right of "Delete this classroom", click **Delete classroom**. 
|
||||
1. **Lies die Warnungen.**.
|
||||
1. To verify that you're deleting the correct classroom, type the name of the classroom you want to delete. 
|
||||
1. Click **Delete classroom**. 
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Run student code in an online IDE
|
||||
intro: You can run the code from a student assignment within the online integrated development environment (IDE) that you configured for the assignment.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/running-student-code
|
||||
---
|
||||
|
||||
### About student code and online IDEs
|
||||
|
||||
If you configure an online integrated development environment (IDE) for an assignment, you can run the code within the online IDE. You don't need to clone the assignment repository to your computer.
|
||||
|
||||
For more information about online IDEs, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)."
|
||||
|
||||
### Running student code in the online IDE
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.click-assignment-in-list %}
|
||||
1. To the right of the submission, click **View IDE**. 
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Teach with GitHub Classroom
|
||||
intro: Learn how to set up your classroom and assignments.
|
||||
mapTopic: true
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
---
|
||||
title: Use autograding
|
||||
intro: You can automatically provide feedback on code submissions from your students by configuring tests to run in the assignment repository.
|
||||
miniTocMaxHeadingLevel: 4
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/adding-tests-for-auto-grading
|
||||
- /education/manage-coursework-with-github-classroom/reviewing-auto-graded-work-teachers
|
||||
---
|
||||
|
||||
### About autograding
|
||||
|
||||
{% data reusables.classroom.about-autograding %}
|
||||
|
||||
After a student accepts an assignment, on every push to the assignment repository, {% data variables.product.prodname_actions %} runs the commands for your autograding test in a Linux environment containing the student's newest code. {% data variables.product.prodname_classroom %} creates the necessary workflows for {% data variables.product.prodname_actions %}. You don't need experience with {% data variables.product.prodname_actions %} to use autograding.
|
||||
|
||||
You can use a testing framework, run a custom command, write input/output tests, or combine different testing methods. The Linux environment for autograding contains many popular software tools. For more information, see the details for the latest version of Ubuntu in "[Specifications for {% data variables.product.company_short %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners#supported-software)."
|
||||
|
||||
You can see an overview of which students are passing autograding tests by navigating to the assignment in {% data variables.product.prodname_classroom %}. A green checkmark means that all tests are passing for the student, and a red X means that some or all tests are failing for the student. If you award points for one or more tests, then a bubble shows the score for the tests out of the maximum possible score for the assignment.
|
||||
|
||||

|
||||
|
||||
### Grading methods
|
||||
|
||||
There are two grading methods: input/output tests and run command tests.
|
||||
|
||||
#### Input/output test
|
||||
|
||||
An input/output test optionally runs a setup command, then provides standard input to a test command. {% data variables.product.prodname_classroom %} evaluates the test command's output against an expected result.
|
||||
|
||||
| Einstellung | Beschreibung |
|
||||
|:------------------- |:------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| **Test name** | The name of the test, to identify the test in logs |
|
||||
| **Setup command** | _Optional_. A command to run before tests, such as compilation or installation |
|
||||
| **Run command** | The command to run the test and generate standard output for evaluation |
|
||||
| **Inputs** | Standard input for run command |
|
||||
| **Expected output** | The output that you want to see as standard output from the run command |
|
||||
| **Comparison** | The type of comparison between the run command's output and the expected output<br/><br/><ul><li>**Included**: Passes when the expected output appears<br/>anywhere in the standard output from the run command</li><li>**Exact**: Passes when the expected output is completely identical<br/>to the standard output from the run command</li><li>**Regex**: Passes if the regular expression in expected<br/>output matches against the standard output from the run command</li></ul> |
|
||||
| **Timeout** | In minutes, how long a test should run before resulting in failure |
|
||||
| **Points** | _Optional_. The number of points the test is worth toward a total score |
|
||||
|
||||
#### Run command test
|
||||
|
||||
A run command test runs a setup command, then runs a test command. {% data variables.product.prodname_classroom %} checks the exit status of the test command. An exit code of `0` results in success, and any other exit code results in failure.
|
||||
|
||||
{% data variables.product.prodname_classroom %} provides presets for language-specific run command tests for a variety of programming languages. For example, the **Run node** test prefills the setup command with `npm install` and the test command with `npm test`.
|
||||
|
||||
| Einstellung | Beschreibung |
|
||||
|:----------------- |:------------------------------------------------------------------------------ |
|
||||
| **Test name** | The name of the test, to identify the test in logs |
|
||||
| **Setup command** | _Optional_. A command to run before tests, such as compilation or installation |
|
||||
| **Run command** | The command to run the test and generate an exit code for evaluation |
|
||||
| **Timeout** | In minutes, how long a test should run before resulting in failure |
|
||||
| **Points** | _Optional_. The number of points the test is worth toward a total score |
|
||||
|
||||
### Configuring autograding tests for an assignment
|
||||
|
||||
You can add autograding tests during the creation of a new assignment. {% data reusables.classroom.for-more-information-about-assignment-creation %}
|
||||
|
||||
You can add, edit, or delete autograding tests for an existing assignment. If you change the autograding tests for an existing assignment, existing assignment repositories will not be affected. A student or team must accept the assignment and create a new assignment repository to use the new tests.
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.assignments-click-pencil %}
|
||||
1. In the left sidebar, click **Grading and feedback**. 
|
||||
1. Add, edit, or delete an autograding test.
|
||||
- To add a test, under "Add autograding tests", select the **Add test** drop-down menu, then click the grading method you want to use.  Configure the test, then click **Save test case**. 
|
||||
- To edit a test, to the right of the test name, click {% octicon "pencil" aria-label="The pencil icon" %}.  Configure the test, then click **Save test case**. 
|
||||
- To delete a test, to the right of the test name, click {% octicon "trash" aria-label="The trash icon" %}. 
|
||||
1. At the bottom of the page, click **Update assignment**. 
|
||||
|
||||
### Viewing logs from autograding tests
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
{% data reusables.classroom.click-classroom-in-list %}
|
||||
{% data reusables.classroom.click-assignment-in-list %}
|
||||
1. To the right of a submission, click **View test**. 
|
||||
1. Review the test output. For more information, see "[Using workflow run logs](/actions/managing-workflow-runs/using-workflow-run-logs)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- [{% data variables.product.prodname_actions %} documentation](/actions)
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: View autograding results
|
||||
intro: You can see results from autograding within the repository for your assignment.
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
redirect_from:
|
||||
- /education/manage-coursework-with-github-classroom/reviewing-auto-graded-work-students
|
||||
---
|
||||
|
||||
### About autograding
|
||||
|
||||
Your teacher can configure tests that automatically check your work when you push to an assignment repository on {% data variables.product.product_location %}.
|
||||
|
||||
If you're a student and your instructor has configured autograding for your assignment in {% data variables.product.prodname_classroom %}, you'll find autograding test results throughout your assignment repository. If all tests succeed for a commit, you'll see a green checkmark. If any tests fail for a commit, you'll see a red X. You can see detailed logs by clicking the green checkmark or red X.
|
||||
|
||||
### Viewing autograding results for an assignment repository
|
||||
|
||||
{% data variables.product.prodname_classroom %} uses {% data variables.product.prodname_actions %} to run autograding tests. For more information about viewing the logs for an autograding test, see "[Using workflow run logs](/actions/managing-workflow-runs/using-workflow-run-logs#viewing-logs-to-diagnose-failures)."
|
||||
|
||||
The **Actions** tab shows the full history of test runs.
|
||||
|
||||

|
||||
|
||||
You can click a specific test run to review log output, like compilation errors and test failures.
|
||||
|
||||

|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- „[Über Statuschecks](/github/collaborating-with-issues-and-pull-requests/about-status-checks)"
|
||||
87
translations/de-DE/content/education/quickstart.md
Normal file
87
translations/de-DE/content/education/quickstart.md
Normal file
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: Quickstart for GitHub Educators
|
||||
intro: In about 15 minutes, teachers can get started with discounts, training, and tools for {% data variables.product.company_short %}, then create a classroom for the students in a software development course using {% data variables.product.prodname_classroom %}.
|
||||
allowTitleToDifferFromFilename: true
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### Einführung
|
||||
|
||||
Educators who teach a course on software development can use discounts, partnerships, training, and tools from {% data variables.product.prodname_education %} to effectively teach relevant skills to students.
|
||||
|
||||
In this guide, you'll get started with {% data variables.product.product_name %}, sign up for accounts and discounted services through {% data variables.product.prodname_education %}, and create a space for your course and assignment on {% data variables.product.prodname_classroom %}.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip**: If you're a student and you'd like to take advantage of an academic discount, see "[Applying for a student developer pack](/github/teaching-and-learning-with-github-education/applying-for-a-student-developer-pack)."
|
||||
|
||||
{% endtip %}
|
||||
|
||||
### Creating accounts on {% data variables.product.product_name %}
|
||||
|
||||
First, you'll need to create a free user account on {% data variables.product.product_name %}.
|
||||
|
||||
{% data reusables.accounts.create-account %}
|
||||
1. Follow the prompts to create your free user account.
|
||||
|
||||
After you create your user account, create a free organization account. You'll use this organization account to create and manage classrooms {% data variables.product.prodname_classroom %}.
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.organizations %}
|
||||
{% data reusables.organizations.new-organization %}
|
||||
4. Follow the prompts to create a free organization.
|
||||
|
||||
For more information, see "[Types of {% data variables.product.prodname_dotcom %} accounts](/github/getting-started-with-github/types-of-github-accounts)."
|
||||
|
||||
### Applying for an educator discount
|
||||
|
||||
Next, you'll sign up for discounts on services from {% data variables.product.company_short %}. {% data reusables.education.educator-requirements %}
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip** In addition to individual discounts, {% data variables.product.company_short %} offers partnerships with educational institutions through the {% data variables.product.prodname_campus_program %}. For more information, see the [{% data variables.product.prodname_campus_program %}](https://education.github.com/schools) website.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% data reusables.education.benefits-page %}
|
||||
{% data reusables.education.click-get-teacher-benefits %}
|
||||
{% data reusables.education.select-email-address %}
|
||||
{% data reusables.education.upload-proof-status %}
|
||||
{% data reusables.education.school-name %}
|
||||
{% data reusables.education.plan-to-use-github %}
|
||||
{% data reusables.education.submit-application %}
|
||||
|
||||
### Set up {% data variables.product.prodname_classroom %}
|
||||
|
||||
With your user account and organization account, you're ready to get started with {% data variables.product.prodname_classroom %}. {% data variables.product.prodname_classroom %} is free to use. You can track and manage assignments, grade work automatically, and provide feedback to your students.
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
1. To authorize {% data variables.product.prodname_classroom %} to access your user account on {% data variables.product.prodname_dotcom %}, review the information, then click **Authorize {% data variables.product.prodname_classroom %}**. 
|
||||
1. Review the information. To authorize {% data variables.product.prodname_classroom %} to access your organization account on {% data variables.product.prodname_dotcom %}, click **Grant**. 
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip**: If you see a **Request** button instead of a **Grant** button, you are a member of the organization, not an owner. An owner must approve your request for {% data variables.product.prodname_classroom %}. You must be an organization owner to create and manage classrooms and assignments in {% data variables.product.prodname_classroom %}. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps#oauth-apps-and-organizations)."
|
||||
|
||||
{% endtip %}
|
||||
|
||||
1. Click **Authorize github**. 
|
||||
|
||||
### Create your classroom
|
||||
|
||||
{% data reusables.classroom.about-classrooms %}
|
||||
|
||||
{% data reusables.classroom.sign-into-github-classroom %}
|
||||
1. Click **Create your first classroom** or **New classroom**.
|
||||
{% data reusables.classroom.guide-create-new-classroom %}
|
||||
|
||||
### Nächste Schritte:
|
||||
|
||||
You've created a classroom, and you're ready to enrich your course with {% data variables.product.product_name %} and {% data variables.product.prodname_classroom %}! 🎉
|
||||
|
||||
- Watch some videos about {% data variables.product.prodname_classroom %}. For more information, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)."
|
||||
- Manage your classrooms and classroom admins, and create a roster of students for your classroom. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms)."
|
||||
- Create an assignment for individual students or teams. {% data reusables.classroom.for-more-information-about-assignment-creation %}
|
||||
- Write and implement automated tests to provide immediate feedback to students directly in assignment repositories. For more information, see "[Use autograding](/education/manage-coursework-with-github-classroom/use-autograding)."
|
||||
- Participate in {% data variables.product.prodname_education_community_with_url %}.
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Informationen zu Campus Advisors
|
||||
intro: 'Lernen Sie als Instrukteur oder Mentor, {% data variables.product.prodname_dotcom %} an Ihrer Einrichtung mit Campus Advisors-Schulungen und -Support zu verwenden.'
|
||||
redirect_from:
|
||||
- /github/teaching-and-learning-with-github-education/about-campus-advisors
|
||||
- /articles/about-campus-advisors
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
Professoren, Lehrer und Mentoren können die Onlineschulungen von Campus Advisors nutzen, um den Umgang mit Git und {% data variables.product.prodname_dotcom %} sowie Best Practices für das Unterrichten von Studenten mit {% data variables.product.prodname_dotcom %} zu erlernen. Weitere Informationen findest Du unter „[Campus Advisors](https://education.github.com/teachers/advisors).“
|
||||
|
||||
{% note %}
|
||||
|
||||
**Hinweis:** Als Kursleiter kannst Du keine {% data variables.product.prodname_dotcom %}-Konten für Deine Studenten erstellen. Studenten müssen ihre eigenen {% data variables.product.prodname_dotcom %}-Konten erstellen.
|
||||
|
||||
{% endnote %}
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Informationen zu Campus Experts
|
||||
intro: 'Erwirb Dir als Student mit Campus Experts-Schulungen für {% data variables.product.prodname_dotcom %} die notwendigen Fähigkeiten, um die Technologie-Community an Deiner Bildungseinrichtung sowie ein realistisches Portfolio aufzubauen.'
|
||||
redirect_from:
|
||||
- /github/teaching-and-learning-with-github-education/about-campus-experts
|
||||
- /articles/about-campus-experts
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
Erlernen von Fähigkeiten in den Bereichen öffentliches Reden, technisches Schreiben, Community Leadership und Softwareentwicklung als Campus Experts für {% data variables.product.prodname_dotcom %}. Weitere Informationen findest Du unter „[Campus Experts](https://education.github.com/students/experts).“
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: Informationen über GitHub Education für Lehrer und Forscher
|
||||
intro: '{% data variables.product.prodname_education %} bietet eine Vielzahl von Tools, mit denen Lehrer und Forscher innerhalb und außerhalb des Unterrichts effektiver arbeiten können.'
|
||||
redirect_from:
|
||||
- /github/teaching-and-learning-with-github-education/about-github-education-for-educators-and-researchers
|
||||
- /articles/about-github-education-for-educators-and-researchers
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.education.about-github-education-link %}
|
||||
|
||||
### {% data variables.product.prodname_education %} für Lehrer
|
||||
|
||||
Die Werkzeuge und Dienste von {% data variables.product.prodname_education %} für Lehrer aller Bildungsebenen ermöglichen Dir Folgendes:
|
||||
- Verwende [{% data variables.product.prodname_classroom %}](https://classroom.github.com), um Code zu verteilen, Schülern und Studenten Feedback zu geben und Aufgaben auf {% data variables.product.prodname_dotcom %} einzusammeln.
|
||||
- Tritt unserer [{% data variables.product.prodname_education_community %}](https://education.github.com/forum) bei, um mit Deinen Kollegen aus der ganzen Welt über aktuelle Trends in der technologischen Bildung zu diskutieren.
|
||||
- Greife auf unsere [Open-Source-Lehrpläne](https://education.github.community/t/open-source-lesson-plans/1591) zum Unterrichten von Git und {% data variables.product.prodname_dotcom %} zu und passe diese an.
|
||||
- [Fordere eine {% data variables.product.prodname_dotcom %}-Tasche](https://education.github.community/t/get-a-github-swag-bag-for-your-classroom/33) mit Lehrmaterialien und Aufmerksamkeiten für Deine Schüler und Studenten an.
|
||||
{% data reusables.education.apply-for-team %}
|
||||
|
||||
### {% data variables.product.prodname_education %} für Forscher
|
||||
|
||||
Die Werkzeuge und Dienste von {% data variables.product.prodname_education %} für Forscher ermöglichen Dir Folgendes:
|
||||
- Arbeite weltweit auf {% data variables.product.prodname_dotcom %} mit anderen Personen gemeinsam an Deiner Forschungsarbeit.
|
||||
- [Erfahre](https://education.github.com/stories), wie akademische Einrichtungen auf der ganzen Welt {% data variables.product.prodname_dotcom %} für ihre Forschung verwenden.
|
||||
{% data reusables.education.apply-for-team %}
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- „[Informationen zu {% data variables.product.prodname_education %} für Schüler und Studenten](/articles/about-github-education-for-students)“
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Informationen zu GitHub Education für Schüler und Studenten
|
||||
intro: '{% data variables.product.prodname_education %} bietet Schülern und Studenten praktische Erfahrung mit kostenlosem Zugriff auf verschiedene Entwicklertools von Partnern von {% data variables.product.prodname_dotcom %}.'
|
||||
redirect_from:
|
||||
- /github/teaching-and-learning-with-github-education/about-github-education-for-students
|
||||
- /articles/about-github-education-for-students
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
Die Verwendung von {% data variables.product.prodname_dotcom %} für Ihre Projektarbeiten ist ein praktischer Weg, um mit anderen zusammenzuarbeiten und ein Portfolio aufzubauen, das Ihre praktische Erfahrung zeigt.
|
||||
|
||||
{% data reusables.education.about-github-education-link %}
|
||||
|
||||
Jeder mit einem {% data variables.product.prodname_dotcom %}-Konto kann unbegrenzt in öffentlichen und privaten Repositorys mit {% data variables.product.prodname_free_user %} zusammenarbeiten. Als Schüler oder Student können Sie auch das {% data variables.product.prodname_student_pack %} beantragen, das kostenlosen Zugriff auf Tools und Dienste bietet, die von professionellen Entwicklern verwendet werden. For more information, see "[Apply for a student developer pack](/education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack)" and [{% data variables.product.prodname_education %}](https://education.github.com/pack).
|
||||
|
||||
Wenn Sie Mitglied in einem FIRST Robotics Club sind, kann Ihr Lehrer einen Rabatt beantragen, damit Ihr Team mit {% data variables.product.prodname_team %} zusammenarbeiten kann, wodurch eine unbegrenzte Anzahl von Benutzern und privaten Repositorys kostenlos genutzt werden kann. For more information, see "[Apply for an educator or researcher discount](/education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount)."
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- „[Informationen zu {% data variables.product.prodname_education %} für Lehrer und Forscher](/articles/about-github-education-for-educators-and-researchers)“
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Informationen zu GitHub Education
|
||||
intro: '{% data variables.product.prodname_education %} bietet ein spezielles kostenloses Produkt für Bildungseinrichtungen, die {% data variables.product.prodname_dotcom %} optimal für ihre Community nutzen möchten und den spezifischen Programmanforderungen zustimmen.'
|
||||
redirect_from:
|
||||
- /github/teaching-and-learning-with-github-education/about-github-education
|
||||
- /articles/about-github-education
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
Wenn Ihre Schule bestimmte Anforderungen erfüllt, kann Ihre weiterführende Schule, Ihre Universität oder Ihr Schülercamp {% data variables.product.prodname_education %} und damit das Beste von {% data variables.product.prodname_dotcom %} kostenlos nutzen, einschließlich
|
||||
- {% data variables.product.prodname_ghe_cloud %} und/oder {% data variables.product.prodname_ghe_server %},
|
||||
- Lehrerschulung zur Beherrschung von Git und {% data variables.product.prodname_dotcom %} mit unserem Campus Advisors-Programm,
|
||||
- automatisierter Zugriff auf die Premiumfunktionen von {% data variables.product.prodname_education %}, wie z. B. das {% data variables.product.prodname_student_pack %},
|
||||
- Schulungen für Schüler und Studenten mit dem Campus Experts-Programm zur Entwicklung von Leadership und technischer Kompetenz.
|
||||
|
||||
Weitere Informationen findest Du auf der [offiziellen {% data variables.product.prodname_education %}-Seite](https://education.github.com/partners/schools).
|
||||
|
||||
Teachers can manage a course on software development with {% data variables.product.prodname_education %}. {% data variables.product.prodname_classroom %} allows you to distribute code, provide feedback, and manage coursework using {% data variables.product.product_name %}. For more information, see "[Manage coursework with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom)."
|
||||
|
||||
Weitere Informationen zu Schulungsprogrammen für Schüler, Studenten und Lehrer findest Du unter „[{% data variables.product.prodname_dotcom %} Campus Experts](https://education.github.com/students/experts)“ und „[Campus Advisors](https://education.github.com/teachers/advisors).“
|
||||
|
||||
Wenn Sie Schüler, Student oder Lehrkraft sind und Ihre Einrichtung nicht mit {% data variables.product.prodname_dotcom %} als {% data variables.product.prodname_education %}-Einrichtung kooperiert, können Sie trotzdem individuell Rabatte für die Nutzung von {% data variables.product.prodname_dotcom %} beantragen. For more information, see "[Use {% data variables.product.prodname_dotcom %} for your schoolwork](/education/teach-and-learn-with-github-education/use-github-for-your-schoolwork)" or "[Use {% data variables.product.prodname_dotcom %} in your classroom and research](/education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research/)."
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: Apply for a student developer pack
|
||||
intro: 'Studenten können das {% data variables.product.prodname_student_pack %} beantragen, das Angebote und Vorteile von {% data variables.product.prodname_dotcom %}-Partnern umfasst.'
|
||||
redirect_from:
|
||||
- /github/teaching-and-learning-with-github-education/applying-for-a-student-developer-pack
|
||||
- /articles/applying-for-a-student-developer-pack
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
{% data reusables.education.about-github-education-link %}
|
||||
|
||||
### Anforderungen
|
||||
|
||||
Damit Du ein {% data variables.product.prodname_student_pack %} nutzen kannst, musst Du:
|
||||
- Derzeit als Schüler oder Student in einer Einrichtung eingeschrieben sein, die einen Abschluss oder ein Diplom verleiht, beispielsweise ein Gymnasium, eine weiterführende Schule, eine Hochschule, eine Universität, eine Heimschule oder eine ähnliche Bildungseinrichtung,
|
||||
- Eine überprüfbare E-Mail-Adresse einer Hochschule besitzen oder Dokumente hochladen, die Deinen aktuellen Status als Student bestätigen
|
||||
- Ein [{% data variables.product.prodname_dotcom %}-Benutzerkonto](/articles/signing-up-for-a-new-github-account) besitzen,
|
||||
- Mindestens 13 Jahre alt sein
|
||||
|
||||
Zu den Dokumenten, die Deinen aktuellen Status als Schüler oder Student belegen, gehören ein Bild Deines Schulausweises, Deines Stundenplans und Deiner Zeugnisse sowie ein Schreiben zur Bestätigung der Mitgliedschaft oder Immatrikulation.
|
||||
|
||||
Während Deiner Zeit als Student wirst Du möglicherweise dazu aufgefordert, in regelmäßigen Abständen Deinen aktuellen akademischen Status zu bestätigen.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Hinweis:** Du kannst akademische Rabatte nicht von einem Konto zu einem anderen übertragen. Wenn Du den Rabatt auf mehrere Konten anwenden möchtest, kannst Du Deine Benutzerkonten [zusammenführen](/articles/merging-multiple-user-accounts) und das resultierende Konto [umbenennen](/articles/changing-your-github-username), falls gewünscht.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
Weitere Informationen zum Verlängerung Ihres {% data variables.product.prodname_student_pack %}s finden Sie unter „[Ablauf und Verlängerungen](/education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack/#expiration-and-renewals)“.
|
||||
|
||||
### Ein {% data variables.product.prodname_student_pack %} beantragen
|
||||
|
||||
{% data reusables.education.benefits-page %}
|
||||
3. Wähle unter „Which best describes your academic status?“ (Was beschreibt Deinen akademischen Status am besten?) **Student** aus. 
|
||||
{% data reusables.education.select-email-address %}
|
||||
{% data reusables.education.upload-proof-status %}
|
||||
{% data reusables.education.school-name %}
|
||||
{% data reusables.education.plan-to-use-github %}
|
||||
{% data reusables.education.submit-application %}
|
||||
|
||||
### Ablauf und Verlängerungen
|
||||
|
||||
Wenn Ihr Zugriff auf das {% data variables.product.prodname_student_pack %} abgelaufen ist, können Sie ihn erneut beantragen, sofern Sie die Voraussetzungen weiterhin erfüllen. Einige unserer Partnerangebote können jedoch nicht verlängert werden. Die meisten zeitlich begrenzten Angebote unserer Partner beginnen unmittelbar nachdem Du sie eingerichtet hast. Weitere Informationen findest Du auf der [{% data variables.product.prodname_student_pack %}](https://education.github.com/pack)-Seite.
|
||||
|
||||
Angaben dazu, wann Ihr kostenloser Zugriff auf das {% data variables.product.prodname_student_pack %} abläuft, finden Sie in den [Abrechnungseinstellungen](https://github.com/settings/billing) Ihres Kontos.
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- „[Warum wurde mein Antrag für das {% data variables.product.prodname_student_pack %}s abgelehnt?](/articles/why-wasn-t-my-application-for-a-student-developer-pack-approved)“
|
||||
- „[Für ein neues {% data variables.product.prodname_dotcom %}-Konto anmelden](/articles/signing-up-for-a-new-github-account)“
|
||||
- [{% data variables.product.prodname_education %}](https://education.github.com)
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
title: Apply for an educator or researcher discount
|
||||
intro: 'Wenn Sie ein Lehrer oder Forscher sind, können Sie beantragen, {% data variables.product.prodname_team %} kostenlos für das Konto Ihrer Organisation zu erhalten.'
|
||||
redirect_from:
|
||||
- /github/teaching-and-learning-with-github-education/applying-for-an-educator-or-researcher-discount
|
||||
- /articles/applying-for-a-classroom-discount/
|
||||
- /articles/applying-for-a-discount-for-your-school-club/
|
||||
- /articles/applying-for-an-academic-research-discount/
|
||||
- /articles/applying-for-a-discount-for-your-first-robotics-team/
|
||||
- /articles/applying-for-an-educator-or-researcher-discount
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### Informationen zu Lehrer- und Forscherrabatten
|
||||
|
||||
{% data reusables.education.about-github-education-link %}
|
||||
|
||||
{% data reusables.education.educator-requirements %}
|
||||
|
||||
For more information about user accounts on {% data variables.product.product_name %}, see "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/github/getting-started-with-github/signing-up-for-a-new-github-account)."
|
||||
|
||||
### Einen Lehrer- oder Forscherrabatt beantragen
|
||||
|
||||
{% data reusables.education.benefits-page %}
|
||||
{% data reusables.education.click-get-teacher-benefits %}
|
||||
{% data reusables.education.select-email-address %}
|
||||
{% data reusables.education.upload-proof-status %}
|
||||
{% data reusables.education.school-name %}
|
||||
{% data reusables.education.plan-to-use-github %}
|
||||
{% data reusables.education.submit-application %}
|
||||
|
||||
### Ein Upgrade Deiner Organisation durchführen
|
||||
|
||||
Nachdem Dein Antrag für einen Lehrer- oder Forscherrabatt genehmigt wurde, kannst Du die von Dir mit Deiner Lerngemeinschaft benutzte Organisation auf {% data variables.product.prodname_team %} hochstufen, was die kostenlose Nutzung von unbegrenzten Benutzern und privaten Repositorys erlaubt. Du kannst eine vorhandene Organisation hochstufen oder eine neue Organisation für das Hochstufen erstellen.
|
||||
|
||||
#### Hochstufen einer vorhandenen Organisation
|
||||
|
||||
{% data reusables.education.upgrade-page %}
|
||||
{% data reusables.education.upgrade-organization %}
|
||||
|
||||
#### Hochstufen einer neuen Organisation
|
||||
|
||||
{% data reusables.education.upgrade-page %}
|
||||
1. Klicke auf {% octicon "plus" aria-label="The plus symbol" %} **Create an organization** (Erstelle eine Organisation). 
|
||||
3. Lies die Informationen, dann klicke auf **Create organization** (Organisation erstellen). 
|
||||
4. Klicke unter "Choose your plan" (Wähle Deinen Plan), auf **Choose {% data variables.product.prodname_free_team %}** (Wähle Produkt).
|
||||
5. Folge den Anweisungen, um Deine Organisation zu erstellen.
|
||||
{% data reusables.education.upgrade-page %}
|
||||
{% data reusables.education.upgrade-organization %}
|
||||
|
||||
### Weiterführende Informationen
|
||||
|
||||
- „[Warum wurde mein Antrag eines Lehrer- oder Forscherrabatts nicht genehmigt?](/articles/why-wasn-t-my-application-for-an-educator-or-researcher-discount-approved)“
|
||||
- [{% data variables.product.prodname_education %}](https://education.github.com)
|
||||
- [{% data variables.product.prodname_classroom %}-Videos](https://classroom.github.com/videos)
|
||||
- [{% data variables.product.prodname_education_community %}](https://education.github.community/)
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Explore the benefits of teaching and learning with GitHub Education
|
||||
shortTitle: Teach and learn
|
||||
intro: Learn how {% data variables.product.prodname_education %} can benefit your classroom, schoolwork, or research and how to apply for free access to various developer tools from {% data variables.product.company_short %}'s partners.
|
||||
redirect_from:
|
||||
- /education/teach-and-learn-with-github-education
|
||||
- /github/teaching-and-learning-with-github-education
|
||||
- /categories/teaching-and-learning-with-github-education
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
### Inhaltsverzeichnis
|
||||
|
||||
{% topic_link_in_list /use-github-at-your-educational-institution %}
|
||||
{% link_in_list /about-github-education %}
|
||||
{% link_in_list /about-campus-experts %}
|
||||
{% link_in_list /about-campus-advisors %}
|
||||
{% topic_link_in_list /use-github-for-your-schoolwork %}
|
||||
{% link_in_list /about-github-education-for-students %}
|
||||
{% link_in_list /apply-for-a-student-developer-pack %}
|
||||
{% link_in_list /why-wasnt-my-application-for-a-student-developer-pack-approved %}
|
||||
{% topic_link_in_list /use-github-in-your-classroom-and-research %}
|
||||
{% link_in_list /about-github-education-for-educators-and-researchers %}
|
||||
{% link_in_list /apply-for-an-educator-or-researcher-discount %}
|
||||
{% link_in_list /why-wasnt-my-application-for-an-educator-or-researcher-discount-approved %}
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Use GitHub at your educational institution
|
||||
intro: 'Maximieren Sie die Vorteile der Nutzung von {% data variables.product.prodname_dotcom %} in Ihrer Einrichtung für Ihre Studenten, Instrukteure und IT-Mitarbeiter mit {% data variables.product.prodname_education %} und unseren verschiedenen Schulungsprogrammen für Studenten und Instrukteure.'
|
||||
mapTopic: true
|
||||
redirect_from:
|
||||
- /github/teaching-and-learning-with-github-education/using-github-at-your-educational-institution
|
||||
- /articles/using-github-at-your-educational-institution
|
||||
versions:
|
||||
free-pro-team: '*'
|
||||
---
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user