在 PyGitHub 中,如何设置 set_labels?
In PyGitHub, how do you set set_labels?
我正在构建一个 GitHub 动作,
- 获取现有问题标签
- 添加正确的优先级标签
- 设置所有标签
相关部分是,
def required_labels(current_labels, required_priority):
if current_labels is None:
return [required_priority]
labels_out = []
for label in current_labels:
if label not in possible_priorities:
labels_out.append(label)
continue
if label != required_priority:
continue
labels_out.append(required_priority)
return labels_out
out_labels = required_labels(existing_labels, body_priority_label)
issue.set_labels(out_labels)
list of github.Label.Label
or strings
因此,我希望字符串列表 labels_out
可以工作,但是 set_labels
returns
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/github/Issue.py", line 545, in set_labels
assert all(
AssertionError: (['enhancement', 'P2'],)
我也尝试过合并这个列表,但没有发现任何变化。
set().union(out_labels)
我也试过使用 repo 标签对象。
for label in labels_names:
labels_out.append(repo.get_label(name=label).name)
这个返回了,
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/github/Repository.py", line 2631, in get_label
assert isinstance(name, str), name
AssertionError: ['enhancement', 'P2']
当我向 set_labels
提供许多字符串时,它按预期工作。
issue.set_labels("Separate", "Strings", "Work", "As", "Expected")
显然,人们不会知道一个问题可能有多少个标签。我应该如何向 set_labels
提供所需的标签?
documentation 描述了以下函数签名:
set_labels(*labels)
函数签名中 labels
前面的 'star' 表示可变参数,它带有零个、一个或多个标签。
因此,您可以在将列表传递给 set_labels
之前将其解压缩,如下所示:
issue.set_labels(*out_labels)
您可以在 tutorial.
的第 4.7.3 和 4.7.4 节中阅读有关参数和参数解包的更多信息
我正在构建一个 GitHub 动作,
- 获取现有问题标签
- 添加正确的优先级标签
- 设置所有标签
相关部分是,
def required_labels(current_labels, required_priority):
if current_labels is None:
return [required_priority]
labels_out = []
for label in current_labels:
if label not in possible_priorities:
labels_out.append(label)
continue
if label != required_priority:
continue
labels_out.append(required_priority)
return labels_out
out_labels = required_labels(existing_labels, body_priority_label)
issue.set_labels(out_labels)
list of
github.Label.Label
or strings
因此,我希望字符串列表 labels_out
可以工作,但是 set_labels
returns
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/github/Issue.py", line 545, in set_labels
assert all(
AssertionError: (['enhancement', 'P2'],)
我也尝试过合并这个列表,但没有发现任何变化。
set().union(out_labels)
我也试过使用 repo 标签对象。
for label in labels_names:
labels_out.append(repo.get_label(name=label).name)
这个返回了,
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/github/Repository.py", line 2631, in get_label
assert isinstance(name, str), name
AssertionError: ['enhancement', 'P2']
当我向 set_labels
提供许多字符串时,它按预期工作。
issue.set_labels("Separate", "Strings", "Work", "As", "Expected")
显然,人们不会知道一个问题可能有多少个标签。我应该如何向 set_labels
提供所需的标签?
documentation 描述了以下函数签名:
set_labels(*labels)
函数签名中 labels
前面的 'star' 表示可变参数,它带有零个、一个或多个标签。
因此,您可以在将列表传递给 set_labels
之前将其解压缩,如下所示:
issue.set_labels(*out_labels)
您可以在 tutorial.
的第 4.7.3 和 4.7.4 节中阅读有关参数和参数解包的更多信息