This is an automated email from the ASF dual-hosted git repository.

warren pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 524ea066 fix: Jenkins collectApiStages occurs 404 and Missing 
parameters transformationRules
524ea066 is described below

commit 524ea066e357bd8dc04f924247700f920a548178
Author: abeizn <[email protected]>
AuthorDate: Tue Sep 27 18:34:43 2022 +0800

    fix: Jenkins collectApiStages occurs 404 and Missing parameters 
transformationRules
    
    fix: Jenkins collectApiStages occurs 404 and Missing parameters 
transformationRules
---
 plugins/jenkins/api/blueprint.go         |  2 ++
 plugins/jenkins/tasks/shared.go          | 35 ++++++++++++++++++++++++++++++++
 plugins/jenkins/tasks/stage_collector.go |  4 +++-
 3 files changed, 40 insertions(+), 1 deletion(-)

diff --git a/plugins/jenkins/api/blueprint.go b/plugins/jenkins/api/blueprint.go
index 37fae67c..66105cad 100644
--- a/plugins/jenkins/api/blueprint.go
+++ b/plugins/jenkins/api/blueprint.go
@@ -19,6 +19,7 @@ package api
 
 import (
        "encoding/json"
+
        "github.com/apache/incubator-devlake/errors"
        "github.com/apache/incubator-devlake/plugins/core"
        "github.com/apache/incubator-devlake/plugins/helper"
@@ -43,6 +44,7 @@ func MakePipelinePlan(subtaskMetas []core.SubTaskMeta, 
connectionId uint64, scop
                        return nil, err
                }
                taskOptions["connectionId"] = connectionId
+               taskOptions["transformationRules"] = transformationRules
                _, err := tasks.DecodeAndValidateTaskOptions(taskOptions)
                if err != nil {
                        return nil, err
diff --git a/plugins/jenkins/tasks/shared.go b/plugins/jenkins/tasks/shared.go
new file mode 100644
index 00000000..f2249349
--- /dev/null
+++ b/plugins/jenkins/tasks/shared.go
@@ -0,0 +1,35 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+*/
+
+package tasks
+
+import (
+       "net/http"
+
+       "github.com/apache/incubator-devlake/errors"
+       "github.com/apache/incubator-devlake/plugins/helper"
+)
+
+func ignoreHTTPStatus404(res *http.Response) errors.Error {
+       if res.StatusCode == http.StatusUnauthorized {
+               return errors.Unauthorized.New("authentication failed, please 
check your AccessToken")
+       }
+       if res.StatusCode == http.StatusNotFound {
+               return helper.ErrIgnoreAndContinue
+       }
+       return nil
+}
diff --git a/plugins/jenkins/tasks/stage_collector.go 
b/plugins/jenkins/tasks/stage_collector.go
index 9cd249c5..8411ac01 100644
--- a/plugins/jenkins/tasks/stage_collector.go
+++ b/plugins/jenkins/tasks/stage_collector.go
@@ -19,11 +19,12 @@ package tasks
 
 import (
        "encoding/json"
-       "github.com/apache/incubator-devlake/errors"
        "net/http"
        "net/url"
        "reflect"
 
+       "github.com/apache/incubator-devlake/errors"
+
        "github.com/apache/incubator-devlake/plugins/core"
        "github.com/apache/incubator-devlake/plugins/core/dal"
        "github.com/apache/incubator-devlake/plugins/helper"
@@ -96,6 +97,7 @@ func CollectApiStages(taskCtx core.SubTaskContext) 
errors.Error {
                        }
                        return data.Stages, nil
                },
+               AfterResponse: ignoreHTTPStatus404,
        })
 
        if err != nil {

Reply via email to