修改插件

en:https://developer.atlassian.com/server/framework/atlassian-sdk/modify-the-plugin/

前面的步骤中,你已经为JIRA插件创建了一个框架。在本向导中,你将修改你的插件来在JIRA菜单上添加一个链接。为了完成这个,你需要使用Atlassian SDK创建一个 Web Section Plugin Module 和一个 Web Item Plugin Module 。

Step 1. 更新出现在插件中的组织信息

  1. 在关闭JIRA后,你应该仍在myPlugin目录下。
  2. 在你喜欢的编辑器中打开pom.xml文件。
  3. 定位到文件中的 <organization> 节点,它应该看起来如下:

        <organization>
            <name>Example Company</name>
            <url>http://www.example.com/</url>
        </organization>
  4. 更新节点来包含一些个人信息,如:

        <organization>
            <name>Atlassian SDK Tutorial</name>
            <url>http://developer.atlassian.com/</url>
        </organization>
  5. 保存并关闭文件。

  6. 回到命令行窗口,输入atlas-run,等待JIRA重新启动。

  7. 如果提示登录,完成登录。

  8. 在浏览器中使用localhost:2990/jira/plugins/servlet/upm打开Manage add-ons页面。

  9. 展开myPlugin插件,查看你的修改。

  10. 完成后,使用Ctrl+D关闭JIRA。

Step 2. 在JIRA中添加定制菜单

  1. 在你喜欢的文本编辑器中,打开myPlugin目录下的 /src/main/resources/atlassian-plugin.xml 文件。
  2. atlassian-plugin.xml 文件看上去应该如下:

    <atlassian-plugin key="${atlassian.plugin.key}" name="${project.name}" plugins-version="2">
        <plugin-info>
            <description>${project.description}</description>
            <version>${project.version}</version>
            <vendor name="${project.organization.name}" url="${project.organization.url}" />
            <param name="plugin-icon">images/pluginIcon.png</param>
            <param name="plugin-logo">images/pluginLogo.png</param>
        </plugin-info>
        <!-- add our i18n resource -->
        <resource type="i18n" name="i18n" location="myPlugin"/>
        <!-- add our web resources -->
        <web-resource key="myPlugin-resources" name="myPlugin Web Resources">
            <dependency>com.atlassian.auiplugin:ajs</dependency>
            <resource type="download" name="myPlugin.css" location="/css/myPlugin.css"/>
            <resource type="download" name="myPlugin.js" location="/js/myPlugin.js"/>
            <resource type="download" name="images/" location="/images"/>
            <context>myPlugin</context>
        </web-resource>
    </atlassian-plugin>
  3. 下一步,在命令行窗口中,确认你正处于myPlugin目录,然后运行如下命令:

    atlas-create-jira-plugin-module

    将会提示你从可能的模块类型列表中选择一个插件模块(从Plugin Modules查看更多信息)。

  4. 输入30来选择 Web Section插件模块类型。

  5. 现在,会提示你回答几个配置问题,答案如下:

    Enter Plugin Module Name My Web Section: : mySection
    Enter Location (e.g. system.admin/mynewsection): my-item-link
    Show Advanced Setup? (Y/y/N/n) N: : N

    此时,my-item-link这个location还不存在,但是我们将在下一步中创建。

  6. 下一步,会询问你是否需要其他插件模块。键入Y来创建另一个模块。

  7. 键入25来选择 Web Item  插件模块,并按如下回答配置问题:

    Enter Plugin Module Name My Web Item: : myItem
    Enter Section (e.g. system.admin/globalsettings): system.top.navigation.bar
    Enter Link URL (e.g. /secure/CreateIssue!default.jspa): deleteMe
    Show Advanced Setup? (Y/y/N/n) N: : N
  8. 当提示你是否需要其他插件模块时,输入N。
    系统会完成模块的创建,在创建成功后,你会收到确认信息。

Step 3. 定制菜单

  1. 打开atlassian-plugin.xml文件,你会发现它发生了一点改变:

    <?xml version="1.0" encoding="UTF-8"?>
    
    
    <atlassian-plugin key="${atlassian.plugin.key}" name="${project.name}" plugins-version="2">
      <plugin-info>
        <description>${project.description}</description>
        <version>${project.version}</version>
        <vendor name="${project.organization.name}" url="${project.organization.url}"/>
        <param name="plugin-icon">images/pluginIcon.png</param>
        <param name="plugin-logo">images/pluginLogo.png</param>
      </plugin-info>
      <!-- add our i18n resource -->
      <resource type="i18n" name="i18n" location="myPlugin"/>
      <!-- add our web resources -->
      <web-resource key="myPlugin-resources" name="myPlugin Web Resources">
        <dependency>com.atlassian.auiplugin:ajs</dependency>
        <resource type="download" name="myPlugin.css" location="/css/myPlugin.css"/>
        <resource type="download" name="myPlugin.js" location="/js/myPlugin.js"/>
        <resource type="download" name="images/" location="/images"/>
        <context>myPlugin</context>
      </web-resource>
      <web-section name="mySection" i18n-name-key="my-section.name" key="my-section" location="my-item-link" 
    weight="1000">
        <description key="my-section.description">The mySection Plugin</description>
        <label key="my-section.label"/>
      </web-section>
      <web-item name="myItem" i18n-name-key="my-item.name" key="my-item" section="system.top.navigation.bar" 
    weight="1000">
        <description key="my-item.description">The myItem Plugin</description>
        <label key="my-item.label"></label>
        <link linkId="my-item-link">deleteMe</link>
      </web-item>
    </atlassian-plugin>
  2. 在web-section中,删除如下信息:

    • <label key="my-section.label"/> 这一行
    • <link linkId="my-item-link">中的deleteMe字段

    在本向导中,我们不像要 ‘myItem’ 菜单链接到任何地方,并且我们不想在我们的菜单中看到 ‘mySection’ 标签。

  3. 保存你的修改。

  4. 回到命令行窗口,执行atlas-run,等待JIRA启动完成。

  5. 一旦你登录成功,你会看到这个新的JIRA菜单。

  6. 使用Ctrl+D关闭JIRA。

下一步

每次启动和关闭JIRA会花费一些时间。QuickReload显著的减少插件开发的迭代时间,significantly reduces your plugin development iteration time, so in the next part of the tutorial, you’ll learn how to use it to test a change to your plugin without restarting JIRA.

猜你喜欢

转载自www.cnblogs.com/l200702031000/p/8986948.html