cachet.php est une bibliothèque client PHP pour la page d'état du Cachet (https://cachethq.io/).
Cette bibliothèque pourrait être utile pour afficher les détails de votre page d'état du Cachet dans d'autres systèmes, tels qu'un tableau de bord de surveillance, un système de ticket client ou toute autre application Web.
Si vous souhaitez récupérer cachet.php avec Composer, jetez un œil sur Packagist : https://packagist.org/packages/divineomega/cachetphp
Avant de commencer, installez la bibliothèque cachet.php via Composer.
Maintenant, vous devez créer un objet CachetInstance qui représente votre installation de Cachet. Vous pouvez procéder ainsi :
require_once ' vendor/autoload.php ' ;
use DivineOmega CachetPHP Factories CachetInstanceFactory ;
// The API token for the demo instance is 9yMHsdioQosnyVK4iCVR.
$ cachetInstance = CachetInstanceFactory:: create ( ' https://demo.cachethq.io/api/v1/ ' , ' 9yMHsdioQosnyVK4iCVR ' );
Récupérer les données des différents éléments de votre instance Cachet est simple. Appelez simplement la méthode getter appropriée sur votre objet $cachetInstance
. L'installation de Cachet sera contactée et un tableau d'objets appropriés à la demande sera renvoyé.
$ components = $ cachetInstance -> getAllComponents (); // Components
$ incidents = $ cachetInstance -> getAllIncidents (); // Incidents
$ incidentUpdates = $ incidents [ 0 ]-> getAllIncidentUpdates (); // Incident Updates (Cachet 2.4.0 or above required)
$ metrics = $ cachetInstance -> getAllMetrics (); // Metrics
$ metricPoints = $ metrics [ 0 ]-> getAllMetricPoints (); // Metric Points
$ subscribers = $ cachetInstance -> getAllSubscribers (); // Subscribers
Pour récupérer un seul élément Cachet par son ID, vous pouvez utiliser un code similaire à la méthode suivante.
// Get incident by id
$ incident = $ cachetInstance -> getIncidentById ( $ incidentId );
Si vous souhaitez trier vos résultats, vous pouvez utiliser la syntaxe suivante. Cela fonctionne pour les composants, les incidents, les métriques, les points de métriques et les abonnés.
// Get components sorted by name ascending
$ components = $ cachetInstance -> getAllComponents ( ' name ' , ' asc ' );
La lecture des données à partir des objets d’élément Cachet récupérés est facile. Accédez simplement à leurs variables de membres publics.
Voici un exemple de sortie de l'identifiant, du nom, de la description et de l'état d'un composant Cachet.
// Get components
$ components = $ cachetInstance -> getAllComponents ();
// Display components
foreach ( $ components as $ component ) {
echo $ component -> id . ' - ' . $ component -> name . ' - ' . $ component -> description . ' - ' . $ component -> status ;
echo " <br/> " ;
}
Consultez la documentation officielle de Cachet pour plus d'informations sur les variables disponibles pour chaque type d'élément Cachet.
Vous pouvez créer très facilement un élément Cachet, comme un composant ou un incident, en utilisant la bibliothèque cachet.php . Cela implique de créer un tableau associatif des détails des éléments Cachet, puis de le transmettre à la méthode de création appropriée.
L'exemple suivant vous montre comment créer un composant de test simple.
$ componentDetails = [ ' name ' => ' Test Component ' . rand ( 1 , 99999 ), ' status ' => 1 ];
$ component = $ cachetInstance -> createComponent ( $ componentDetails );
echo $ component -> id . ' - ' . $ component -> name . ' - ' . $ component -> description . ' - ' . $ component -> status ;
L'exemple plus complet ci-dessous montre comment créer un incident et y ajouter une mise à jour d'incident. Veuillez noter que Cachet 2.4.0 ou supérieur est requis si vous souhaitez utiliser les mises à jour d'incidents.
$ incidentDetails = [ ' name ' => ' Test Incident ' . rand ( 1 , 99999 ), ' message ' => ' Incident message ' . rand ( 1 , 99999 ), ' status ' => 1 , ' visible ' => 1 ];
$ incident = $ cachetInstance -> createIncident ( $ incidentDetails );
$ incidentUpdateDetails = [ ' status ' => 2 , ' message ' => ' Test incident update ' . rand ( 1 , 99999 )];
$ incidentUpdate = $ incident -> createIncidentUpdate ( $ incidentUpdateDetails );
echo $ incidentUpdate -> id . ' - ' . $ incidentUpdate -> incident_id . ' - ' . $ incidentUpdate -> status . ' - ' . $ incidentUpdate -> message ;
Le cachet.php vous permet d'apporter des modifications à un élément Cachet et de sauvegarder ces modifications dans votre installation Cachet. Cela se fait en modifiant directement les variables membres publiques de l'élément Cachet, puis en appelant la méthode save()
de l'objet.
L'exemple suivant montre comment modifier le nom et l'état d'un composant, puis enregistrer les modifications.
// Get components
$ components = $ cachetInstance -> getAllComponents ();
// Change component details
$ component [ 0 ]-> name = ' My awesome component ' ;
$ component [ 0 ]-> status = 1 ;
$ component [ 0 ]-> save ();
Si vous créez un incident avec un component_id
, vous pouvez également inclure un component_status
pour modifier le statut du composant en même temps que la création de l'incident. Voir l'exemple ci-dessous.
$ incidentDetails = [ ' name ' => ' Test Incident ' . rand ( 1 , 99999 ), ' message ' => ' Incident message ' . rand ( 1 , 99999 ), ' status ' => 1 , ' visible ' => 1 ,
' component_id ' => 1 , ' component_status ' => 1 ];
$ incident = $ cachetInstance -> createIncident ( $ incidentDetails );
Lors de la création de mises à jour d'incident, vous pouvez également spécifier un component_status
pour modifier l'état du composant lors de la création de la mise à jour d'incident. Voir l'exemple ci-dessous.
$ incidentUpdateDetails = [ ' status ' => 2 , ' message ' => ' Test incident update ' . rand ( 1 , 99999 ), ' component_status ' => 2 ];
$ incidentUpdate = $ incident -> createIncidentUpdate ( $ incidentUpdateDetails );
Vous pouvez également modifier le statut d'un composant via un incident ou une mise à jour d'incident en modifiant le component_status
sur l'objet associé et en enregistrant, comme indiqué ci-dessous dans les exemples ci-dessous. Notez que cela ne fonctionnera que si l'incident a été créé avec un component_id
associé.
$ incident -> component_status = 2 ;
$ incident -> save ();
$ incidentUpdate -> component_status = 3 ;
$ incidentUpdate -> save ();
Pour supprimer un élément Cachet de votre installation Cachet, il vous suffit d'appeler la méthode delete()
sur l'objet élément Cachet approprié.
Par exemple, pour supprimer un incident, vous pouvez procéder comme suit.
// Get incidents
$ incidents = $ cachetInstance -> getAllIncidents ();
// Delete the first one
$ incidents [ 0 ]-> delete ();
Si vous avez trouvé un bug ou une nouvelle fonctionnalité, veuillez le signaler en tant que problème GitHub.
Pour d'autres requêtes, je suis disponible sur Twitter (Jordan Hall).