2016-03-15 21 views
6

olarak ayarlandığında buna izin verilmiyor. Bu, atlas-create-jira-plugin çalıştırdığımda aldığım 1: Component Import seçeneklerinden birini seçiyor.atlassian-plugin.xml bileşen içe aktarma tanımını içerir. Atlassian-Plugin-Key değeri

Sorun, tüm öğretici örneklerin, eski SDK sürümü tarafından oluşturulan (SDK/Jira'nın daha yeni sürümleriyle dağıtılmayacak) eklenti tanımlayıcısına sahip olduğu, yani Atlassian-Plugin-Key özelliği bulunmadığı Bir bileşeni içe aktarma yolum.

SDK 6.2.3 ve Jira 7.1.1 kullanıyorum.

Herhangi bir ipucu - bu nasıl sıralanır?

cevap

4
burada

Bulunan cevap: https://developer.atlassian.com/docs/advanced-topics/configuration-of-instructions-in-atlassian-plugins ben bir şekilde Atlassian-Plugin-Key ihmal edilebileceği eksik oldum ve bileşenleri almak gerektiğinde o yapılmalıdır gibi görünüyor

.

Bu anahtar sadece https://bitbucket.org/atlassian/atlassian-spring-scanner

component-import gerekli değildir göre .. bileşenlerin parçası olarak gerçekleşmesi gerekir eklentinin Bahar yapılandırma süreci ithal 'dönüşümü' için değil yayı söyler

2

. Java'nızda @ComponentImport ek açıklama ile değiştirebilirsiniz. Anonim değeri

3

. İşleri yapmanın eski yolu, <component-import> etiketini atlassian-plugin.xml ürününüze koymaktı. Yeni yol ve ayrıca tavsiye edilen Atlassian Spring Scanner kullanmaktır. Eklentinizi atlas-jira-create-plugin kullanarak oluşturduğunuzda ve pom.xml, <Atlassian-Plugin-Key> etiketine ve atlassian-spring-scanner-annotation ve atlassian-spring-scanner-runtime bağımlılıklarına sahipse, yeni yolu kullanıyorsunuz demektir.

Hem bağımlılıklarınız varsa, Atlassian Spring Scanner sürüm 1.x kullanıyorsunuz. Sadece atlassian-spring-scanner-annotation varsa, 2.x sürümünü kullanıyorsunuz.

Sen/ihmal sizin pom.xml yılında Atlassian-Plugin-Key dışarı yorum yapmak gerekmez ve size atlassian-plugin.xml yılında component-import koymak gerekmez. Örneğin, eklentiniz için lisans eklemek ve PluginLicenseManager bileşenini içe aktarmanız gerekmektedir. Sadece koduna düz gidip yapıcı şöyle olabilir:

@Autowired 
public MyMacro(@ComponentImport PluginLicenseManager licenseManager) { 
    this.licenseManager = licenseManager; 
} 

Ve bu gibi sınıf: Hafızam beni yanıltmıyorsa

@Scanned 
public class MyMacro implements Macro { 

, null için kontrol etmeyi unutmayın bazen Atlassian çünkü Spring Scanner bir bileşeni enjekte edemez. Ben bir sürüm 1, bir @EventListener yazarken, bir ConversionContext enjekte edemez düşünüyorum. Ancak bir Makro yazarken, ConversionContext'u enjekte edebildi.