Merge "Implement periodic tasks"
[pharos.git] / tools / pharos-dashboard / jenkins / models.py
diff --git a/tools/pharos-dashboard/jenkins/models.py b/tools/pharos-dashboard/jenkins/models.py
new file mode 100644 (file)
index 0000000..f7d54c9
--- /dev/null
@@ -0,0 +1,34 @@
+from django.db import models
+
+
+class JenkinsSlave(models.Model):
+    id = models.AutoField(primary_key=True)
+    name = models.CharField(max_length=100, unique=True)
+    status = models.CharField(max_length=30, default='offline')
+    url = models.CharField(max_length=1024)
+    ci_slave = models.BooleanField(default=False)
+    dev_pod = models.BooleanField(default=False)
+
+    building = models.BooleanField(default=False)
+
+    last_job_name = models.CharField(max_length=1024, default='')
+    last_job_url = models.CharField(max_length=1024, default='')
+    last_job_scenario = models.CharField(max_length=50, default='')
+    last_job_branch = models.CharField(max_length=50, default='')
+    last_job_installer = models.CharField(max_length=50, default='')
+    last_job_result = models.CharField(max_length=30, default='')
+
+    class Meta:
+        db_table = 'jenkins_slave'
+
+
+class JenkinsStatistic(models.Model):
+    id = models.AutoField(primary_key=True)
+    slave = models.ForeignKey(JenkinsSlave, on_delete=models.CASCADE)
+    offline = models.BooleanField(default=False)
+    idle = models.BooleanField(default=False)
+    online = models.BooleanField(default=False)
+    timestamp = models.DateTimeField(auto_now_add=True)
+
+    class Meta:
+        db_table = 'jenkins_statistic'