【问题标题】:Bitbucket custom column on repository list page存储库列表页面上的 Bitbucket 自定义列
【发布时间】:2018-03-31 18:26:25
【问题描述】:

我正在尝试为 Bitbucket 编写我的第一个插件。我按照教程将自定义列添加到分支列表。它工作得很好。之后,我想在存储库列表中添加一个自定义列,例如描述或分支数量。但是,当我检查网页部分时:

http://localhost:7990/bitbucket/projects/PROJECT_1?web.sections

我在存储库列表页面上看不到任何内容。是否可以添加一些列?

亚当

【问题讨论】:

  • 你能分享一下可以重现问题的代码吗?
  • 我不明白你的意思 - 问题是我应该使用什么样的网页部分(位置)将自定义列添加到项目的存储库列表中。也许有一种不同的方法来解决它,但我遵循了分支列表的自定义列,我认为存储库列表应该是相同的。

标签: bitbucket bitbucket-server atlassian-plugin-sdk


【解决方案1】:

Atlassian 的布局不支持它 项目概览模板包含代码

{if not $isEmptyProject}
  {call bitbucket.internal.feature.repository.repositoryTable}
     {param id: 'repositories-table' /}
     {param repositoryPage: $repositoryPage /}
     {param showPublicStatus: true /}
  {/call}
{/if}

bitbucket.internal.feature.repository.repositoryTable模板中的表格行定义是

{template .repositoryRow private="true"}
<tr>
    <td>
        {if $showProject}
            <span class="project-name">
                {call bitbucket.internal.feature.project.avatar}
                    {param size: 'small' /}
                    {param project: $repository.project /}
                {/call}
                <a href="{nav_project($repository.project.key)}" title="{$repository.project.name}" data-project-id="{$repository.project.id}">{$repository.project.name}</a>
            </span>
        {/if}
        <span class="repository-name">
            {if not $showProject}
                {call aui.icons.icon}
                    {param size: 'small' /}
                    {param useIconFont: true /}
                    {param iconFontSet: 'devtools' /}
                    {param icon: $repository.origin ? 'repository-forked' : 'repository' /}
                    {param accessibilityText: $repository.origin ? getText('bitbucket.web.repository.repository.forked') : getText('bitbucket.web.repository.repository')/}
                    {{param extraAttributes: $repository.origin ? ['title': getText('bitbucket.web.repository.is.a.fork.of', $repository.origin.project.name, $repository.origin.name)] : null/}}
                {/call}
            {/if}
            <a href="{nav_repo_browse($repository.project.key, $repository.slug)}" data-repository-id="{$repository.id}">{$repository.name}</a>
        </span>
        {if $showPublicStatus}
            {call bitbucket.internal.feature.repository.publicLozenge}
                {param repository: $repository /}
            {/call}
        {/if}
    </td>
</tr>

唯一的方法是以某种方式替换 .repositoryRow 模板,但我看不出没有黑客攻击的正确方法

【讨论】:

  • 那么自定义存储库视图的首选方式是什么?或者如果我想添加一个额外的列,那么我必须创建一个新视图?
  • 看起来你需要创建一个新视图
  • 是否可以覆盖整个存储库视图?然后我可以创建自己的内容。否则,我将不得不复制它。
  • 我没试过,但 AFAIK 是不可能的,因为你不能使用相同的模板 id 两次
猜你喜欢
  • 1970-01-01
  • 2017-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-19
相关资源
最近更新 更多