Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Forge pricing for jira plugin that indexes properties

Pierre Ibrahim
Contributor
August 17, 2026

Hello all,

I'm wondering if I can get some clarity around this topic as the Forge cost estimator assumes the developer knows the usage of their plugin.

I'm working on a very small plugin that would only index space attributes in JIRA so they can be JQL'd.

The entire plugin is just a manifest.yml file that declares the attributes so they be indexed. Over time we may add more attributes to the index.

The plugin itself does nothing else. It will not be deployed to the marketplace, it'll only be deployed on my employer's JIRA sites.

What would the forge cost be in this instance? The only close thing I can find on the estimator is the "Key Value Store", but I'm not sure of the storage needed for reads/writes to provide my employer an accurate estimate.

Any guidance here is appreciated.

Thank you

3 answers

1 accepted

2 votes
Answer accepted
Andrey - Guenov Labs
Atlassian Partner
August 18, 2026

Jean's answer is right on the cost — but I'd add the reason why, plus two things that will bite you later.

On cost. Forge moved to consumption-based pricing on 1 January 2026 and the old quota system was retired. You're billed on things you actually consume: function invocations, hosted storage (KVS / Custom Entity Store / SQL / Object Store), egress, LLM calls. A manifest-only jira:entityProperty declaration consumes none of them — the index lives in Jira's own index, and the property values live on the Jira platform, both covered by your existing subscription. So $0, and it stays $0 as long as nothing in the app runs.

The thing worth flagging: something has to write those entity properties. If that's an external script or CI job hitting PUT /rest/api/3/issue/{key}/properties/{propertyKey}, you stay at $0 on the Forge side. If you later add a product trigger or scheduled function inside the app to set them, that's where invocations — and cost — start. Worth deciding now which side of that line you want to be on.

Two gotchas on the module itself:

  1. The 100-value cap. The docs are explicit: all your jira:entityProperty modules combined can't declare more than 100 values. You said you may add attributes over time, so I'd start on jira:entityPropertySetinstead — it bundles multiple properties under one module with no limit. Migrating later means re-indexing, so it's cheaper to pick it up front.
  2. entityType defaults to issue. You said "space attributes," so if you mean project-level properties you need to set it explicitly:
modules:
  jira:entityProperty:
    - key: space-attrs
      entityType: project
      propertyKey: space-attrs
      values:
        - path: costCentre
          type: string
          searchAlias: costCentre

and then in JQL you prefix with project: project.costCentre = "R&D", or the long form project.property['space-attrs'].costCentre = "R&D".

One last practical note: pick your type carefully, because it decides which operators you get. string gives you exact match only (=, !=), text tokenizes and gives you ~ but no exact match or ordering, number and date give you ranges and ORDER BY. Getting that wrong is the most common reason a property indexes fine but won't query the way people expect.

Docs: Jira entity property , Platform limits and usage

Pierre Ibrahim
Contributor
August 24, 2026

Ah thank you so much for the detailed write up! I was not aware of the jira:entityPropertySet manifest, but that makes sense to start with that as opposed to the jira:entityProperty to avoid the limit altogether.

And yeah as far as hitting that API endpoint, I'm just doing it via JIRA Automation rules (for ongoing support) and an external python script (for the initial roll out)

1 vote
Aron Gombas _Midori_
Community Champion
August 18, 2026

Forge offers a generous free usage allowance for each service. Even if you generated costs for Atlassian, it would very likely fit this free budget.

We have public apps with ~100 installation and fairly little (but more than zero) logic, they happily fit the free budget.

1 vote
Jean Horn
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
August 17, 2026

Hi @Pierre Ibrahim !

Since your Forge app is purely declarative and only defines attributes in the manifest.yml for Jira JQL indexing, your monthly Forge cost will be $0.

Because the app doesn't execute any backend functions or use Forge Storage (Key-Value), it consumes no billable Forge resources. The entity properties themselves are stored directly on the Jira Cloud platform (updated externally via REST API), which is already included in your existing Jira subscription at no extra charge.

Here is a quick breakdown of how this works:

  1. Current Usage ($0/month): Manifest-only declarations do not trigger function invocations or storage costs.
  2. Jira Storage: Included in your company's active Jira Cloud plan.
  3. Future Considerations: If you later add backend logic to write entity properties directly (e.g., via triggers, web triggers, or scheduled functions), those function executions will start consuming quotas and could affect billing based on invocation volume.

For more technical details on property indexing and platform quotas, you can check out the official docs:

Hope this helps clear things up for your team!

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
PREMIUM
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events