Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
tachtler:gitlab_centos_7_-_api_curl [2018/12/09 08:42] – [API: Abfragen] klaus | tachtler:gitlab_centos_7_-_api_curl [2018/12/09 10:47] (aktuell) – [*¹ Project API] klaus |
---|
durch den Benutzer in dessen **''User Settings | Access Tokens'' (Benutzereinstellungen | Zugriff "Token")** erforderlich. | durch den Benutzer in dessen **''User Settings | Access Tokens'' (Benutzereinstellungen | Zugriff "Token")** erforderlich. |
| |
==== Access Tokens: Erstellen ==== | ==== Access Tokens: erstellen ==== |
| |
Nachfolgende Beschreibung zeigt, wie ein **Access Token** über die [[https://gitlab.com/|Gitlab]]-Web-Oberfläche erstellt werden kann. | Nachfolgende Beschreibung zeigt, wie ein **Access Token** über die [[https://gitlab.com/|Gitlab]]-Web-Oberfläche erstellt werden kann. |
| |
^ Befehl/Paramater ^ Beschreibung ^ | ^ Befehl/Paramater ^ Beschreibung ^ |
| <code>curl</code> | Der Befehl **''curl''** selbst | | | ''curl'' | Der Befehl **''curl''** selbst | |
| <code>-s</code> | **Silent** - Unterdrückt jegliche Ausgaben die vom Befehl **''curl''** selbst sind | | | ''-s'' | **Silent** - Unterdrückt jegliche Ausgaben die vom Befehl **''curl''** selbst sind | |
| <code>-u "[username]"</code>| **User** - (Benutzername) aus [[https://gitlab.com/|Gitlab]] | | | **''-u ”[username]”''**| **User** - (Benutzername) aus [[https://gitlab.com/|Gitlab]] | |
| <code>--header "[token]"</code> | **Access Token**-Angabe für den Zugriff auf [[https://gitlab.com/|Gitlab]] | | | ''−−header ”[token]”'' | **Access Token**-Angabe für den Zugriff auf [[https://gitlab.com/|Gitlab]] | |
| <code>[URL]</code> | **URL** mit Angabe der Informationen, welche ermittelt werden sollen | | | ''[URL]'' | **URL** mit Angabe der Informationen, welche ermittelt werden sollen | |
| <code>|</code> | **Umleiten** der Ausgabe in eine ''pipe'' (Kanal/Rohr) zu dem nachfolgendem Befehl | | | ''|'' | **Umleiten** der Ausgabe in eine ''pipe'' (Kanal/Rohr) zu dem nachfolgendem Befehl | |
| <code>python −mjson.tool</code> | **Python**-Befehlsaufruf zur **JSON** Formatierten Ausgabe | | | ''python −mjson.tool'' | **Python**-Befehlsaufruf zur **JSON** Formatierten Ausgabe | |
| |
:!: **HINWEIS** - **Der Paramater ''-u [username]'' muss nur angegeben werden, wenn ein ''.htaccess''-Schutz besteht!** | :!: **HINWEIS** - **Der Paramater ''-u [username]'' muss nur angegeben werden, wenn ein ''.htaccess''-Schutz besteht!** |
* **[[https://docs.gitlab.com/ee/api/README.html]]** | * **[[https://docs.gitlab.com/ee/api/README.html]]** |
| |
==== * ¹ Project API ==== | ==== *¹ Project API ==== |
| |
//* ¹ :!: **HINWEIS** - **Ausserhalb der alphabetischen Reihenfolge, das dies ein Bestandteil für nachfolgende Befehle ist!**// | //*¹ :!: **HINWEIS** - **Ausserhalb der alphabetischen Reihenfolge, da dies ein Bestandteil für nachfolgende Befehle ist!**// |
| |
Nachfolgende Erklärungen beschreiben den Aufbau des **''curl''**-Befehls-Syntax **zur Ermittlung __aller__ Projekte** aus [[https://gitlab.com/|Gitlab]]: | Nachfolgende Erklärungen beschreiben den Aufbau des **''curl''**-Befehls-Syntax **zur Ermittlung __aller__ Projekte** aus [[https://gitlab.com/|Gitlab]]: |
<code ini> | <code ini> |
# curl -s -u "user" --header "PRIVATE-TOKEN: j9rnycMbMSCyjKddBq8C" "https://gitlab.tachtler.net/api/v4/projects/" | python -mjson.tool | grep -e \"id\" -e \"web_url\" | # curl -s -u "user" --header "PRIVATE-TOKEN: j9rnycMbMSCyjKddBq8C" "https://serverC8.tachtler.net/api/v4/projects/" | python -mjson.tool | grep -e \"id\" -e \"web_url\" |
Enter host password for user 'user': | Enter host password for user 'user': |
</code> | </code> |
</code> | </code> |
| |
:!: **HINWEIS** - **Die Projekt-ID ist immer die am weitesten links stehende, hier: ''"id": 8,'' !** | **__Nachfolgend der Befehlsaufbau__**: |
| |
| ^ Befehl/Paramater ^ Beschreibung ^ |
| | ''curl'' | Der Befehl **''curl''** selbst | |
| | ''-s'' | **Silent** - Unterdrückt jegliche Ausgaben die vom Befehl **''curl''** selbst sind | |
| | **''-u ”[username]”''**| **User** - (Benutzername) aus [[https://gitlab.com/|Gitlab]] | |
| | ''−−header ”[token]”'' | **Access Token**-Angabe für den Zugriff auf [[https://gitlab.com/|Gitlab]] | |
| | ''[URL]'' | **URL** mit Angabe der Informationen, welche ermittelt werden sollen | |
| | ''|'' | **Umleiten** der Ausgabe in eine ''pipe'' (Kanal/Rohr) zu dem nachfolgendem Befehl | |
| | ''python −mjson.tool'' | **Python**-Befehlsaufruf zur **JSON** Formatierten Ausgabe | |
| | ''|'' | **Umleiten** der Ausgabe in eine ''pipe'' (Kanal/Rohr) zu dem nachfolgendem Befehl | |
| | ''grep -e \”id\” -e \”web_url\”'' | **Filter** der Ausgabe nach ''”id”'' und ''”web_url”'' | |
| |
| |
| :!: **HINWEIS** - **Die Projekt-ID ist immer die am weitesten links stehende, hier: ''”id”: 8,'' !** |
| |
:!: **HINWEIS** - **Weiter eingerückte ID's sind die des "Parent", hier: '"id": 2,'' !** | :!: **HINWEIS** - **Weiter eingerückte ID's sind die des "Parent", hier: ''”id”: 2,'' !** |
| |
==== Pipelines API ==== | ==== Pipelines API ==== |
| |
:!: **HINWEIS** - Zur Ermittlung der **Projekt-ID** - siehe nachfolgenden internen Link: | :!: **HINWEIS** - Zur Ermittlung der **Projekt-ID** - siehe nachfolgenden internen Link: |
* [[tachtler:gitlab_centos_7_-_api_curl#project_api|Gitlab CentOS 7 - API (curl) - * ¹ Project API]] | * [[tachtler:gitlab_centos_7_-_api_curl#project_api|Gitlab CentOS 7 - API (curl) - *¹ Project API]] |
| |
Nachfolgende Möglichkeiten der Informationsbeschaffung können durchgeführt werden: | Nachfolgende Möglichkeiten der Informationsbeschaffung können durchgeführt werden: |
Nachfolgende Erklärungen beschreiben den Aufbau des **''curl''**-Befehls-Syntax **zur Auflistung __aller__ Projektpipelines, __eines bestimmten Projekts__ mit der entsprechenden __Projekt-ID__** aus [[https://gitlab.com/|Gitlab]]: | Nachfolgende Erklärungen beschreiben den Aufbau des **''curl''**-Befehls-Syntax **zur Auflistung __aller__ Projektpipelines, __eines bestimmten Projekts__ mit der entsprechenden __Projekt-ID__** aus [[https://gitlab.com/|Gitlab]]: |
<code ini> | <code ini> |
| # curl -s -u "user" --header "PRIVATE-TOKEN: j9rnycMbMSCyjKddBq8C" "https://serverC8.tachtler.net/api/v4/projects/8/pipelines" | python -mjson.tool |
| Enter host password for user 'user': |
| </code> |
| |
| Erzeugt die Ausgabe der aktuellen **Pipelines** des Projekts **8** von [[https://gitlab.com/|Gitlab]]: |
| * Siehe auch zur Beschreibung, den nachfolgenden externen Link: [[https://docs.gitlab.com/ee/api/pipelines.html#list-project-pipelines]] |
| <code javascript> |
| [ |
| { |
| "id": 100, |
| "ref": "development", |
| "sha": "773b0e8bfb601567d38c9bda72e2b6fc9f614504", |
| "status": "success", |
| "web_url": "https://serverC8.tachtler.net/gitlabuser/jmilter-footermilter/pipelines/100" |
| }, |
| { |
| "id": 99, |
| "ref": "development", |
| "sha": "2f16427b80aac4bb9afca89734243ab255762c9e", |
| "status": "success", |
| "web_url": "https://serverC8.tachtler.net/gitlabuser/jmilter-footermilter/pipelines/99" |
| }, |
| { |
| "id": 98, |
| "ref": "master", |
| "sha": "477470a96c79e521a8cbd8f7282e73c2b15ea5e4", |
| "status": "success", |
| "web_url": "https://serverC8.tachtler.net/gitlabuser/jmilter-footermilter/pipelines/98" |
| }, |
| { |
| "id": 97, |
| "ref": "development", |
| "sha": "0facb923e1d665d0b9b3604502b34cb765ef2232", |
| "status": "success", |
| "web_url": "https://serverC8.tachtler.net/gitlabuser/jmilter-footermilter/pipelines/97" |
| }, |
| { |
| "id": 96, |
| "ref": "development", |
| "sha": "d5cd8f2a7c125d23adb6f5bfd2a07b78c73d67d3", |
| "status": "success", |
| "web_url": "https://serverC8.tachtler.net/gitlabuser/jmilter-footermilter/pipelines/96" |
| }, |
| { |
| "id": 95, |
| "ref": "development", |
| "sha": "abc956e74618f26d76cdd87a4a226afd944103cc", |
| "status": "failed", |
| "web_url": "https://serverC8.tachtler.net/gitlabuser/jmilter-footermilter/pipelines/95" |
| }, |
| { |
| "id": 94, |
| "ref": "development", |
| "sha": "e1b86374e5f04eb8ffa647295854d94e3bcaa013", |
| "status": "failed", |
| "web_url": "https://serverC8.tachtler.net/gitlabuser/jmilter-footermilter/pipelines/94" |
| } |
| ] |
</code> | </code> |
| |
| === Eine einzelne Pipeline abfragen === |
| |
| Nachfolgende Erklärungen beschreiben den Aufbau des **''curl''**-Befehls-Syntax **zur Auflistung __einer__ Projektpipelines, __eines bestimmten Projekts__ mit der entsprechenden __Projekt-ID__** aus [[https://gitlab.com/|Gitlab]]: |
| <code ini> |
| # curl -s -u "user" --header "PRIVATE-TOKEN: j9rnycMbMSCyjKddBq8C" "https://serverC8.tachtler.net/api/v4/projects/8/pipelines/100" | python -mjson.tool |
| Enter host password for user 'user': |
| </code> |
| |
| Erzeugt die Ausgabe **__einer__** **Pipelines** des Projekts **8** von [[https://gitlab.com/|Gitlab]]: |
| * Siehe auch zur Beschreibung, den nachfolgenden externen Link: [[https://docs.gitlab.com/ee/api/pipelines.html#get-a-single-pipeline]] |
| <code javascript> |
| { |
| "before_sha": "2f27427b80aac4bb9afca88734243bd25576229e", |
| "committed_at": null, |
| "coverage": null, |
| "created_at": "2018-12-08T06:54:36.800Z", |
| "duration": 8, |
| "finished_at": "2018-12-08T06:54:48.963Z", |
| "id": 100, |
| "ref": "development", |
| "sha": "772b0e8bfb601467d38c9cda72e2b6fc7f614504", |
| "started_at": "2018-12-08T06:54:38.748Z", |
| "status": "success", |
| "tag": false, |
| "updated_at": "2018-12-08T06:54:48.978Z", |
| "user": { |
| "avatar_url": null, |
| "id": 2, |
| "name": "Klaus Tachtler", |
| "state": "active", |
| "username": "gitlabuser", |
| "web_url": "https://serverC8.tachtler.net/klaus" |
| }, |
| "web_url": "https://serverC8.tachtler.net/gitlabuser/jmilter-footermilter/pipelines/100", |
| "yaml_errors": null |
| } |
| </code> |
| |
| === Eine Pipeline löschen === |
| |
| :!: **HINWEIS** - **Erst ab [[https://gitlab.com/|Gitlab]] Version 11.6.x verfügbar!** |
| |
| Nachfolgende Erklärungen beschreiben den Aufbau des **''curl''**-Befehls-Syntax **zur Löschung __einer__ Projektpipelines, __eines bestimmten Projekts__ mit der entsprechenden __Projekt-ID__** aus [[https://gitlab.com/|Gitlab]]: |
| <code ini> |
| # curl -s -u "user" --header "PRIVATE-TOKEN: j9rnycMbMSCyjKddBq8C" --request "DELETE" "https://serverC8.tachtler.net/api/v4/projects/8/pipelines/100" | python -mjson.tool |
| Enter host password for user 'user': |
| </code> |
| |
| Erzeugt die Ausgabe **__zur Löschung einer__** **Pipelines** des Projekts **8** von [[https://gitlab.com/|Gitlab]]: |
| * Siehe auch zur Beschreibung, den nachfolgenden externen Link: [[https://docs.gitlab.com/ee/api/pipelines.html#delete-a-pipeline]] |
| <code javascript> |
| |
| </code> |
| |
| ===== Nachbereitung ===== |
| |
| Nachdem alle [[https://docs.gitlab.com/ee/api/README.html|GitLab API]]-Abfragen durchgeführt worden sind, kann der **Access Token** mit nachfolgendem Vorgehen widerrufen werden. |
| |
| ==== Access Token: widerrufen ==== |
| |
| Nachfolgende Beschreibung zeigt, wie ein **Access Token** über die [[https://gitlab.com/|Gitlab]]-Web-Oberfläche widerrufen werden kann. |
| |
| === Schritt 1 === |
| |
| Nach erfolgreicher Anmeldung, muss im **oberen Menü** das **Symbol für den Benutzer** ausgewählt werden und dort der Menüpunkt **[Settings]** (Einstellungen) ebenfalls ausgewählt werden, wie nachfolgende Bildschirmkopie zeigt: |
| |
| {{:tachtler:gitlab:gitlab_user_settings.png|Gitlab - User - Settings}} |
| |
| === Schritt 2 === |
| |
| Anschließend wird im **linken Bildschirmbereich** der Menüpunkt **[Access Tokens]** ausgewählt, wie nachfolgende Bildschirmkopie zeigt: |
| |
| {{:tachtler:gitlab:gitlab_user_settings_access-tokes.png|Gitlab - User - Settings - Access Tokens}} |
| |
| === Schritt 3 === |
| |
| Anschließend kann der **Access Token** in der Auflistung aller **Access Token** widerrufen werden, indem die Schaltfläche **[Revoke]**, wie nachfolgende Bildschirmkopie zeigt: |
| |
| {{:tachtler:gitlab:gitlab_user_settings_access-tokes_revoke.png|Gitlab - User - Settings - Access Tokens - Create personal access token - Overview}} |
| |
| === Schritt 4 === |
| |
| Nachdem der **Access Token** widerrufen wurde, wird dies mit nachfolgender Anzeige bestätigt: |
| |
FIXME - **Hier geht es weiter... / To be continued ...** | {{:tachtler:gitlab:gitlab_user_settings_access-tokes_revoke_done.png|Gitlab - User - Settings - Access Tokens - Create personal access token - revoked}} |
| |