{"record":{"id":"d79aa0219116a886","repo":"pentaho/pentaho-kettle","slug":"httppost-log-nofield","errorCode":null,"errorMessage":"HTTPPOST.Log.NoField","messagePattern":"HTTPPOST\\.Log\\.NoField","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/httppost/HTTPPOST.java","lineNumber":369,"sourceCode":"    meta = (HTTPPOSTMeta) smi;\n    data = (HTTPPOSTData) sdi;\n\n    Object[] r = getRow(); // Get row from input rowset & set row busy!\n    if ( r == null ) { // no more input to be expected...\n      setOutputDone();\n      return false;\n    }\n    if ( first ) {\n      first = false;\n      data.inputRowMeta = getInputRowMeta();\n      data.outputRowMeta = getInputRowMeta().clone();\n      meta.getFields( getTransMeta().getBowl(), data.outputRowMeta, getStepname(), null, null, this, repository,\n        metaStore );\n\n      if ( meta.isUrlInField() ) {\n        if ( Utils.isEmpty( meta.getUrlField() ) ) {\n          logError( BaseMessages.getString( PKG, \"HTTPPOST.Log.NoField\" ) );\n          throw new KettleException( BaseMessages.getString( PKG, \"HTTPPOST.Log.NoField\" ) );\n        }\n\n        // cache the position of the field\n        if ( data.indexOfUrlField < 0 ) {\n          String realUrlfieldName = environmentSubstitute( meta.getUrlField() );\n          data.indexOfUrlField = data.inputRowMeta.indexOfValue( ( realUrlfieldName ) );\n          if ( data.indexOfUrlField < 0 ) {\n            // The field is unreachable !\n            logError( BaseMessages.getString( PKG, \"HTTPPOST.Log.ErrorFindingField\", realUrlfieldName ) );\n            throw new KettleException( BaseMessages.getString( PKG, \"HTTPPOST.Exception.ErrorFindingField\",\n              realUrlfieldName ) );\n          }\n        }\n      } else {\n        data.realUrl = environmentSubstitute( meta.getUrl() );\n      }\n      // set body parameters\n      int nrargs = meta.getArgumentField().length;","sourceCodeStart":351,"sourceCodeEnd":387,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/httppost/HTTPPOST.java#L351-L387","documentation":"The HTTPPOST step is configured with 'URL is in a field?' enabled but the 'URL field name' setting is empty. processRow detects this via Utils.isEmpty(meta.getUrlField()) and throws a KettleException with 'HTTPPOST.Log.NoField' after logging the same message.","triggerScenarios":"processRow (first-portion init) executes when meta.isUrlInField() is true and meta.getUrlField() returns an empty/null string; thrown at line 369 before any rows are processed.","commonSituations":"User checked 'URL field name' option but forgot to select the input field containing the URL; a saved transformation lost the field selection after renaming the field; metadata copied between environments.","solutions":["Open the HTTP POST step dialog and set 'URL field name' to the input field that holds the URL.","If the URL is static instead, uncheck 'URL is in a field?' and enter the URL directly.","Re-save the transformation after fixing the field selection."],"exampleFix":"// before (dialog config)\nisUrlInField=true; urlField=\"\";\n// after\nisUrlInField=true; urlField=\"request_url\"; // name of the incoming field with the URL","handlingStrategy":"validation","validationCode":"if (meta.isUrlInField() && (meta.getUrlField() == null || meta.getUrlField().trim().isEmpty()))\n  throw new KettleException(\"URL field name required when URL-in-field is enabled\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pick URL fields from the dropdown, never type freehand","Run transformation verification before production","Re-check settings after imports between environments"],"tags":["configuration","pentaho","http-post","missing-field"],"backgroundTag":"missing-required-config-field","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}