Enregistrez des tickets avec l'API de Redmine en utilisant des requêtes Python

Aperçu

Utilisation du module de requêtes de python, utilisation de l'API de redmine Enregistrez votre ticket.

Pourquoi avez-vous écrit cet article

Un exemple utilisant python-redmine est facile à trouver, Il n'y a pas beaucoup de choses qui utilisent des requêtes, si vous le faites comme vous le faites avec curl J'ai trébuché, alors je l'ai écrit dans l'espoir que quelqu'un d'autre ne trébucherait pas.

Pourquoi python-redmine n'a-t-il pas fonctionné?

Après avoir enregistré le ticket, utilisez ce ticket comme ticket parent et créez les tickets enfants les uns après les autres Je voulais m'inscrire, mais avec la bibliothèque ci-dessus, après l'enregistrement des billets Parce que la réponse revient avec une valeur booléenne Parce que l'ID de ticket enregistré n'a pas pu être obtenu. (S'il vous plaît dites-moi qui peut le faire!)

supposition

Comment enregistrer un ticket

Préparation de l'en-tête

Les informations d'en-tête sont stockées dans une variable appelée myheaders comme suit.

myheaders = {
    'Content-Type': 'application/json',
    'X-Redmine-API-Key': 'Clé API'
}

Exemple d'entrée
myheaders = {
    'Content-Type': 'application/json',
    'X-Redmine-API-Key': 'asdfghjklzxcvbnm'
}

Préparer la valeur du ticket

payload = {
    "issue": {
        "project_id":ID du projet,
        "subject": "Objet du billet",
        "status_id":ID de statut,
        "tracker_id":ID de traqueur,
        "parent_issue_id": "Si vous souhaitez utiliser un ticket comme ticket parent, son ID de ticket",
        "due_date": "Date d'échéance (2017-01-01))",
        "description": "#Aperçu\n Vous pouvez commencer une nouvelle ligne avec une barre oblique inverse n.",
        "custom_fields": [
            {"id":ID de champ personnalisé, "value": "Valeur que vous souhaitez enregistrer", "name": "Nom du champ personnalisé"},
            {"id":ID de champ personnalisé, "value": ["Dans un domaine", "Lorsque vous souhaitez enregistrer plusieurs valeurs", "Divisez comme ça"], "name": "Nom du champ personnalisé"}
        ]
    }
}

Exemple d'entrée
payload = {
    "issue": {
        "project_id": 10,
        "subject": "Objet du billet",
        "status_id": 15,
        "tracker_id": 8,
        "parent_issue_id": "10000",
        "due_date": "2017−01−01",
        "description": "#Aperçu\n Vous pouvez commencer une nouvelle ligne avec une barre oblique inverse n.",
        "custom_fields": [
            {"id": 1, "value": "citrouille", "name": "Légumes préférés"},
            {"id": 2, "value": ["D", "F","G","H"], "name": "Taille préférée"}
        ]
    }
}

Enregistrez votre billet avec les demandes!

Enregistrez votre billet comme suit!

redmineurl = 'http://URL redmine'  
requests.post(redmineurl,headers=myheaders,data=json.dumps(payload))

Recommended Posts

Enregistrez des tickets avec l'API de Redmine en utilisant des requêtes Python
Créer un enregistrement avec des pièces jointes dans KINTONE à l'aide du module de requêtes Python
Création récente de classement à l'aide de l'API Qiita avec Python
Manipuler Redmine à l'aide de Python Redmine
Réessayer avec des requêtes python
Jouer avec l'API d'intelligence artificielle locale de l'utilisateur en Python
[Python] Générer ValueObject avec un constructeur complet à l'aide de classes de données
[Blender] Complétez l'API Python de Blender avec un éditeur de texte
Utilisez des programmes Python avec le plugin de sortie exec_filter de fluentd
[Vagrant] Configurer un serveur API simple avec python
Utilisez des programmes Python avec le plugin de sortie exec de fluentd
Enregistrer des images à l'aide de requêtes python3
Utiliser l'API Trello avec python
[S3] CRUD avec S3 utilisant Python [Python]
Utiliser l'API Twitter avec Python
Utilisation de Quaternion avec Python ~ numpy-quaternion ~
API Web avec Python + Falcon
Utiliser une imprimante avec Debian 10
Faites une loterie avec Python
Appelez l'API avec python3.
Utiliser l'API subsonique avec python3
Créer un répertoire avec python
Utiliser OpenCV avec Python @Mac
Enregistrer le problème Redmine de Python
Envoyer en utilisant Python avec Gmail
Une note sur l'utilisation de l'API Facebook avec le SDK Python
Prenez rapidement une chaîne de requête avec API Gateway-> Lambda (Python)
Créez rapidement une API avec Python, lambda et API Gateway à l'aide d'AWS SAM
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google
Compléter python avec emacs en utilisant company-jedi
Moyenne harmonique par Python (en utilisant SciPy)
Résoudre ABC163 A ~ C avec Python
Contrôlez le moteur avec un pilote de moteur en utilisant python sur Raspberry Pi 3!
Faites fonctionner l'imprimante de reçus avec python
Manuel de graphisme Python avec Matplotlib.
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
Créer Awaitable avec l'API Python / C
J'ai fait un Line-bot avec Python!
Rubyist a essayé de créer une API simple avec Python + bouteille + MySQL
Utilisation de Rstan de Python avec PypeR
Créer une interface graphique python à l'aide de tkinter
Obtenez des avis avec l'API googlemap de python
Une histoire sur l'ajout d'une API REST à un démon créé avec Python
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Faisons une interface graphique avec python.
Exécutez Rotrics DexArm avec l'API Python
Implémentation de CRUD à l'aide de l'API REST avec Python + Django Rest framework + igGrid
[Python3] Google translate google translation sans utiliser l'API
Résoudre ABC166 A ~ D avec Python
[Python] Fichiers wav POST avec requêtes [POST]
Quine Post avec l'API Qiita (Python)
Obtenez la météo avec les requêtes Python
Créez un environnement virtuel avec Python!
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
J'ai fait une loterie avec Python.