White Label Loyalty + Jira integration

Project Management, Ticketing

Jira

About Jira

Connect your loyalty program in Jira without researching its API, registering in a developer program, and getting your application approved. We take care of authentication, secure credentials storage, and token refreshes so you don't have to.

Go to website
Dubai Holding
PepsiCo
Ford
AkzoNobel
Nets
Burger King

Benefits of White Label Loyalty + Jira

  • Connect Jira to your loyalty program with ease.
  • Get started without the need to research any APIs.
  • User-friendly setup & configuration inside of our Loyalty Console.
  • Focus on your customers – not the tech.
Integrate now!

Integrate now!

Choose our API-first platform and simply connect to hundreds of software tools you might be using.

Automate desired actions with Jira

Create an omnichannel experience for your customers and automate actions between the White Label Loyalty platform and Jira in real time.

Add actors to project role

Adds actors to a project role for the project.

To replace all actors for the project, use Set actors for project role.

This operation can be accessed anonymously.

Permissions required: Administer Projects project permission for the project or Administer Jira global permission.

Add field to default screen

Adds a field to the default tab of the default screen.

Permissions required: Administer Jira global permission.

Add attachment

Adds one or more attachments to an issue. Attachments are posted as multipart/form-data (RFC 1867).

Note that:

  • The request must have a X-Atlassian-Token: no-check header, if not it is blocked. See Special headers for more information.
  • The name of the multipart/form-data parameter that contains the attachments must be file.

The following examples upload a file called myfile.txt to the issue TEST-123:

curl

curl --location --request POST 'https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments'
 -u 'email@example.com:<api_token>'
 -H 'X-Atlassian-Token: no-check'
 --form 'file=@"myfile.txt"'

Node.js

// This code sample uses the 'node-fetch' and 'form-data' libraries:
 // https://www.npmjs.com/package/node-fetch
 // https://www.npmjs.com/package/form-data
 const fetch = require('node-fetch');
 const FormData = require('form-data');
 const fs = require('fs');

 const filePath = 'myfile.txt';
 const form = new FormData();
 const stats = fs.statSync(filePath);
 const fileSizeInBytes = stats.size;
 const fileStream = fs.createReadStream(filePath);

 form.append('file', fileStream, {knownLength: fileSizeInBytes});

 fetch('https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments', {
     method: 'POST',
     body: form,
     headers: {
         'Authorization': `Basic ${Buffer.from(
             'email@example.com:'
         ).toString('base64')}`,
         'Accept': 'application/json',
         'X-Atlassian-Token': 'no-check'
     }
 })
     .then(response => {
         console.log(
             `Response: ${response.status} ${response.statusText}`
         );
         return response.text();
     })
     .then(text => console.log(text))
     .catch(err => console.error(err));

Java

// This code sample uses the  'Unirest' library:
 // http://unirest.io/java.html
 HttpResponse response = Unirest.post("https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments")
         .basicAuth("email@example.com", "")
         .header("Accept", "application/json")
         .header("X-Atlassian-Token", "no-check")
         .field("file", new File("myfile.txt"))
         .asJson();

         System.out.println(response.getBody());

Python

# This code sample uses the 'requests' library:
 # http://docs.python-requests.org
 import requests
 from requests.auth import HTTPBasicAuth
 import json

 url = "https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments"

 auth = HTTPBasicAuth("email@example.com", "")

 headers = {
    "Accept": "application/json",
    "X-Atlassian-Token": "no-check"
 }

 response = requests.request(
    "POST",
    url,
    headers = headers,
    auth = auth,
    files = {
         "file": ("myfile.txt", open("myfile.txt","rb"), "application-type")
    }
 )

 print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))

PHP

// This code sample uses the 'Unirest' library:
 // http://unirest.io/php.html
 Unirest\Request::auth('email@example.com', '');

 $headers = array(
   'Accept' => 'application/json',
   'X-Atlassian-Token' => 'no-check'
 );

 $parameters = array(
   'file' => File::add('myfile.txt')
 );

 $response = Unirest\Request::post(
   'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments',
   $headers,
   $parameters
 );

 var_dump($response)

Forge

// This sample uses Atlassian Forge and the `form-data` library.
 // https://developer.atlassian.com/platform/forge/
 // https://www.npmjs.com/package/form-data
 import api from "@forge/api";
 import FormData from "form-data";

 const form = new FormData();
 form.append('file', fileStream, {knownLength: fileSizeInBytes});

 const response = await api.asApp().requestJira('/rest/api/2/issue/{issueIdOrKey}/attachments', {
     method: 'POST',
     body: form,
     headers: {
         'Accept': 'application/json',
         'X-Atlassian-Token': 'no-check'
     }
 });

 console.log(`Response: ${response.status} ${response.statusText}`);
 console.log(await response.json());

Tip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a MultiPartEntity class for multipart POST operations.

This operation can be accessed anonymously.

Permissions required:

Add gadget to dashboard

Adds a gadget to a dashboard.

Permissions required: None.

Add comment

Adds a comment to an issue.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects and Add comments project permission for the project that the issue containing the comment is in.
  • If issue-level security is configured, issue-level security permission to view the issue.

Add issue types to context

Adds issue types to a custom field context, appending the issue types to the issue types list.

A custom field context without any issue types applies to all issue types. Adding issue types to such a custom field context would result in it applying to only the listed issue types.

If any of the issue types exists in the custom field context, the operation fails and no issue types are added.

Permissions required: Administer Jira global permission.

Show more

Call and retrieve data from Jira

Connect data collections between White Label Loyalty and Jira for a smooth flow via an API.

 updatelistfind By Iddeletematchsearchcreate
Filters
Issue Priorities
Issue Resolutions
Issue Types
Issues
Expand
Wavin

Case Study

Wavin

Wavin Case Study

Learn how Wavin connected with their end-customers via a branded loyalty app and grew their user base 17x in the first 6 months.

Choose White Label Loyalty and become a loyalty leader