Dolphinscheduler的API接口问题

在使用java 调用dolphinscheduler的API接口时要注意的事项:

1:官方文档中写的是使用ui界面创建token,然后将token设置在header中,但是如果没有这个token怎么办?因为在一个陌生的环境中,一般没人会记这个token,而是使用账号密码登录,所以我们可以使用账号密码登录,dolphinscheduler源码中的拦截器没有对这一步进行token校验,所以可以登陆,登陆完了后会返回一个sessionId字符串,将这个字符串设置到header中,key为sessionId,value为刚刚返回的那个字符串。

2:使用save  task功能无法在相应的ui界面中查看到怎么办?

这个我也查不到,而且使用swagger中的查询任务的功能也查不到save 的task,那要怎么样在不使用taskCode的情况下才可以查询到这个task呢?

我们只需要在创建好task后,将获取到的taskCode再进行工作流关系中的修改工作流关系,将taskCode设置到一个任务的preTaskCode中,就可以使用查询project下的task中看到该task

3:创建project时,参数问题:

        1:locations,taskRelationJson与taskDefinitionJson是list形式的json,与普通的{"key": "value"}这种形式来说,这三个参数需要的是[{"key":"value"}]的形式,没有[]会报错参数无效

        2:taskDefinition的taskCode与taskRelationJson的postTaskCode,与Locations中的taskCode要一样,这三个参数的形式可以看源码中的Test,里面有,这里给大家分别贴出来一个合格的形式

带yigetask的taskDefinitionJson:

[
  {
    "code": 15465156156265,
    "name": "test1",
    "version": 1,
    "description": "",
    "delayTime": 0,
    "taskType": "SHELL",
    "taskParams": {
      "resourceList": [],
      "localParams": [],
      "rawScript": "echo 1",
      "dependence": {},
      "conditionResult": {
        "successNode": [],
        "failedNode": []
      },
      "waitStartTimeout": {},
      "switchResult": {}
    },
    "flag": "YES",
    "taskPriority": "MEDIUM",
    "workerGroup": "default",
    "failRetryTimes": 0,
    "failRetryInterval": 1,
    "timeoutFlag": "CLOSE",
    "timeoutNotifyStrategy": null,
    "timeout": 0,
    "environmentCode": -1
  }
]

这个code是自己写的一个随机14位随机数。

locations:

[
  {
    "taskCode": 15465156156265,
    "x": 332,
    "y": 62
  }
]
taskRelations:

[   {     "name": "",     "preTaskCode": 0,     "preTaskVersion": 0,     "postTaskCode": 15465156156265,     "postTaskVersion": 1,     "conditionType": "NONE",     "conditionParams": "{}"   } ]

        3:剩下的projectCode去项目的那一套方法中去找,tenantCode去租户那一套方法中去找,这些都是只需要登上就可以直接查看的那种

4:重名问题:

dolphinshceduler中project和process是不可以重名的,这样就可以使用java制造一个根据名字查看code的功能,但是task的名字是可以重复的,这点就很烦,所以在查找task的具体信息时,只能使用taskCode。

你可能感兴趣的:(spring,boot,java)