Notes de version

Vous trouverez ci-dessous les modifications importantes apportées à l’intégration Procore + MuleSoft.

Recent Changes

Version 1.0.0 (06/2025)

Overview

The Procore Connector 1.0.0 provides seamless integration between MuleSoft applications and Procore’s construction project management platform. This initial release establishes the foundation for managing construction projects through MuleSoft-based enterprise solutions.

What’s New

Core Features
  • OAuth 2.0 Authentication: Secure connection to Procore API using OAuth 2.0 authorization code flow with automatic token refresh.

  • Project Management Operations: Complete support for creating and updating construction projects.

  • Company-Specific Context: All operations support company-specific contexts through Procore Company ID headers.

  • Advanced Error Handling: Robust error handling with detailed logging and proper exception management.

Operations
Create Project Operation
  • Project Details Management: Create new construction projects with comprehensive project details, including name, description, code, and type configuration.

  • Location Data Support: Full support for latitude, longitude, and geographic information.

  • Date Management: Override start/end dates with configurable date handling.

  • Company Integration: Company ID association and office linking.

  • Cost Code Support: Optional standard cost code copying during creation.

  • Advanced Fields: Support for project numbers, store numbers, accounting project numbers, and designated market areas.

Update Project Operation
  • Project Modification: Update existing project details and configurations.

  • Additional Fields: County, fax, and standard cost code list management.

  • Flexible Updates: Partial updates with optional parameter support.

  • Validation: Built-in validation for project ID and company associations.

Technical Specifications

System Requirements

Composant

La version

Temps d’exécution de la mule

4.9.6 ou supérieur

Java

17

Dependencies

Dependency

Version

Purpose

mule-sdk-api

0.11.4

MuleSoft SDK API

gson

2.12.1

JSON serialization/deserialization

nimbus-jose-jwt

9.37.3

JWT token handling

mule-http-connector

1.10.3

HTTP operations

mule-file-connector

1.5.3

File operations

mule-objectstore-connector

1.2.2

Object store operations

mule-selenium-connector

2.2.3

Selenium operations

Configuration Parameters
Connection Configuration
  • Base URL: Configurable Procore API base URL (default: https://api.procore.com).

  • Timeout Settings: Configurable connection timeout (default: 30 seconds).

  • Proxy Support: Optional proxy configuration for enterprise environments.

  • OAuth 2.0: Authorization code flow with automatic token refresh.

Project Parameters
  • Basic Information: Name, description, code, active status.

  • Location Data: Address, city, state, country, ZIP, latitude, longitude.

  • Date Management: Start date, completion date, warranty dates, override dates.

  • Financial Data: Total value, estimated value, square feet.

  • Organizational Data: Company ID, office ID, department IDs, project stage.

  • Advanced Fields: Project type, bid type, owner type, region, template.

  • Custom Fields: Origin data, flags, public notes, locale, timezone.

Installation

Maven Dependency
Configuration Example

<procore:config name="Procore_Config">
procore:connection
<procore:oauth-authorization-code
consumerKey="${oauth.client.id}"
consumerSecret="${oauth.client.secret}"/>
<procore:oauth-callback-config
listenerConfig="HTTP_Listener_config"
callbackPath="/mule/callback"
authorizePath="/authorize-procore"
externalCallbackUrl="http://localhost:8081/mule/callback" />
</procore:connection>
</procore:config>

Usage Examples

Create Project Example

<procore:create-project
config-ref="Procore_Config"
companyId="#[payload.company_id]"
name="#[payload.name]"
address="#[payload.address]"
city="#[payload.city]"
stateCode="#[payload.state_code]"
countryCode="#[payload.country_code]"
zip="#[payload.zip]"
description="#[payload.description]"
startDate="#[payload.start_date]"
completionDate="#[payload.completion_date]"
totalValue="#[payload.total_value]"
enableCopyOfStandardCostCodes="#[payload.enable_copy_of_standard_cost_codes]"/>

Update Project Example

<procore:update-project
config-ref="Procore_Config"
companyId="#[payload.company_id]"
projectId="#[payload.project_id]"
name="#[payload.name]"
address="#[payload.address]"
city="#[payload.city]"
description="#[payload.description]"
totalValue="#[payload.total_value]"
county="#[payload.county]"
fax="#[payload.fax]"
standardCostCodeListId="#[payload.standard_cost_code_list_id]"/>

Error Handling

Error Types
  • Authentication Errors: OAuth token validation and refresh failures.

  • API Errors: Procore API response errors with detailed error messages.

  • Validation Errors: Parameter validation and business rule violations.

  • Connection Errors: Network connectivity and timeout issues.

  • Unexpected Errors: General exception handling with contextual information.

Testing

Unit Tests
  • Comprehensive unit test coverage for all operations.

  • Mock-based testing for external dependencies.

  • Parameter validation testing.

  • Error handling scenario testing.

Integration Tests
  • End-to-end testing with Procore API.

  • OAuth flow testing.

  • Real project creation and update scenarios.

  • Performance and load testing.

Test Coverage
  • Code Coverage: Minimum 80% instruction coverage.

  • Test Scenarios: Create and update project operations.

  • Error Scenarios: Authentication, validation, and API errors.

  • Edge Cases: Optional parameters, null values, boundary conditions.

Documentation

Available Documentation
  • README.md: Quick start guide and feature overview.

  • API Documentation: Detailed operation documentation.

  • Configuration Guide: Connection and parameter configuration.

  • Examples: Sample implementations and use cases.

  • Error Handling: Error types and troubleshooting guide.

Additional Resources
  • Demo Project: Complete working example in demo/ directory.

  • Test Suite: Comprehensive test examples in src/test/.

  • Configuration Templates: Pre-configured templates for common scenarios.

Known Issues and Limitations

Current Limitations
  • Single Company Context: Operations require an explicit company ID parameter.

  • Project Operations Only: Limited to project creation and updates.

  • Synchronous Operations: All operations are synchronous.

  • Batch Operations: No support for batch project operations.

Known Issues
  • None reported in this release.

From Previous Versions
  • This is the initial release (1.0.0).

  • No migration required from previous versions.

Support and Maintenance

Support Information
  • Maintainer: Team Strategic Integrations.

  • Issue Tracking: ESI (Enterprise Strategic Integrations).

  • Documentation: Available in the project repository.

  • Community: Procore Enterprise Slack channel.

Maintenance Schedule
  • Security Updates: As needed for critical vulnerabilities.

  • Feature Updates: Quarterly release cycle.

  • Bug Fixes: Monthly patch releases.

  • Documentation Updates: Continuous improvement.

Changelog

Version 1.0.0 (Current Release)
  • Initial Release: First public release of Procore Connector.

  • OAuth 2.0 Authentication: Secure authentication with Procore API.

  • Create Project Operation: Complete project creation functionality.

  • Update Project Operation: Full project update capabilities.

  • Comprehensive Error Handling: Robust error management and logging.

  • Company-Specific Operations: Support for multi-company environments.

  • Advanced Project Features: Support for all major project parameters.

  • Documentation and Examples: Complete documentation and demo project.

  • Test Coverage: Comprehensive unit and integration tests.

Contributing

Development Guidelines
  • Follow MuleSoft development best practices.

  • Maintain 80% minimum code coverage.

  • Include comprehensive error handling.

  • Provide detailed documentation for new features.

  • Follow established naming conventions and code structure.

Testing Requirements
  • Unit tests for all new operations.

  • Integration tests for API interactions.

  • Error scenario testing.

  • Performance testing for new features.

 Remarque

Pour obtenir de l’aide, des questions ou des demandes de fonctionnalités supplémentaires, contactez l’équipe Intégrations stratégiques via le canal Slack de Procore Enterprise ou créez un problème dans le système de suivi de projet ESI.