You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否有fly命令或其他方式在Concourse UI中对Pipelines按名称排序?

Concourse Pipeline 按名称字母排序的实现方式

目前Concourse本身没有直接提供配置项或fly命令来修改UI中Pipeline的默认排序规则(默认是创建顺序),但可以通过以下两种方式实现按名称字母排序的效果:

  • 浏览器端自定义用户脚本:
    借助Tampermonkey这类用户脚本工具,重写Concourse UI的排序逻辑。核心是监听Pipeline列表的渲染事件,获取列表元素后按名称字段重新排序并渲染。示例逻辑如下:

    const sortPipelinesByName = () => {
      const pipelineList = document.querySelector('.pipelines-list');
      if (!pipelineList) return;
      const items = Array.from(pipelineList.children);
      // 按名称字母排序
      items.sort((a, b) => {
        const nameA = a.querySelector('.pipeline-name').textContent.trim().toLowerCase();
        const nameB = b.querySelector('.pipeline-name').textContent.trim().toLowerCase();
        return nameA.localeCompare(nameB);
      });
      // 重新插入排序后的项
      items.forEach(item => pipelineList.appendChild(item));
    };
    // 页面加载时触发排序
    window.addEventListener('load', sortPipelinesByName);
    // 监听DOM动态变化,适配SPA场景
    const observer = new MutationObserver(sortPipelinesByName);
    observer.observe(document.body, { childList: true, subtree: true });
    
  • 通过API批量调整Pipeline优先级:
    Concourse的Pipeline顺序由团队内的"优先级"决定(创建时默认按顺序分配),可以通过API批量更新优先级,实现按名称排序的效果:

    1. 使用fly命令导出当前团队的Pipeline信息:
      fly -t <你的target名称> pipelines --json > pipelines.json
      
    2. 编写脚本读取pipelines.json,按名称字母排序后,为每个Pipeline分配递增的优先级(数值越小,在UI中越靠前)。
    3. 调用API更新单个Pipeline的优先级:
      curl -X PUT \
        -H "Authorization: Bearer $(fly -t <你的target名称> auth token)" \
        "https://<你的Concourse地址>/api/v1/teams/<团队名称>/pipelines/<Pipeline名称>/order" \
        -d '{"priority": <新的优先级数值>}'
      

    这种方式修改的是服务端的Pipeline顺序,所有用户访问UI时都会看到排序后的效果,但每次新增、删除Pipeline后,需要重新执行排序脚本调整优先级。

内容的提问来源于stack exchange,提问作者Biju Gopinathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 14:54:55