小编jon*_*han的帖子

父工作流程完成后,workflow_run 未按预期触发

我有一个工作流程,我想通过workflow_dispatch或执行workflow_run

第一个目前只能手动执行:

name: upload

on:
  workflow_dispatch:
Run Code Online (Sandbox Code Playgroud)

第二个应该能够手动执行,或者在完成时执行upload

name: archive

on:
  workflow_dispatch:
  workflow_run:
    workflows: ["upload"]
    types:
      - completed
Run Code Online (Sandbox Code Playgroud)

手动启动时工作archive流按预期执行,但完成后未启动upload。我不清楚原因。有什么指点吗?

请注意,我已阅读以下内容: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run

github-actions

4
推荐指数
1
解决办法
2882
查看次数

Jinja2中列表的唯一过滤器

我有以下 YAML 结构:

bri:
  cards:
    - slot: "1"
      subslot: "0"
      ports: 2
    - slot: "1"
      subslot: "1"
      ports: 2
    - slot: "1"
      subslot: "2"
      ports: 2
    - slot: "2"
      subslot: "0"
      ports: 2
    - slot: "2"
      subslot: "1"
      ports: 2
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 Jinja2 来获取唯一的slot列表,即:

['1', '2']
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经成功地应用了以下内容:

{{ bri.cards|map(attribute='slot')|list }}
Run Code Online (Sandbox Code Playgroud)

这给了我:

['1', '1', '1', '2', '2']
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法找到获得唯一列表的方法。

Ansible

Ansible 似乎有一个“独特”的过滤器可以做到这一点。但在这种情况下我没有使用 Ansible。

我的问题

任何人都可以建议实现这一目标的最佳方法吗?应该(或可以)使用 Jinja2 本地完成,还是应该采用替代方法?

jinja2 python-3.x

3
推荐指数
3
解决办法
2万
查看次数

标签 统计

github-actions ×1

jinja2 ×1

python-3.x ×1