Browse Source

Add update task api.

sdk-team 5 years ago
parent
commit
1b7a4d81d6

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-12-14 Version: patch
+- Add update task api.
+
 2020-12-14 Version: patch
 - CDRS First edition.
 

+ 10 - 2
devops-rdc/CMakeLists.txt

@@ -117,6 +117,8 @@ set(devops-rdc_public_header_model
 	include/alibabacloud/devops-rdc/model/ListDevopsScenarioFieldConfigResult.h
 	include/alibabacloud/devops-rdc/model/ListPipelinesRequest.h
 	include/alibabacloud/devops-rdc/model/ListPipelinesResult.h
+	include/alibabacloud/devops-rdc/model/ListProjectCustomFieldsRequest.h
+	include/alibabacloud/devops-rdc/model/ListProjectCustomFieldsResult.h
 	include/alibabacloud/devops-rdc/model/ListServiceConnectionsRequest.h
 	include/alibabacloud/devops-rdc/model/ListServiceConnectionsResult.h
 	include/alibabacloud/devops-rdc/model/ListSmartGroupRequest.h
@@ -134,7 +136,9 @@ set(devops-rdc_public_header_model
 	include/alibabacloud/devops-rdc/model/UpdateDevopsProjectTaskRequest.h
 	include/alibabacloud/devops-rdc/model/UpdateDevopsProjectTaskResult.h
 	include/alibabacloud/devops-rdc/model/UpdatePipelineMemberRequest.h
-	include/alibabacloud/devops-rdc/model/UpdatePipelineMemberResult.h )
+	include/alibabacloud/devops-rdc/model/UpdatePipelineMemberResult.h
+	include/alibabacloud/devops-rdc/model/UpdateTaskDetailRequest.h
+	include/alibabacloud/devops-rdc/model/UpdateTaskDetailResult.h )
 
 set(devops-rdc_src 
 	src/Devops-rdcClient.cc
@@ -234,6 +238,8 @@ set(devops-rdc_src
 	src/model/ListDevopsScenarioFieldConfigResult.cc
 	src/model/ListPipelinesRequest.cc
 	src/model/ListPipelinesResult.cc
+	src/model/ListProjectCustomFieldsRequest.cc
+	src/model/ListProjectCustomFieldsResult.cc
 	src/model/ListServiceConnectionsRequest.cc
 	src/model/ListServiceConnectionsResult.cc
 	src/model/ListSmartGroupRequest.cc
@@ -251,7 +257,9 @@ set(devops-rdc_src
 	src/model/UpdateDevopsProjectTaskRequest.cc
 	src/model/UpdateDevopsProjectTaskResult.cc
 	src/model/UpdatePipelineMemberRequest.cc
-	src/model/UpdatePipelineMemberResult.cc )
+	src/model/UpdatePipelineMemberResult.cc
+	src/model/UpdateTaskDetailRequest.cc
+	src/model/UpdateTaskDetailResult.cc )
 
 add_library(devops-rdc ${LIB_TYPE}
 	${devops-rdc_public_header}

+ 16 - 0
devops-rdc/include/alibabacloud/devops-rdc/Devops_rdcClient.h

@@ -118,6 +118,8 @@
 #include "model/ListDevopsScenarioFieldConfigResult.h"
 #include "model/ListPipelinesRequest.h"
 #include "model/ListPipelinesResult.h"
+#include "model/ListProjectCustomFieldsRequest.h"
+#include "model/ListProjectCustomFieldsResult.h"
 #include "model/ListServiceConnectionsRequest.h"
 #include "model/ListServiceConnectionsResult.h"
 #include "model/ListSmartGroupRequest.h"
@@ -136,6 +138,8 @@
 #include "model/UpdateDevopsProjectTaskResult.h"
 #include "model/UpdatePipelineMemberRequest.h"
 #include "model/UpdatePipelineMemberResult.h"
+#include "model/UpdateTaskDetailRequest.h"
+#include "model/UpdateTaskDetailResult.h"
 
 
 namespace AlibabaCloud
@@ -289,6 +293,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListPipelinesResult> ListPipelinesOutcome;
 			typedef std::future<ListPipelinesOutcome> ListPipelinesOutcomeCallable;
 			typedef std::function<void(const Devops_rdcClient*, const Model::ListPipelinesRequest&, const ListPipelinesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPipelinesAsyncHandler;
+			typedef Outcome<Error, Model::ListProjectCustomFieldsResult> ListProjectCustomFieldsOutcome;
+			typedef std::future<ListProjectCustomFieldsOutcome> ListProjectCustomFieldsOutcomeCallable;
+			typedef std::function<void(const Devops_rdcClient*, const Model::ListProjectCustomFieldsRequest&, const ListProjectCustomFieldsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListProjectCustomFieldsAsyncHandler;
 			typedef Outcome<Error, Model::ListServiceConnectionsResult> ListServiceConnectionsOutcome;
 			typedef std::future<ListServiceConnectionsOutcome> ListServiceConnectionsOutcomeCallable;
 			typedef std::function<void(const Devops_rdcClient*, const Model::ListServiceConnectionsRequest&, const ListServiceConnectionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListServiceConnectionsAsyncHandler;
@@ -316,6 +323,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdatePipelineMemberResult> UpdatePipelineMemberOutcome;
 			typedef std::future<UpdatePipelineMemberOutcome> UpdatePipelineMemberOutcomeCallable;
 			typedef std::function<void(const Devops_rdcClient*, const Model::UpdatePipelineMemberRequest&, const UpdatePipelineMemberOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePipelineMemberAsyncHandler;
+			typedef Outcome<Error, Model::UpdateTaskDetailResult> UpdateTaskDetailOutcome;
+			typedef std::future<UpdateTaskDetailOutcome> UpdateTaskDetailOutcomeCallable;
+			typedef std::function<void(const Devops_rdcClient*, const Model::UpdateTaskDetailRequest&, const UpdateTaskDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateTaskDetailAsyncHandler;
 
 			Devops_rdcClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			Devops_rdcClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -465,6 +475,9 @@ namespace AlibabaCloud
 			ListPipelinesOutcome listPipelines(const Model::ListPipelinesRequest &request)const;
 			void listPipelinesAsync(const Model::ListPipelinesRequest& request, const ListPipelinesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPipelinesOutcomeCallable listPipelinesCallable(const Model::ListPipelinesRequest& request) const;
+			ListProjectCustomFieldsOutcome listProjectCustomFields(const Model::ListProjectCustomFieldsRequest &request)const;
+			void listProjectCustomFieldsAsync(const Model::ListProjectCustomFieldsRequest& request, const ListProjectCustomFieldsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListProjectCustomFieldsOutcomeCallable listProjectCustomFieldsCallable(const Model::ListProjectCustomFieldsRequest& request) const;
 			ListServiceConnectionsOutcome listServiceConnections(const Model::ListServiceConnectionsRequest &request)const;
 			void listServiceConnectionsAsync(const Model::ListServiceConnectionsRequest& request, const ListServiceConnectionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListServiceConnectionsOutcomeCallable listServiceConnectionsCallable(const Model::ListServiceConnectionsRequest& request) const;
@@ -492,6 +505,9 @@ namespace AlibabaCloud
 			UpdatePipelineMemberOutcome updatePipelineMember(const Model::UpdatePipelineMemberRequest &request)const;
 			void updatePipelineMemberAsync(const Model::UpdatePipelineMemberRequest& request, const UpdatePipelineMemberAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdatePipelineMemberOutcomeCallable updatePipelineMemberCallable(const Model::UpdatePipelineMemberRequest& request) const;
+			UpdateTaskDetailOutcome updateTaskDetail(const Model::UpdateTaskDetailRequest &request)const;
+			void updateTaskDetailAsync(const Model::UpdateTaskDetailRequest& request, const UpdateTaskDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateTaskDetailOutcomeCallable updateTaskDetailCallable(const Model::UpdateTaskDetailRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 1 - 0
devops-rdc/include/alibabacloud/devops-rdc/model/GetTaskListFilterResult.h

@@ -128,6 +128,7 @@ namespace AlibabaCloud
 						std::string accomplished;
 						std::string taskId;
 						std::string parent;
+						std::string taskUniqueId;
 						std::string sourceId;
 						int rating;
 						std::string taskListId;

+ 51 - 0
devops-rdc/include/alibabacloud/devops-rdc/model/ListProjectCustomFieldsRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DEVOPS_RDC_MODEL_LISTPROJECTCUSTOMFIELDSREQUEST_H_
+#define ALIBABACLOUD_DEVOPS_RDC_MODEL_LISTPROJECTCUSTOMFIELDSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/devops-rdc/Devops_rdcExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Devops_rdc
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DEVOPS_RDC_EXPORT ListProjectCustomFieldsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListProjectCustomFieldsRequest();
+				~ListProjectCustomFieldsRequest();
+
+				std::string getProjectId()const;
+				void setProjectId(const std::string& projectId);
+				std::string getOrgId()const;
+				void setOrgId(const std::string& orgId);
+
+            private:
+				std::string projectId_;
+				std::string orgId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DEVOPS_RDC_MODEL_LISTPROJECTCUSTOMFIELDSREQUEST_H_

+ 70 - 0
devops-rdc/include/alibabacloud/devops-rdc/model/ListProjectCustomFieldsResult.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DEVOPS_RDC_MODEL_LISTPROJECTCUSTOMFIELDSRESULT_H_
+#define ALIBABACLOUD_DEVOPS_RDC_MODEL_LISTPROJECTCUSTOMFIELDSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/devops-rdc/Devops_rdcExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Devops_rdc
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DEVOPS_RDC_EXPORT ListProjectCustomFieldsResult : public ServiceResult
+			{
+			public:
+				struct CustomField
+				{
+					struct Value
+					{
+						std::string value;
+						std::string id;
+					};
+					std::string type;
+					std::vector<CustomField::Value> values;
+					std::string customFieldId;
+					std::string subtype;
+					std::string name;
+				};
+
+
+				ListProjectCustomFieldsResult();
+				explicit ListProjectCustomFieldsResult(const std::string &payload);
+				~ListProjectCustomFieldsResult();
+				std::string getErrorMsg()const;
+				std::vector<CustomField> getObject()const;
+				std::string getErrorCode()const;
+				bool getSuccessful()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMsg_;
+				std::vector<CustomField> object_;
+				std::string errorCode_;
+				bool successful_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DEVOPS_RDC_MODEL_LISTPROJECTCUSTOMFIELDSRESULT_H_

+ 99 - 0
devops-rdc/include/alibabacloud/devops-rdc/model/UpdateTaskDetailRequest.h

@@ -0,0 +1,99 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DEVOPS_RDC_MODEL_UPDATETASKDETAILREQUEST_H_
+#define ALIBABACLOUD_DEVOPS_RDC_MODEL_UPDATETASKDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/devops-rdc/Devops_rdcExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Devops_rdc
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DEVOPS_RDC_EXPORT UpdateTaskDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateTaskDetailRequest();
+				~UpdateTaskDetailRequest();
+
+				std::string getNote()const;
+				void setNote(const std::string& note);
+				std::string getExecutorId()const;
+				void setExecutorId(const std::string& executorId);
+				std::string getStartDate()const;
+				void setStartDate(const std::string& startDate);
+				std::string getDelInvolvers()const;
+				void setDelInvolvers(const std::string& delInvolvers);
+				std::string getContent()const;
+				void setContent(const std::string& content);
+				std::string getSprintId()const;
+				void setSprintId(const std::string& sprintId);
+				std::string getCustomFieldId()const;
+				void setCustomFieldId(const std::string& customFieldId);
+				std::string getProjectId()const;
+				void setProjectId(const std::string& projectId);
+				std::string getTaskId()const;
+				void setTaskId(const std::string& taskId);
+				std::string getTaskFlowStatusId()const;
+				void setTaskFlowStatusId(const std::string& taskFlowStatusId);
+				std::string getTagIds()const;
+				void setTagIds(const std::string& tagIds);
+				std::string getAddInvolvers()const;
+				void setAddInvolvers(const std::string& addInvolvers);
+				long getPriority()const;
+				void setPriority(long priority);
+				std::string getOrgId()const;
+				void setOrgId(const std::string& orgId);
+				std::string getDueDate()const;
+				void setDueDate(const std::string& dueDate);
+				long getWorkTimes()const;
+				void setWorkTimes(long workTimes);
+				std::string getStoryPoint()const;
+				void setStoryPoint(const std::string& storyPoint);
+				std::string getCustomFieldValues()const;
+				void setCustomFieldValues(const std::string& customFieldValues);
+
+            private:
+				std::string note_;
+				std::string executorId_;
+				std::string startDate_;
+				std::string delInvolvers_;
+				std::string content_;
+				std::string sprintId_;
+				std::string customFieldId_;
+				std::string projectId_;
+				std::string taskId_;
+				std::string taskFlowStatusId_;
+				std::string tagIds_;
+				std::string addInvolvers_;
+				long priority_;
+				std::string orgId_;
+				std::string dueDate_;
+				long workTimes_;
+				std::string storyPoint_;
+				std::string customFieldValues_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DEVOPS_RDC_MODEL_UPDATETASKDETAILREQUEST_H_

+ 57 - 0
devops-rdc/include/alibabacloud/devops-rdc/model/UpdateTaskDetailResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DEVOPS_RDC_MODEL_UPDATETASKDETAILRESULT_H_
+#define ALIBABACLOUD_DEVOPS_RDC_MODEL_UPDATETASKDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/devops-rdc/Devops_rdcExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Devops_rdc
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DEVOPS_RDC_EXPORT UpdateTaskDetailResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateTaskDetailResult();
+				explicit UpdateTaskDetailResult(const std::string &payload);
+				~UpdateTaskDetailResult();
+				std::string getErrorMsg()const;
+				bool getObject()const;
+				std::string getErrorCode()const;
+				bool getSuccessful()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMsg_;
+				bool object_;
+				std::string errorCode_;
+				bool successful_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DEVOPS_RDC_MODEL_UPDATETASKDETAILRESULT_H_

+ 72 - 0
devops-rdc/src/Devops-rdcClient.cc

@@ -1779,6 +1779,42 @@ Devops_rdcClient::ListPipelinesOutcomeCallable Devops_rdcClient::listPipelinesCa
 	return task->get_future();
 }
 
+Devops_rdcClient::ListProjectCustomFieldsOutcome Devops_rdcClient::listProjectCustomFields(const ListProjectCustomFieldsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListProjectCustomFieldsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListProjectCustomFieldsOutcome(ListProjectCustomFieldsResult(outcome.result()));
+	else
+		return ListProjectCustomFieldsOutcome(outcome.error());
+}
+
+void Devops_rdcClient::listProjectCustomFieldsAsync(const ListProjectCustomFieldsRequest& request, const ListProjectCustomFieldsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listProjectCustomFields(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Devops_rdcClient::ListProjectCustomFieldsOutcomeCallable Devops_rdcClient::listProjectCustomFieldsCallable(const ListProjectCustomFieldsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListProjectCustomFieldsOutcome()>>(
+			[this, request]()
+			{
+			return this->listProjectCustomFields(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 Devops_rdcClient::ListServiceConnectionsOutcome Devops_rdcClient::listServiceConnections(const ListServiceConnectionsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2103,3 +2139,39 @@ Devops_rdcClient::UpdatePipelineMemberOutcomeCallable Devops_rdcClient::updatePi
 	return task->get_future();
 }
 
+Devops_rdcClient::UpdateTaskDetailOutcome Devops_rdcClient::updateTaskDetail(const UpdateTaskDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateTaskDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateTaskDetailOutcome(UpdateTaskDetailResult(outcome.result()));
+	else
+		return UpdateTaskDetailOutcome(outcome.error());
+}
+
+void Devops_rdcClient::updateTaskDetailAsync(const UpdateTaskDetailRequest& request, const UpdateTaskDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateTaskDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+Devops_rdcClient::UpdateTaskDetailOutcomeCallable Devops_rdcClient::updateTaskDetailCallable(const UpdateTaskDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateTaskDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->updateTaskDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 2 - 0
devops-rdc/src/model/GetTaskListFilterResult.cc

@@ -132,6 +132,8 @@ void GetTaskListFilterResult::parse(const std::string &payload)
 			taskObject.sprint = objectNodeResultTask["Sprint"].asString();
 		if(!objectNodeResultTask["Parent"].isNull())
 			taskObject.parent = objectNodeResultTask["Parent"].asString();
+		if(!objectNodeResultTask["TaskUniqueId"].isNull())
+			taskObject.taskUniqueId = objectNodeResultTask["TaskUniqueId"].asString();
 		auto allCustomfieldsNode = objectNodeResultTask["Customfields"]["Customfield"];
 		for (auto objectNodeResultTaskCustomfieldsCustomfield : allCustomfieldsNode)
 		{

+ 51 - 0
devops-rdc/src/model/ListProjectCustomFieldsRequest.cc

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/devops-rdc/model/ListProjectCustomFieldsRequest.h>
+
+using AlibabaCloud::Devops_rdc::Model::ListProjectCustomFieldsRequest;
+
+ListProjectCustomFieldsRequest::ListProjectCustomFieldsRequest() :
+	RpcServiceRequest("devops-rdc", "2020-03-03", "ListProjectCustomFields")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListProjectCustomFieldsRequest::~ListProjectCustomFieldsRequest()
+{}
+
+std::string ListProjectCustomFieldsRequest::getProjectId()const
+{
+	return projectId_;
+}
+
+void ListProjectCustomFieldsRequest::setProjectId(const std::string& projectId)
+{
+	projectId_ = projectId;
+	setBodyParameter("ProjectId", projectId);
+}
+
+std::string ListProjectCustomFieldsRequest::getOrgId()const
+{
+	return orgId_;
+}
+
+void ListProjectCustomFieldsRequest::setOrgId(const std::string& orgId)
+{
+	orgId_ = orgId;
+	setBodyParameter("OrgId", orgId);
+}
+

+ 94 - 0
devops-rdc/src/model/ListProjectCustomFieldsResult.cc

@@ -0,0 +1,94 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/devops-rdc/model/ListProjectCustomFieldsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Devops_rdc;
+using namespace AlibabaCloud::Devops_rdc::Model;
+
+ListProjectCustomFieldsResult::ListProjectCustomFieldsResult() :
+	ServiceResult()
+{}
+
+ListProjectCustomFieldsResult::ListProjectCustomFieldsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListProjectCustomFieldsResult::~ListProjectCustomFieldsResult()
+{}
+
+void ListProjectCustomFieldsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allObjectNode = value["Object"]["CustomField"];
+	for (auto valueObjectCustomField : allObjectNode)
+	{
+		CustomField objectObject;
+		if(!valueObjectCustomField["CustomFieldId"].isNull())
+			objectObject.customFieldId = valueObjectCustomField["CustomFieldId"].asString();
+		if(!valueObjectCustomField["Type"].isNull())
+			objectObject.type = valueObjectCustomField["Type"].asString();
+		if(!valueObjectCustomField["Subtype"].isNull())
+			objectObject.subtype = valueObjectCustomField["Subtype"].asString();
+		if(!valueObjectCustomField["Name"].isNull())
+			objectObject.name = valueObjectCustomField["Name"].asString();
+		auto allValuesNode = valueObjectCustomField["Values"]["Value"];
+		for (auto valueObjectCustomFieldValuesValue : allValuesNode)
+		{
+			CustomField::Value valuesObject;
+			if(!valueObjectCustomFieldValuesValue["Id"].isNull())
+				valuesObject.id = valueObjectCustomFieldValuesValue["Id"].asString();
+			if(!valueObjectCustomFieldValuesValue["Value"].isNull())
+				valuesObject.value = valueObjectCustomFieldValuesValue["Value"].asString();
+			objectObject.values.push_back(valuesObject);
+		}
+		object_.push_back(objectObject);
+	}
+	if(!value["Successful"].isNull())
+		successful_ = value["Successful"].asString() == "true";
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["ErrorMsg"].isNull())
+		errorMsg_ = value["ErrorMsg"].asString();
+
+}
+
+std::string ListProjectCustomFieldsResult::getErrorMsg()const
+{
+	return errorMsg_;
+}
+
+std::vector<ListProjectCustomFieldsResult::CustomField> ListProjectCustomFieldsResult::getObject()const
+{
+	return object_;
+}
+
+std::string ListProjectCustomFieldsResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+bool ListProjectCustomFieldsResult::getSuccessful()const
+{
+	return successful_;
+}
+

+ 227 - 0
devops-rdc/src/model/UpdateTaskDetailRequest.cc

@@ -0,0 +1,227 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/devops-rdc/model/UpdateTaskDetailRequest.h>
+
+using AlibabaCloud::Devops_rdc::Model::UpdateTaskDetailRequest;
+
+UpdateTaskDetailRequest::UpdateTaskDetailRequest() :
+	RpcServiceRequest("devops-rdc", "2020-03-03", "UpdateTaskDetail")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateTaskDetailRequest::~UpdateTaskDetailRequest()
+{}
+
+std::string UpdateTaskDetailRequest::getNote()const
+{
+	return note_;
+}
+
+void UpdateTaskDetailRequest::setNote(const std::string& note)
+{
+	note_ = note;
+	setBodyParameter("Note", note);
+}
+
+std::string UpdateTaskDetailRequest::getExecutorId()const
+{
+	return executorId_;
+}
+
+void UpdateTaskDetailRequest::setExecutorId(const std::string& executorId)
+{
+	executorId_ = executorId;
+	setBodyParameter("ExecutorId", executorId);
+}
+
+std::string UpdateTaskDetailRequest::getStartDate()const
+{
+	return startDate_;
+}
+
+void UpdateTaskDetailRequest::setStartDate(const std::string& startDate)
+{
+	startDate_ = startDate;
+	setBodyParameter("StartDate", startDate);
+}
+
+std::string UpdateTaskDetailRequest::getDelInvolvers()const
+{
+	return delInvolvers_;
+}
+
+void UpdateTaskDetailRequest::setDelInvolvers(const std::string& delInvolvers)
+{
+	delInvolvers_ = delInvolvers;
+	setBodyParameter("DelInvolvers", delInvolvers);
+}
+
+std::string UpdateTaskDetailRequest::getContent()const
+{
+	return content_;
+}
+
+void UpdateTaskDetailRequest::setContent(const std::string& content)
+{
+	content_ = content;
+	setBodyParameter("Content", content);
+}
+
+std::string UpdateTaskDetailRequest::getSprintId()const
+{
+	return sprintId_;
+}
+
+void UpdateTaskDetailRequest::setSprintId(const std::string& sprintId)
+{
+	sprintId_ = sprintId;
+	setBodyParameter("SprintId", sprintId);
+}
+
+std::string UpdateTaskDetailRequest::getCustomFieldId()const
+{
+	return customFieldId_;
+}
+
+void UpdateTaskDetailRequest::setCustomFieldId(const std::string& customFieldId)
+{
+	customFieldId_ = customFieldId;
+	setBodyParameter("CustomFieldId", customFieldId);
+}
+
+std::string UpdateTaskDetailRequest::getProjectId()const
+{
+	return projectId_;
+}
+
+void UpdateTaskDetailRequest::setProjectId(const std::string& projectId)
+{
+	projectId_ = projectId;
+	setBodyParameter("ProjectId", projectId);
+}
+
+std::string UpdateTaskDetailRequest::getTaskId()const
+{
+	return taskId_;
+}
+
+void UpdateTaskDetailRequest::setTaskId(const std::string& taskId)
+{
+	taskId_ = taskId;
+	setBodyParameter("TaskId", taskId);
+}
+
+std::string UpdateTaskDetailRequest::getTaskFlowStatusId()const
+{
+	return taskFlowStatusId_;
+}
+
+void UpdateTaskDetailRequest::setTaskFlowStatusId(const std::string& taskFlowStatusId)
+{
+	taskFlowStatusId_ = taskFlowStatusId;
+	setBodyParameter("TaskFlowStatusId", taskFlowStatusId);
+}
+
+std::string UpdateTaskDetailRequest::getTagIds()const
+{
+	return tagIds_;
+}
+
+void UpdateTaskDetailRequest::setTagIds(const std::string& tagIds)
+{
+	tagIds_ = tagIds;
+	setBodyParameter("TagIds", tagIds);
+}
+
+std::string UpdateTaskDetailRequest::getAddInvolvers()const
+{
+	return addInvolvers_;
+}
+
+void UpdateTaskDetailRequest::setAddInvolvers(const std::string& addInvolvers)
+{
+	addInvolvers_ = addInvolvers;
+	setBodyParameter("AddInvolvers", addInvolvers);
+}
+
+long UpdateTaskDetailRequest::getPriority()const
+{
+	return priority_;
+}
+
+void UpdateTaskDetailRequest::setPriority(long priority)
+{
+	priority_ = priority;
+	setBodyParameter("Priority", std::to_string(priority));
+}
+
+std::string UpdateTaskDetailRequest::getOrgId()const
+{
+	return orgId_;
+}
+
+void UpdateTaskDetailRequest::setOrgId(const std::string& orgId)
+{
+	orgId_ = orgId;
+	setBodyParameter("OrgId", orgId);
+}
+
+std::string UpdateTaskDetailRequest::getDueDate()const
+{
+	return dueDate_;
+}
+
+void UpdateTaskDetailRequest::setDueDate(const std::string& dueDate)
+{
+	dueDate_ = dueDate;
+	setBodyParameter("DueDate", dueDate);
+}
+
+long UpdateTaskDetailRequest::getWorkTimes()const
+{
+	return workTimes_;
+}
+
+void UpdateTaskDetailRequest::setWorkTimes(long workTimes)
+{
+	workTimes_ = workTimes;
+	setBodyParameter("WorkTimes", std::to_string(workTimes));
+}
+
+std::string UpdateTaskDetailRequest::getStoryPoint()const
+{
+	return storyPoint_;
+}
+
+void UpdateTaskDetailRequest::setStoryPoint(const std::string& storyPoint)
+{
+	storyPoint_ = storyPoint;
+	setBodyParameter("StoryPoint", storyPoint);
+}
+
+std::string UpdateTaskDetailRequest::getCustomFieldValues()const
+{
+	return customFieldValues_;
+}
+
+void UpdateTaskDetailRequest::setCustomFieldValues(const std::string& customFieldValues)
+{
+	customFieldValues_ = customFieldValues;
+	setBodyParameter("CustomFieldValues", customFieldValues);
+}
+

+ 72 - 0
devops-rdc/src/model/UpdateTaskDetailResult.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/devops-rdc/model/UpdateTaskDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Devops_rdc;
+using namespace AlibabaCloud::Devops_rdc::Model;
+
+UpdateTaskDetailResult::UpdateTaskDetailResult() :
+	ServiceResult()
+{}
+
+UpdateTaskDetailResult::UpdateTaskDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateTaskDetailResult::~UpdateTaskDetailResult()
+{}
+
+void UpdateTaskDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Successful"].isNull())
+		successful_ = value["Successful"].asString() == "true";
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["ErrorMsg"].isNull())
+		errorMsg_ = value["ErrorMsg"].asString();
+	if(!value["Object"].isNull())
+		object_ = value["Object"].asString() == "true";
+
+}
+
+std::string UpdateTaskDetailResult::getErrorMsg()const
+{
+	return errorMsg_;
+}
+
+bool UpdateTaskDetailResult::getObject()const
+{
+	return object_;
+}
+
+std::string UpdateTaskDetailResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+bool UpdateTaskDetailResult::getSuccessful()const
+{
+	return successful_;
+}
+