我有一个接受NodeLabelParameter插件提供的"Node"参数的工作,我想通过"构建"步骤从jenkins"Workflow"工作中调用它.
当我使用Snippet Generator和"Build a job"时,生成的代码是:
build job: 'test job', parameters: [<object of type org.jvnet.jenkins.plugins.nodelabelparameter.NodeParameterValue>]
Run Code Online (Sandbox Code Playgroud)
当然这是无效的.
我试过这个(我在NodeLabelParameter插件代码中找到了这个构造函数):
build job: 'test job', parameters: [[new org.jvnet.jenkins.plugins.nodelabelparameter.NodeParameterValue('UPSTREAM_NODE', '', 'my_node')]]
Run Code Online (Sandbox Code Playgroud)
但构建失败并出现此异常:
java.lang.ClassCastException: org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep.parameters expects class hudson.model.ParameterValue but received class java.util.ArrayList
at org.jenkinsci.plugins.workflow.structs.DescribableHelper.coerce(DescribableHelper.java:250)
...
Run Code Online (Sandbox Code Playgroud)
从工作流作业中使用此类参数的正确语法是什么?
谢谢
我想创建一个嵌入式 python 3 解释器,并让 python 脚本导入通过 C Python API 创建的模块。
创建“顶级”模块没问题,但现在我想在包中组织我的模块......但我失败了。
这是我当前的(简单)代码:
#include <Python.h>
//// Definition of 'emb.sub' module
static PyObject* emb_sub_foo(PyObject *self, PyObject *args)
{
char const* n = "I am sub foo";
return Py_BuildValue("s", n);
}
static PyMethodDef EmbSubMethods[] = {
{"foo", emb_sub_foo, METH_VARARGS, "Returns sub foo"},
{NULL, NULL, 0, NULL}
};
static PyModuleDef EmbSubModule = {
PyModuleDef_HEAD_INIT, "emb.sub", NULL, -1, EmbSubMethods,
NULL, NULL, NULL, NULL
};
static PyObject* PyInit_emb_sub(void)
{
return PyModule_Create(&EmbSubModule);
}
//// Embedded Python
int …
Run Code Online (Sandbox Code Playgroud)