npm package: @quanghuy9111991/n8n-nodes-openproject
Description: n8n node to connect with OpenProject API
Author: Huy Nguyen
Latest version: 1.0.2

# n8n-nodes-openproject

This is a n8n community node to connect with OpenProject API. It provides a comprehensive set of operations to interact with OpenProject resources.

## Installation

### Community Nodes (Recommended)

For users on n8n v0.187+, you can install this node via the Community Nodes panel directly in your n8n instance.

1. Go to **Settings > Community Nodes**
2. Search for "n8n-nodes-openproject"
3. Click **Install**
4. Restart n8n

### Manual Installation

To install this node manually:

```bash
npm install n8n-nodes-openproject
```

Or if you're using n8n locally, you can install it with:

```bash
n8n community-node install n8n-nodes-openproject
```

## Features

This node allows you to connect to OpenProject API and perform operations on the following resources:

- **Projects**: Create, get, update, delete, and list projects
- **Users**: Create, get, update, delete, and list users
- **Work Packages**: Create, get, update, delete, and list work packages
- **Time Entries**: Create, get, update, delete, and list time entries
- **Versions**: Create, get, update, delete, and list versions
- **Types**: Get and list types
- **Statuses**: Get and list statuses
- **Priorities**: Get and list priorities
- **Categories**: Get and list categories

## Configuration

To use this node, you need to set up credentials with your OpenProject instance:

1. **Base URL**: The URL of your OpenProject instance (e.g., https://openproject.example.com)
2. **API Key**: Your OpenProject API key

## Usage

### Filtering, Grouping, and Selecting Fields

When using the "Get All" operation, you can configure:

- **Filter**: Filter results by specific fields (e.g., status=open)
- **Group By**: Group results by a specific field (e.g., status)
- **Select Fields**: Specify which fields to include in the response (e.g., id,name,status)
- **Sort By**: Sort results by field and direction (e.g., created_at:desc)
- **Limit**: Maximum number of results to return
- **Offset**: Number of results to skip

## Example Workflows

### Create a Work Package

1. Add an OpenProject node
2. Select "Work Package" as the resource
3. Select "Create" as the operation
4. Fill in the required fields (Subject, Project ID, Type ID)
5. Add any additional fields as needed

### Track Time

1. Add an OpenProject node
2. Select "Time Entry" as the resource
3. Select "Create" as the operation
4. Fill in the required fields (Work Package ID, Hours, Activity ID)
5. Add any additional fields like comments or spent date

## Publishing to npm

To publish this package to npm, follow these steps:

1. Make sure you have an npm account and are logged in:
   ```bash
   npm login
   ```

2. Build the package:
   ```bash
   npm run build
   ```

3. Publish to npm:
   ```bash
   npm publish
   ```

4. After publishing, users can install your node using:
   ```bash
   npm install n8n-nodes-openproject
   ```
   
   Or directly in n8n:
   ```bash
   n8n community-node install n8n-nodes-openproject
   ```

## License

This node is licensed under the [MIT License](LICENSE.md).