Nasıl bash ve php scriptler Bugzilla hata güncelleyebilirsiniz?

3 Cevap php

Bizim geliştirme süreci son derece bash ve php komut bir sal üzerinden otomatik edilir (yıkılma kanca komut dahil.) Bu komut bizim Bugzilla 3.0 yüklemesi ile entegre şeylerin bir dizi yapmak.

Veritabanı şeması değişti durumunda 3.2 yükseltme hakkında beni sinir yapma dahil olmak üzere - Açıkçası downsides bir numarası vardır - ancak mevcut entegrasyon yaklaşımı SQL doğrudan hangi güncelleme bugzilla veritabanı çağıran bir demet!

Örneğin, bir hata bir yorum eklemek için, ben longdescs tabloya INSERT yapıyorum.

Yani benim (biraz uzun soluklu) soru:

  • Ben Bugzilla WebServices kullanarak (ve eğer öyleyse, hızlı hızlı beni almıyorsanız Bugzilla API docs dışında herhangi bir iyi belgeler var) olmalıdır
  • ya da, diğer bazı Bugzilla API kullanarak olmalıdır (doğrudan Perl aramalar?) - ve yine, bu konuda herhangi bir iyi doco var?
  • ya db o kadar değişmez çünkü, ben sadece (doğrudan SQL çağrıları) ne yapıyorum yapıyor tutmalı ve "iş yapar"

3 Cevap

Olduğu zaman, doğrudan SQL çağrıları en uygun seçenek gibi görünüyor böylece Bugzilla WebServices API göre, ihtiyaç duyulan bazı özellikleri (örneğin, bir hata durumunu değiştirme), henüz mevcut değildir.

Veritabanı şeması bu yüzden ileri pratik bir yoldur sürüm 3.0 ve 3.2 arasında önemli ölçüde değişmemiştir.

Bilginize, Bugzilla 3.2 dağılımı, kimin niyet etmek "Xmlrpc üzerinden Bugzilla'ya nasıl konuşacağını Show" a contrib/bz_webservice_demo.pl dosya bulunmaktadır.

Dikkatli olun! Bazı veritabanı değişiklikleri yanı sıra diğer değişiklikleri ima. Işleri longdescs bir satır ekleyerek bir hatadan bir yorum ekleyerek, ama aynı zamanda tablo hataların delta_ts güncellenmesi gerekir.

Web hizmetleri mevcuttur kadar, burada ben ne yapacağını: Eğer kabuktan yapmak istediğiniz UI kullanarak eylemi gerçekleştirmek. 'Mysqlbinlog' kullanarak veritabanı için ikili günlüğüne bak git ve ne olursa olsun yaparken tablolar Bugzilla genellikle yürütür ne göreceksiniz (MySQL) varsayarsak.

Eğer yorum istiyorsanız, birisi bir değişiklik yapar dahaki postalanacaktır yalnız bugs.last_diffed bırakın ekledi. Eğer yorum istemiyorsanız size bugs.delta_ts yapıyorsun gibi güncelleme bugs.last_diffed, dışarı postalanacaktır ekledi.

Bugzilla Eğer saygı veritabanında ince bağımlılıkları bir numarası vardır, ya da bazı beklenmedik sonuçlar elde etmek olasıdır.