[Automatisierung] Betreiben Sie GitLab mit Python, um die Verwaltung von Anfragen zu vereinfachen

Der Vorfall passiert vor Ort!

Ich entwickle Software in einem Unternehmen, aber am Entwicklungsstandort erhalte ich viele Anfragen von Verkäufern: "Das Problem tritt nicht am Evaluierungsstandort auf! Es tritt am Standort auf!"

Die Forschung und Antworten auf diese Anfrage werden die bereits erschöpften Entwicklungsmitglieder weiter erschöpfen.

Es ist unvermeidlich, Anfragen aus dem Feld zu erhalten, aber das Problem ist, dass dieser ** Anfrage-zu-Antwort-Prozess analog ist **.

  1. ** Anfragepost ** kommt vom Sekretariat vor Ort
  2. Das Entwicklungsfenster empfängt die E-Mail und ** füllt die Anfrageverwaltungstabelle aus **
  3. Fordern Sie eine Antwort per ** E-Mail an das entsprechende Entwicklungsmitglied ** an

Es ist jedoch problematisch, da im Grunde alles per E-Mail ausgetauscht wird und es schwierig ist, den aktuellen Status für jede Anfrage ** zu verstehen, was die schlimmste Situation ist.

toiawase_before.png

Lassen Sie uns den Prozess automatisieren

Ich habe versucht, diesen schlimmsten Prozess wie folgt zu verbessern.

  1. ** Anfragepost ** kommt vom Sekretariat vor Ort
  2. Verwenden Sie Microsoft ** Power Automate **, um ** automatisch ** zur Abfrageverwaltungstabelle in Excel Online hinzuzufügen
  3. Verwenden Sie Python, um die Abfrageverwaltungstabelle zu durchsuchen. Wenn eine neue Abfrage hinzugefügt wird, ** registrieren Sie automatisch ein Problem in GitLab **
  4. Entwicklungsmitglieder erhalten automatisch eine E-Mail mit einer Umfrageanforderung von GitLab

toiawase_after.png

Dies erleichtert das Management erheblich.

In diesem Artikel

** 3. Verwenden Sie Python, um die Anfrageverwaltungstabelle zu durchsuchen. Wenn eine neue Anfrage hinzugefügt wird, registrieren Sie automatisch ein Problem in GitLab **

In diesem Zusammenhang zeigen wir Ihnen, wie Sie Gitlab-Probleme in Python verwalten.

Arbeiten mit GitLab in Python

Sie können GitLab mit Python betreiben, indem Sie ein Paket namens ** python-gitlab ** verwenden.

Installation

Zuerst installieren wir python-gitlab mit dem Befehl pip install.

pip install python-gitlab

Stellen Sie eine Verbindung zu GitLab her

Hiermit können Sie von Python aus eine Verbindung zu GitLab herstellen. GitLab wird jedoch vom Benutzer verwaltet und ist für niemanden zugänglich. Daher werde ich mein eigenes ** Zugriffstoken ** ausstellen und damit auf GitLab in Python zugreifen.

Ausgabe von GitLab-Zugriffstoken

Stellen Sie zunächst Ihr eigenes "Zugriffstoken" über den GitLab-Einstellungsbildschirm aus.

1. Melden Sie sich bei GitLab an und wählen Sie "Einstellungen" aus dem Avatar-Bild oben rechts.

gitlab_token.png

2. Wählen Sie links im Menü "Access Token".

gitlab_token2.png

3. Stellen Sie ein Token aus, um auf GitLab zuzugreifen.

--Name: Geben Sie ihm einen geeigneten Namen, um das Verständnis zu erleichtern.

Klicken Sie auf die Schaltfläche "Persönliches Zugriffstoken erstellen", um das Token auszustellen.

gitlab_token3.png

4. Die ausgegebene Zugriffstokenzeichenfolge wird angezeigt.

Speichern wir die Zeichenfolge dieses Tokens in einem Notizblock usw. Wenn Sie diese Seite verlassen, können Sie sie niemals bestätigen.

gitlab_token4.png

python-Create gitlab Konfigurationsdatei

Legen Sie in python-gitlab die erforderlichen Informationen in der Konfigurationsdatei fest und verwenden Sie diese Informationen, um auf GitLab zuzugreifen. Das oben ausgegebene Zugriffstoken wird auch in dieser Konfigurationsdatei festgelegt.

Schreiben Sie den folgenden Inhalt in einen Texteditor und speichern Sie ihn als ".python-gitlab.cfg" im Benutzerordner (C: \ Users \ XXXX (Benutzername)).

:.python-gitlab.cfg


[global]
default = gitlab
ssl_verify = true
timeout = 5

[gitlab]
url =GitLab URL
private_token =Persönliches Zugriffstoken

Danke für Ihre Unterstützung. Jetzt können Sie loslegen. Lassen Sie uns endlich mit Python auf GitLab zugreifen.

GitLab-Operation

Obwohl Python-Gitlab auch Benutzer und Meilensteine verwalten kann, wird in diesem Artikel die Funktionsweise von Problemen erläutert (auch als "Probleme" oder "Tickets" bezeichnet).

Siehe bei Bedarf auch die offizielle Dokumentation (https://python-gitlab.readthedocs.io/en/stable/gl_objects/issues.html).

Greifen Sie auf das Projekt zu

Verwenden Sie die Konfigurationsdatei von früher, um auf GitLab zuzugreifen.

Python



import gitlab

gl = gitlab.Gitlab.from_config()

Verwenden Sie dann gl.projects.get (), um die Projekt-ID von GitLab anzugeben und auf das Projekt zuzugreifen. Melden Sie sich bei GitLab an, um Ihre Projekt-ID zu überprüfen.

Python



project_id = 1234567 #Projekt-ID
project = gl.projects.get(project_id)

Sie haben jetzt ein Objekt für dieses Projekt.

Jetzt, da Sie bereit sind, ist es ein wenig beängstigend, ein Problem plötzlich zu registrieren. Lassen Sie uns zunächst sehen, ob wir uns auf das Problem beziehen können.

Siehe Ausgabe

Ich habe ein solches Problem in GitLab registriert. Lassen Sie uns diese Probleme in Python behandeln.

gitlab_issue.png

Verwenden Sie "project.issues.list ()", um eine Liste der im Projekt registrierten Probleme abzurufen. Verwenden Sie danach die for-Anweisung, um die Problemobjekte einzeln abzurufen.

Python



issues = project.issues.list()

for issue in issues:
    print("-------------------")
    print("【Titel】", issue.title)
    print("【Description】", issue.description)
    print("【Status】", issue.state)
    print("【Assignee】", issue.assignee["name"])
    print("【Due date】", issue.due_date)
    print("【Labels】", issue.labels)

Die Attribute der Probleme finden Sie unter hier.

Die Hauptattribute sind unten aufgeführt.

Attribut ausgeben Bedeutung
id ID
title Titel
description Description
state Staat (offen/Schließen)
assignee Assignee
due_date Frist
labels Etikette

Ausführungsergebnis


-------------------
[Titel] Besuchen Sie Mr. Sekis Laden!
[Beschreibung] Es ist schwer!
Das nächste Mal möchte Herr Seki mit Majolica über den Laden sprechen!
Ich muss etwas dagegen tun!
[Bedingung] geschlossen
【Assignee】 Doremi
【Due date】 2020-09-13
【Labels】 []
-------------------
[Titel] Steigender Kaufpreis
[Beschreibung] In diesem Monat hat sich der Kaufpreis im Vergleich zum letzten Monat mehr als verdoppelt.

Ich denke, Dela ist verrückt, aber ... Es gibt eine Geschichte, dass die Preise der magischen Gesellschaft in letzter Zeit steigen.
Lassen Sie mich ab nächsten Monat Maßnahmen im Hinblick auf einen Lieferantenwechsel in Betracht ziehen.
[Bedingung] geöffnet
【Assignee】 Doremi
【Due date】 2020-09-18
【Labels】 ['Management']
-------------------
[Titel] Verdächtige Person
[Beschreibung] Kürzlich hörte ich ein Gerücht, dass eine verdächtige Person, die ein alter Mann zu sein scheint, durch die MAHO-Halle wandert.
Möchten Sie Maßnahmen ergreifen?
[Bedingung] geöffnet
【Assignee】 Doremi
【Due date】 2020-09-25
【Labels】 []

Sie konnten es erfolgreich bekommen.

Registrieren Sie ein Problem

Dann wird das Hauptthema registriert. Verwenden Sie "project.issues.create ()", um ein Problem zu registrieren.

Python



#Ticketregistrierung
new_issue = project.issues.create({"title":"Herbstreise nach Tohoku(Geschäftsreiseverkauf)",
                                    "description":"Auch in diesem Jahr werde ich einen Geschäftsreiseverkauf mit dem Namen Autumn Trip starten.",
                                    "due_date":"2020-10-20"})

print(new_issue.id)

Ausführungsergebnis


71385002

gitlab_issue_create.png

Sie haben sich erfolgreich registriert!

Lassen Sie die Maschine tun, was die Maschine kann

Maschinen sind besser als Menschen darin, eingehende E-Mails zu überwachen, in Verwaltungstabellen zu schreiben und den Status zu verwalten. Solange das Programm korrekt ist, ist die Maschine schneller und genauer und beschwert sich nicht, selbst wenn Sie 24 Stunden am Tag arbeiten.

Ich denke, wir sind sehr glücklich, in einer Zeit zu leben, in der wir mit einer so praktischen Maschine arbeiten können. Verwenden wir die Maschine (Programm), um sich und Ihre Freunde von der langweiligen Arbeit zu befreien!

Recommended Posts

[Automatisierung] Betreiben Sie GitLab mit Python, um die Verwaltung von Anfragen zu vereinfachen
Versuchen Sie, Facebook mit Python zu betreiben
Kinesis mit Python betreiben
Betreiben Sie Blender mit Python
Betreiben Sie Excel mit Python (1)
Betreiben Sie Excel mit Python (2)
Probieren Sie die DB-Operation mit Python aus und visualisieren Sie sie mit d3
So bedienen Sie die Discord API mit Python (Bot-Registrierung)
Betreiben Sie Excel mit Python Open Pyxl
Stellen Sie mit Python eine Verbindung zu BigQuery her
Betreiben Sie TwitterBot mit Lambda, Python
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
[Hinweis] Betreiben Sie MongoDB mit Python
[GUI in Python] PyQt5-Layout-Management-
[Python] [SQLite3] Betreiben Sie SQLite mit Python (Basic)
Passwortverwaltung per Python: Schlüsselbund
Einführung in sie gemacht mit Python ~ Tinder Automatisierungsprojekt ~ Episode 6
Einführung in sie gemacht mit Python ~ Tinder Automatisierungsprojekt ~ Episode 5
Führen Sie Jupyter mit der REST-API aus, um Python-Code zu extrahieren und zu speichern
Python: So verwenden Sie Async mit
Bedienen Sie den Belegdrucker mit Python
Link, um mit Python zu beginnen
[Python] Mit Python in eine CSV-Datei schreiben
[Mit Python automatisiert! ] Teil 1: Datei einstellen
Ausgabe in eine CSV-Datei mit Python
[Automatisierung] Senden Sie Outlook-E-Mails mit Python
[Python] Ein Memo zum Betreiben eines mit GBDK mit PyBoy erstellten ROM
Konvertieren Sie die Liste mit Python in DataFrame
MP3 → WAV-Konvertierung mit Python
Schwanzrekursion mit Python2 durchführen
Erste Schritte mit Python
Was tun mit PYTHON Release?
Mit Python 3 einfach auf Twitter posten
[Mit Python automatisiert! ] Teil 2: Dateivorgang
Ich möchte mit Python debuggen
Versuchen Sie, Farbfilme mit Python zu reproduzieren
Versuchen Sie, sich mit Python bei qiita anzumelden
Ändern Sie die Python 64-Bit-Umgebung mit Anaconda in eine 32-Bit-Umgebung
Testen Sie nicht funktionalisierte Python-Programme mit GitLab CI
Englische Spracherkennung mit Python [Rede zu Text]
HTML-Mail mit Bild zum Senden mit Python
Memo, um nach KPI mit Python zu fragen
[Automatisierung] Bearbeiten Sie Maus und Tastatur mit Python
Python nur mit Hallo, Welten zu erinnern
Geben Sie Farbzeichen mit Python zu hübsch aus
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
Python-Protokoll mit GAE an die Konsole ausgeben
Konvertieren Sie Excel-Daten mit Python in JSON
Konvertiere Hiragana mit Python (Beta) in Romaji
Fraktal zum Erstellen und Spielen mit Python
Ich wollte ABC160 mit Python lösen
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
Einzelpixel-Kamera zum Erleben mit Python
Ich möchte Protokolle mit Python analysieren
Wie man einen Taschentest mit Python macht