All url endpoints are prefixed with /rest/ and the path to the project and tool.
For example, in order to access a wiki installed in the 'test' project with the mount point 'docs' the API endpoint would be /rest/p/test/docs.
The following tools have API support:
Project
Wiki
Tracker
Discussion
Blog
External Link
Admin
User Profiles
In order to use the API for authenticated actions, you should use the OAuth account page to create a consumer key for your application. Once you have a consumer key, you must have a site user (e.g. your own account, if you're writing a single script) authorize your application to act on his or her behalf.
You can also use your normal browser session as authentication for the API. This is useful for manually testing API calls or for in-browser applications (such as extensions or user-scripts). It is not recommended for programmatic access, however, as it would require you to store your account username and password, and thus cannot be easily managed or revoked.
Without authentication, all API requests have the permissions of an anonymous visitor. To view or change anything that requires a login, you must authenticate to the API using OAuth. You must first register for an OAuth consumer token at https://forge-allura.apache.org/auth/oauth/. Once you have registered, you will be be able to see your consumer key and consumer secret, or generate a bearer token, at https://forge-allura.apache.org/auth/oauth/.
The easiest way to use the API with your own account is to use a bearer token. Once you have generated a bearer token at https://forge-allura.apache.org.net/auth/oauth/, you just include it in the request to the API via a http header like Authorization: Bearer MY_BEARER_TOKEN
.
Simple URL example to access a private ticket:
curl -H 'Authorization: Bearer MY_BEARER_TOKEN' https://forge-allura.apache.org/rest/p/allura/tickets/35/
Python code example to create a new ticket:
import requests
from pprint import pprint
BEARER_TOKEN = '<bearer token from oauth page>'
r = requests.post('https://forge-allura.apache.org/rest/p/test-project/tickets/new',
headers={'Authorization': f'Bearer {BEARER_TOKEN}'}
params={
'ticket_form.summary': 'Test ticket',
'ticket_form.description': 'This is a test ticket',
'ticket_form.labels': 'test',
'ticket_form.custom_fields._my_num': '7', # custom field with label "My Num"
# must be created first
})
if r.status_code == 200:
print('Ticket created at: %s' % r.url)
pprint(r.json())
else:
print('Error [%s]:\n%s' % (r.status_code, r.text))
If you want your application to be able to use the API on behalf of another user, that user must authorize your application to act on their behalf. This is usually accomplished by obtaining a request token and directing the user authorize the request. The following is an example of how one would authorize an application in Python using the requests_oauthlib library. First, run pip install requests_oauthlib
from requests_oauthlib import OAuth1Session
import webbrowser
CONSUMER_KEY = '<consumer key from registration>'
CONSUMER_SECRET = '<consumer secret from registration>'
REQUEST_TOKEN_URL = 'https://forge-allura.apache.org/rest/oauth/request_token'
AUTHORIZE_URL = 'https://forge-allura.apache.org/rest/oauth/authorize'
ACCESS_TOKEN_URL = 'https://forge-allura.apache.org/rest/oauth/access_token'
oauth = OAuth1Session(CONSUMER_KEY, client_secret=CONSUMER_SECRET, callback_uri='oob')
# Step 1: Get a request token. This is a temporary token that is used for
# having the user authorize an access token and to sign the request to obtain
# said access token.
request_token = oauth.fetch_request_token(REQUEST_TOKEN_URL)
# these are intermediate tokens and not needed later
# print("Request Token:")
# print(" - oauth_token = %s" % request_token['oauth_token'])
# print(" - oauth_token_secret = %s" % request_token['oauth_token_secret'])
# print()
# Step 2: Redirect to the provider. Since this is a CLI script we do not
# redirect. In a web application you would redirect the user to the URL
# below, specifying the additional parameter oauth_callback=<your callback URL>.
webbrowser.open(oauth.authorization_url(AUTHORIZE_URL, request_token['oauth_token']))
# Since we didn't specify a callback, the user must now enter the PIN displayed in
# their browser. If you had specified a callback URL, it would have been called with
# oauth_token and oauth_verifier parameters, used below in obtaining an access token.
oauth_verifier = input('What is the PIN? ')
# Step 3: Once the consumer has redirected the user back to the oauth_callback
# URL you can request the access token the user has approved. You use the
# request token to sign this request. After this is done you throw away the
# request token and use the access token returned. You should store this
# access token somewhere safe, like a database, for future use.
access_token = oauth.fetch_access_token(ACCESS_TOKEN_URL, oauth_verifier)
print("Access Token:")
print(" - oauth_token = %s" % access_token['oauth_token'])
print(" - oauth_token_secret = %s" % access_token['oauth_token_secret'])
print()
print("You may now access protected resources using the access tokens above.")
print()
You can then use your access token with the REST API. For instance script to create a wiki page might look like this:
from requests_oauthlib import OAuth1Session
PROJECT='test'
CONSUMER_KEY='<consumer key from app registration>'
CONSUMER_SECRET='<consumer secret from app registration>'
ACCESS_KEY='<access key from previous script>'
ACCESS_SECRET='<access secret from previous script>'
URL_BASE='https://forge-allura.apache.org/rest/'
oauth = OAuth1Session(CONSUMER_KEY, client_secret=CONSUMER_SECRET,
resource_owner_key=ACCESS_KEY, resource_owner_secret=ACCESS_SECRET)
response = oauth.post(URL_BASE + 'p/' + PROJECT + '/wiki/TestPage',
data=dict(text='This is a test page'))
response.raise_for_status()
print("Done. Response was:")
print(response)
Another option for authorizing your apps is to use the OAuth2 workflow. This is accomplished by authorizing the application which generates an authorization_code
that can be later exchanged for an access_token
The following example demonstrates the authorization workflow and how to generate an access token to authenticate your apps
from requests_oauthlib import OAuth2Session
# Set up your client credentials
client_id = 'YOUR_CLIENT_ID'
client_secret = 'YOUR_CLIENT_SECRET'
authorization_base_url = 'https://forge-allura.apache.org/auth/oauth2/authorize'
access_token_url = 'https://forge-allura.apache.org/rest/oauth2/token'
redirect_uri = 'https://forge-allura.apache.org/page' # Your registered redirect URI
# Create an OAuth2 session
oauth2 = OAuth2Session(client_id, redirect_uri=redirect_uri)
# Step 1: Prompt the user to navigate to the authorization URL
authorization_url, state = oauth2.authorization_url(authorization_base_url)
print('Please go to this URL to authorize the app:', authorization_url)
# Step 2: Obtain the authorization code (you can find it in the 'code' URL parameter)
# In real use cases, you might implement a small web server to capture this
authorization_code = input('Paste authorization code here: ')
# Step 3: Exchange the authorization code for an access token
token = oauth2.fetch_token(access_token_url,
code=authorization_code,
client_secret=client_secret,
include_client_id=True)
# Print the access and refresh tokens for verification (or use it to request user data)
# If your access token expires, you can request a new one using the refresh token
print(f"Access Token: {token.get('access_token')}")
print(f"Refresh Token: {token.get('refresh_token')}")
# Step 4: Use the access token to make authenticated requests
response = oauth2.get('https://forge-allura.apache.org/user')
print('User data:', response.json())
A new access token can be requested once it expires. The following example demonstrates how can the refresh token obtained in the previous code sample be used to generate a new access token:
from requests_oauthlib import OAuth2Session
# Set up your client credentials
client_id = 'YOUR_CLIENT_ID'
client_secret = 'YOUR_CLIENT_SECRET'
refresh_token = 'YOUR_REFRESH_TOKEN'
access_token = 'YOUR_ACCESS_TOKEN'
access_token_url = 'https://forge-allura.apache.org/rest/oauth2/token'
# Step 1: Create an OAuth2 session by also passing token information
token = dict(access_token=access_token, token_type='Bearer', refresh_token=refresh_token)
oauth2 = OAuth2Session(client_id=client_id, token=token)
# Step 2: Request for a new token
extra = dict(client_id=client_id, client_secret=client_secret)
refreshed_token = oauth2.refresh_token(access_token_url, **extra)
# You can inspect the response object to get the new access and refresh tokens
print(f"Access Token: {token.get('access_token')}")
print(f"Refresh Token: {token.get('refresh_token')}")
PKCE (Proof Key for Code Exchange) is an extension to the authorization code flow to prevent CSRF and authorization code injection attacks. It mitigates the risk of the authorization code being intercepted by a malicious entity during the exchange from the authorization endpoint to the token endpoint.
To make use of this security extension, you must generate a string known as a "code verifier", which is a random string using the characters A-Z, a-z, 0-9 and the special characters -._~ and it should be between 43 and 128 characters long.
Once the string has been created, perform a SHA256 hash on it and encode the resulting value as a Base-
You can use the following example to generate a valid code verifier and code challenge:
import hashlib
import base64
import os
# Generate a code verifier (random string)
def generate_code_verifier(length=64):
return base64.urlsafe_b64encode(
os.urandom(length)).decode('utf-8').rstrip('=')
# Generate a code challenge (SHA-256)
def generate_code_challenge(verifier):
digest = hashlib.sha256(verifier.encode('utf-8')).digest()
return base64.urlsafe_b64encode(digest).decode('utf-8').rstrip('=')
code_verifier = generate_code_verifier()
code_challenge = generate_code_challenge(code_verifier)
# The code challenge should be sent in the initial authorization request.
print("Code Verifier:", code_verifier)
print("Code Challenge:", code_challenge)
Having generated the codes, you would need to send the code challenge along with the challenge method (in this case S256) as part of the query string in the authorization url, for example:
https://forge-allura.apache.org/auth/oauth2/authorize?client_id=8dca182d3e6fe0cb76b8&response_type=code&code_challenge=G6wIRjEZlvhLsVS0exbID3o4ppUBsjxUBNtRVL8StXo&code_challenge_method=S256
Afterwards, when you request an access token, you must provide the code verifier that derived the code challenge as part of the request's body, otherwise the token request validation will fail:
POST https://forge-allura.apache.org/rest/oauth2/token
{
"client_id": "8dca182d3e6fe0cb76b8",
"client_secret": "1c6a2d99db80223590dd12cc32dfdb8a0cc2e9a38620e05c16076b2872110688b9c1b17db63bb7c3",
"code": "Gvw53xmSBFZYBy0xdawm0qSX0cqhHs",
"code_verifier": "aEyhTs4BfWjZ7g5HT0o7Hu24p6Qw6TxotdX8_G20NN9J1lXIfSnNr3b6jhOUZe5ZWkP5ADCEzlWABUHSPXslgQ",
"grant_type": "authorization_code"
}
The has_access
API can be used to run permission checks. It is available on a neighborhood, project and tool level.
It is only available to users that have 'admin' permission for corresponding neighborhood/project/tool.
It requires user
and perm
parameters and will return JSON dict with result
key, which contains boolean value, indicating if given user
has perm
permission to the neighborhood/project/tool.
DOAP is an RDF/XML specification for "Description of a Project"
Project information is available in DOAP format with additional custom RDF fields at /rest/p/{project}?doap
This is separate from the normal JSON API at /rest/p/{project}
List tools (e.g. "git" repos) that the current user is associated with
tool_type required | string |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "tools": [
- {
- "mount_label": "Code",
- "mount_point": "code",
- "name": "git",
- "project_name": "Test",
- "clone_url_ro": "git://forge-allura.apache.org/git/p/test/code"
}, - {
- "mount_label": "Widgets - Fork",
- "mount_point": "widgets-fork",
- "name": "git",
- "project_name": "someuser",
- "clone_url_ro": "git://forge-allura.apache.org/git/u/someuser/widgets-fork"
}
]
}
Endpoints Permissions can be checked at three levels:
/rest/p/has_access
/rest/p/project_name/has_access
/rest/p/project_name/mount_point/has_access
It is only available to users that have 'admin' permission for corresponding neighborhood/project/tool. It requires user and perm parameters and will return JSON dict with result key, which contains boolean value, indicating if given user has perm permission to the neighborhood/project/tool.
E.g.:
GET /rest/p/test/wiki/has_access?user=admin1&perm=create
returns { result: true }
GET /rest/p/test/wiki/has_access?user=user01&perm=create
returns { result: false }
neighborhood required | string Allura has two default neighborhoods: “Projects” |
perm required | string Default: "read" Enum: "read" "admin" "create" "update" "register" |
user required | string The username to check |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
{- "name": "Template Test 1",
- "shortname": "template-test-1",
- "summary": "My summary.",
- "description": "My description.",
- "admin": "admin1",
- "labels": [
- "label1",
- "label2"
], - "trove_audiences": [
- "Information Technology",
- "Developers"
], - "trove_licenses": [
- "Apache License V2.0",
- "GNU General Public License version 2.0 (GPLv2)",
- "Public Domain"
], - "awards": [ ],
- "tool_data": {
- "allura": {
- "grouping_threshold": 5
}
},
}
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
{- "status": "active",
- "preferred_support_tool": "",
- "preferred_support_url": "",
- "labels": [ ],
- "private": false,
- "creation_date": "2013-02-12T00:00:00.000Z",
- "socialnetworks": [
- {
- "accounturl": "",
- "socialnetwork": "Twitter"
}, - {
- "accounturl": null,
- "socialnetwork": "Facebook"
}
], - "tools": [
- {
- "mount_point": "activity",
- "name": "activity",
- "label": "Activity"
}, - {
- "mount_point": "git",
- "name": "git",
- "label": "Git"
}, - {
- "mount_point": "allura-dev",
- "name": "link",
- "label": "Mailing List (dev)"
}, - {
- "mount_point": "wiki",
- "name": "wiki",
- "label": "Wiki"
}, - {
- "mount_point": "docs",
- "name": "link",
- "label": "Docs"
}, - {
- "mount_point": "license",
- "name": "link",
- "label": "License"
}, - {
- "mount_point": "apache",
- "name": "link",
- "label": "Apache.org"
}, - {
- "mount_point": "security",
- "name": "link",
- "label": "Security"
}, - {
- "mount_point": "thanks",
- "name": "link",
- "label": "Thanks"
}, - {
- "mount_point": "sponsorship",
- "name": "link",
- "label": "Sponsorship"
}, - {
- "mount_point": "tickets",
- "name": "tickets",
- "label": "Tickets"
}, - {
- "mount_point": "AlluraSite",
- "name": "git",
- "label": "Allura Site Repo"
}, - {
- "mount_point": "pastebin",
- "name": "pastebin",
- "label": "Pastebin"
}
], - "categories": {
- "developmentstatus": [ ],
- "environment": [ ],
- "language": [ ],
- "license": [ ],
- "database": [ ],
- "topic": [ ],
- "audience": [ ],
- "translation": [ ],
- "os": [ ]
}, - "_id": "511aa1d46d19cd14f9060c67",
- "name": "Apache Allura™",
- "video_url": "www.youtube.com/embed/va9WPbKAI9U?rel=0",
- "screenshots": [ ],
- "summary": "Forge software for hosting software projects",
- "short_description": "Apache Allura is an open source implementation of a software \"forge\", a web site that manages source code repositories, bug reports, discussions, wiki pages, blogs and more for any number of individual projects.",
- "moved_to_url": "",
- "shortname": "allura",
- "developers": [
- {
- "username": "masterbunnyfu",
- "name": "Cory Johns"
}, - {
- "username": "jetmind",
- "name": "Igor Bondarenko"
}, - {
- "username": "wwitzel3",
- "name": "Wayne Witzel III"
}, - {
- "username": "alexluberg",
- "name": "Alexander Luberg"
}, - {
- "username": "vansteenburgh",
- "name": "Tim Van Steenburgh"
}, - {
- "username": "brondsem",
- "name": "Dave Brondsema"
}
],
}
Endpoints Permissions can be checked at three levels:
/rest/p/has_access
/rest/p/project_name/has_access
/rest/p/project_name/mount_point/has_access
It is only available to users that have 'admin' permission for corresponding neighborhood/project/tool. It requires user and perm parameters and will return JSON dict with result key, which contains boolean value, indicating if given user has perm permission to the neighborhood/project/tool.
E.g.:
GET /rest/p/test/wiki/has_access?user=admin1&perm=create
returns { result: true }
GET /rest/p/test/wiki/has_access?user=user01&perm=create
returns { result: false }
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
perm required | string Default: "read" Enum: "read" "admin" "create" "update" |
user required | string The username to check |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
scm_tool required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "mount_label": "Code",
- "mount_point": "code",
- "name": "git",
- "commit_count": 17,
- "clone_url_ro": "git://forge-allura.apache.org/git/p/test/code"
}
wiki required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "pages": [
- "ASF Release Guidelines",
- "Allura Deployments",
- "Allura Wiki",
- "Apache Allura (incubating) Wiki",
- "Apache Allura™ (incubating) Wiki",
- "Asking Questions",
- "Contributing Code",
- "Contributing to the Discussion",
- "Extensions",
- "FAQ",
- "Feature Comparison",
- "Features",
- "Goals",
- "Google Summer of Code",
- "HTTP(S) Repositories",
- "Home",
- "Install and Run Allura - Vagrant",
- "Notes",
- "Our Development Model",
- "PyCon 2014 Sprint",
- "Themes in Allura",
- "Videos",
- "Webhooks",
- "Working with Contributors"
]
}
returns a JSON representation of a page
title required | string |
wiki required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "related_artifacts": [
- "/p/allura/wiki/Home/"
], - "attachments": [ ],
- "title": "Extensions",
- "text": "The following extensions for Allura are available as separate packages:\r\n\r\nType | Title | License | Notes\r\n----- | ------------- | ----- | Notes\r\nTool | [ForgeHg](http://pypi.python.org/pypi/ForgeHg) | GPLv2 | Maintained by the Allura developers.<br> Separate package due to Hg GPL license.\r\nTool | [Pastebin](https://sourceforge.net/p/forgepastebin/) | Apache 2 | Maintained by the Allura developers.<br> Example of writing a simple tool.\r\nTool | [Donay Incentify](http://docs.donay.com/display/Dosense/Installing+Incentify+in+Allura) | Apache 2\r\nTool | [Bitergia metrics](https://github.com/Bitergia/AlluraBitergiaMetrics) | Apache 2\r\nTool | [Perforce SCM](https://sourceforge.net/p/p4allura/allura-fork/ci/master/tree/ForgeP4/)\r\nTool | [Django Allura](https://github.com/rick446/DjangoAllura)\r\nImporter | [Google Code Wiki Importer](http://pypi.python.org/pypi/googlecodewikiimporter/) | GPLv3 | Maintained by the Allura developers.<br> Separate package due to `html2text` GPL.\r\nImporter | [Trac Wiki Importer](http://pypi.python.org/pypi/tracwikiimporter/) | GPLv3 | Maintained by the Allura developers.<br> Separate package due to `html2text` GPL.\r\nImporter | [Mediawiki data importer](http://pypi.python.org/pypi/mediawikiimporter/) | GPLv3 | Maintained by the Allura developers.<br> Separate package due to `html2text` GPL.\r\nExternal Integration | [TeamCity](https://github.com/Vampire/teamcity-sourceforge) | Apache 2 | Targeted at SourceForge.net but APIs are the same, so base domain could be changed to any Allura host.\r\n",
- "labels": [ ],
- "discussion_thread": {
- "_id": "9d181a1d",
- "posts": [ ],
- "discussion_id": "523331da6d19cd54e56931db",
- "subject": ""
}, - "mod_date": "2015-07-07T17:30:01.607Z",
- "_id": "523332d96d19cd54e569322b",
- "discussion_thread_url": "https://forge-allura.apache.org/rest/p/allura/wiki/_discuss/thread/9d181a1d/"
}
Creates or updates the titled page.
title required | string |
wiki required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
text | string Page text. |
labels | string Comma-separated list of page labels. |
Endpoints Permissions can be checked at three levels:
/rest/p/has_access
/rest/p/project_name/has_access
/rest/p/project_name/mount_point/has_access
It is only available to users that have 'admin' permission for corresponding neighborhood/project/tool. It requires user and perm parameters and will return JSON dict with result key, which contains boolean value, indicating if given user has perm permission to the neighborhood/project/tool.
E.g.:
GET /rest/p/test/wiki/has_access?user=admin1&perm=create
returns { result: true }
GET /rest/p/test/wiki/has_access?user=user01&perm=create
returns { result: false }
wiki required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
perm required | string Default: "read" Enum: "admin" "configure" "moderate" "post" "unmoderated_post" "read" "create" "delete" "edit" |
user required | string The username to check |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
Get a list of tickets
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
page | integer Default: 0 Skip over a number of elements by specifying a starting page |
limit | integer Default: 25 Limit the number of elements on the response "page" |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "tickets": [
- {
- "summary": "Diff view on the Commit Browser should have a file size limit",
- "ticket_num": 7933
}, - {
- "summary": "Fix pagination issue in the commit browser",
- "ticket_num": 7932
}, - {
- "summary": "Tool install dialog needs to escape html/js",
- "ticket_num": 7931
}, - {
- "summary": "Bug: viewing a thread updates project mod_date",
- "ticket_num": 7930
}, - {
- "summary": "Enable voting on tickets by default",
- "ticket_num": 7929
}
], - "count": 3662,
- "milestones": [
- {
- "due_date": "",
- "complete": false,
- "closed": 2316,
- "default": false,
- "description": "",
- "total": 2316,
- "name": "asf_release_1.0.0"
}, - {
- "due_date": "",
- "complete": false,
- "closed": 0,
- "default": false,
- "description": "",
- "total": 0,
- "name": "asf_release_1.0.0-RC1"
}, - {
- "due_date": "",
- "complete": false,
- "closed": 66,
- "default": false,
- "description": "",
- "total": 66,
- "name": "asf_release_1.0.1"
}, - {
- "due_date": "",
- "complete": false,
- "closed": 145,
- "default": false,
- "description": "",
- "total": 145,
- "name": "asf_release_1.1.0"
}, - {
- "due_date": "",
- "complete": false,
- "closed": 337,
- "default": "on",
- "description": "",
- "total": 891,
- "name": "unreleased"
}, - {
- "due_date": "",
- "complete": false,
- "closed": 182,
- "default": false,
- "description": "",
- "total": 182,
- "name": "asf_release_1.2.0"
}, - {
- "due_date": "",
- "complete": false,
- "closed": 13,
- "default": false,
- "description": "",
- "total": 13,
- "name": "asf_release_1.2.1"
}, - {
- "due_date": "",
- "complete": false,
- "closed": 49,
- "default": false,
- "description": "",
- "total": 49,
- "name": "asf_release_1.3.0"
}
], - "tracker_config": {
- "_id": "545186e86d19cd63b88d1603",
- "options": {
- "ordinal": 3,
- "TicketHelpNew": "",
- "mount_point": "tickets",
- "TicketMonitoringType": "AllPublicTicketChanges",
- "EnableVoting": true,
- "TicketHelpSearch": "",
- "TicketMonitoringEmail": "dev@allura.apache.org",
- "import_id": {
- "source": "Allura",
- "app_config_id": "4c3493551be1ce11d8000032"
}, - "mount_label": "Tickets"
}
}, - "limit": 5,
- "saved_bins": [
- {
- "sort": "",
- "_id": "54526f3f6d19cd509a769848",
- "terms": "labels:bitesize AND (status:open OR status:review OR status:in-progress)",
- "summary": "Bitesize Tickets"
}, - {
- "sort": "",
- "_id": "54526fd16d19cd5093545c7b",
- "terms": "(assigned_to_s:$USER AND status:(blocked in-progress open)) OR (_reviewer_s:$USER AND status:review)",
- "summary": "My Assigned Tickets"
}, - {
- "sort": "",
- "_id": "545270036d19cd509a76984c",
- "terms": "reported_by:$USER AND NOT status:closed",
- "summary": "My Submitted Tickets"
}, - {
- "sort": "",
- "_id": "54526ef86d19cd42f87fbb80",
- "terms": "status:review",
- "summary": "Needs Review"
}, - {
- "sort": "",
- "_id": "5452703a6d19cd509a769850",
- "terms": "labels:\"sf-current\"",
- "summary": "SourceForge current sprint"
}
], - "page": 0
}
ticketNumber required | string Get a details of a ticket. |
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "ticket": {
- "status": "review",
- "reported_by_id": "548b2d136d19cd59705380a3",
- "related_artifacts": [ ],
- "attachments": [ ],
- "reported_by": "heiths",
- "assigned_to": "heiths",
- "labels": [
- "sf-2",
- "sf-current"
], - "discussion_disabled": false,
- "assigned_to_id": "548b2d136d19cd59705380a3",
- "private": false,
- "summary": " Speed up diff processing with binary files",
- "description": "In a git repo with a large amount of binary files, our diff processing can be very inefficient. We should test if a file is binary and exclude it from the diff processing section.",
- "discussion_thread": {
- "_id": "8fe1847f",
- "posts": [
- {
- "text": "- **labels**: --> sf-2, sf-current\n",
- "is_meta": true,
- "attachments": [ ],
- "author": "brondsem",
- "timestamp": "2015-07-13T15:53:20.175Z",
- "last_edited": null,
- "slug": "498b",
- "subject": "#7925 Speed up diff processing with binary files"
}, - {
- "text": "- **status**: in-progress --> review\n",
- "is_meta": true,
- "attachments": [ ],
- "author": "heiths",
- "timestamp": "2015-07-16T19:10:50.153Z",
- "last_edited": null,
- "slug": "bd3e",
- "subject": "#7925 Speed up diff processing with binary files"
}, - {
- "text": "QA: **hs/7925**\r\n\r\nBinary files should no longer make XHR requests for diff processing.",
- "is_meta": false,
- "attachments": [ ],
- "author": "heiths",
- "timestamp": "2015-07-16T19:10:50.511Z",
- "last_edited": null,
- "slug": "b8a7",
- "subject": "#7925 Speed up diff processing with binary files"
}
], - "discussion_id": "545186e86d19cd63b88d1604",
- "subject": ""
}, - "mod_date": "2015-07-16T19:10:50.625Z",
- "votes_down": 0,
- "votes_up": 0,
- "_id": "55a3d3736d19cd2cf292db10",
- "discussion_thread_url": "https://forge-allura.apache.org/rest/p/allura/tickets/_discuss/thread/8fe1847f/",
- "ticket_num": 7925,
- "custom_fields": {
- "_component": "General",
- "_milestone": "unreleased",
- "_reviewer": ""
}, - "created_date": "2015-07-13T15:04:19.926Z"
}
}
ticketNumber required | string Get a details of a ticket. |
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
ticket_form.summary | string Ticket title |
ticket_form.description | string ticket description |
ticket_form.status | string ticket status |
ticket_form.assigned_to | string username of ticket assignee |
ticket_form.labels | string comma-separated list of ticket labels |
ticket_form.attachment | string <binary> (optional) attachment |
ticket_form.custom_fields._any-field-name | string Starts with underscore, and must conform to the custom fields set up for this tracker. "true" or "false" values will work for boolean custom fields. |
ticket_form.private | string if the ticket is private or not ("true" or "false") |
ticket_form.discussion_disabled | string if comments may be posted on the ticket ("true" or "false") |
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
q required | string Return search that have their q matching the given value |
page | integer Default: 0 Skip over a number of elements by specifying a starting page |
limit | integer Default: 25 Limit the number of elements on the response "page" |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "sort": null,
- "count": 2,
- "filter_choices": {
- "status": [
- [
- "closed",
- 4
], - [
- "in-progress",
- 5
], - [
- "open",
- 2
], - [
- "review",
- 3
]
], - "reported_by": [
- [
- "brondsem",
- 5
], - [
- "ctsai",
- 1
], - [
- "heiths",
- 7
], - [
- "jetmind",
- 1
]
], - "_milestone": [
- [
- "unreleased",
- 14
]
], - "assigned_to": [
- [
- "brondsem",
- 1
], - [
- "heiths",
- 4
], - [
- "jetmind",
- 7
]
]
}, - "filter": { },
- "q": "labels:\"sf-current\"",
- "solr_error": null,
- "limit": 100,
- "tickets": [
- {
- "status": "review",
- "reported_by_id": "548b2d136d19cd59705380a3",
- "related_artifacts": [ ],
- "attachments": [ ],
- "reported_by": "heiths",
- "assigned_to": "heiths",
- "labels": [
- "sf-current",
- "sf-2"
], - "discussion_disabled": false,
- "assigned_to_id": "548b2d136d19cd59705380a3",
- "private": false,
- "summary": "Fix pagination issue in the commit browser",
- "mod_date": "2015-07-17T14:53:43.480Z",
- "votes_down": 0,
- "votes_up": 0,
- "_id": "55a6c6c86d19cd7d2dc5d89d",
- "discussion_thread_url": "https://forge-allura.apache.org/rest/p/allura/tickets/_discuss/thread/3e30246e/",
- "ticket_num": 7932,
- "custom_fields": {
- "_component": "General",
- "_milestone": "unreleased",
- "_reviewer": ""
}, - "created_date": "2015-07-15T20:47:04.434Z"
}, - {
- "status": "closed",
- "reported_by_id": "511aa8756d19cd161e8c1b04",
- "related_artifacts": [ ],
- "attachments": [ ],
- "reported_by": "brondsem",
- "assigned_to": "brondsem",
- "labels": [
- "sf-current",
- "sf-1",
- "ux"
], - "discussion_disabled": false,
- "assigned_to_id": "511aa8756d19cd161e8c1b04",
- "private": false,
- "summary": "Site admin search tables can overflow the page width",
- "mod_date": "2015-07-14T08:40:35.931Z",
- "votes_down": 0,
- "votes_up": 0,
- "_id": "55a3effc6d19cd320d814749",
- "discussion_thread_url": "https://forge-allura.apache.org/rest/p/allura/tickets/_discuss/thread/1f1023b2/",
- "ticket_num": 7928,
- "custom_fields": {
- "_component": "General",
- "_milestone": "unreleased",
- "_reviewer": "jetmind"
}, - "created_date": "2015-07-13T17:06:04.135Z"
}
], - "page": 0
}
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
ticket_form.summary | string Ticket title |
ticket_form.description | string ticket description |
ticket_form.status | string ticket status |
ticket_form.assigned_to | string username of ticket assignee |
ticket_form.labels | string comma-separated list of ticket labels |
ticket_form.attachment | string <binary> (optional) attachment |
ticket_form.custom_fields._any-field-name | string Starts with underscore, and must conform to the custom fields set up for this tracker. "true" or "false" values will work for boolean custom fields. |
ticket_form.private | string if the ticket is private or not ("true" or "false") |
ticket_form.discussion_disabled | string if comments may be posted on the ticket ("true" or "false") |
returns summary information about a thread, including the posts in a thread
threadId required | string |
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
page | integer Default: 0 Skip over a number of elements by specifying a starting page |
limit | integer Default: 25 Limit the number of elements on the response "page" |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
returns detailed information about a post
slug required | string |
threadId required | string |
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
slug required | string |
threadId required | string |
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
text required | string the text of the reply |
threadId required | string |
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
text required | string The text of the new post |
Endpoints Permissions can be checked at three levels:
/rest/p/has_access
/rest/p/project_name/has_access
/rest/p/project_name/mount_point/has_access
It is only available to users that have 'admin' permission for corresponding neighborhood/project/tool. It requires user and perm parameters and will return JSON dict with result key, which contains boolean value, indicating if given user has perm permission to the neighborhood/project/tool.
E.g.:
GET /rest/p/test/wiki/has_access?user=admin1&perm=create
returns { result: true }
GET /rest/p/test/wiki/has_access?user=user01&perm=create
returns { result: false }
tracker required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
perm required | string Default: "read" Enum: "admin" "configure" "moderate" "post" "unmoderated_post" "read" "create" "delete" "update" "save_searches" |
user required | string The username to check |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
Returns a list of forums, including name, description, num_topics, and last_post details
discussion required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
page | integer Default: 0 Skip over a number of elements by specifying a starting page |
limit | integer Default: 25 Limit the number of elements on the response "page" |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "count": 3,
- "forums": [
- {
- "num_topics": 1,
- "name": "Dev Only",
- "shortname": "devs",
- "_id": "55ad23c34d21224d82656add",
- "last_post": {
- "status": "ok",
- "last_edited": "2015-07-20T16:39:53.290Z",
- "author": "root",
- "timestamp": "2015-07-20T16:39:46.083Z",
- "thread_id": "2adb0c35",
- "text": "checking into it.",
- "author_id": "55687b5f4d2122410c76eb92",
- "_id": "83aa16ca9db9f811d68ba47285c3d4c65b4f60d7.discussion@finna.p.localhost",
- "slug": "c5af",
- "subject": "Potential issue"
}, - "description": "not open to public!"
}, - {
- "num_topics": 2,
- "name": "General Discussion",
- "shortname": "general",
- "_id": "5568f6684d212236d1eaed07",
- "last_post": {
- "status": "ok",
- "last_edited": null,
- "author": "root",
- "timestamp": "2015-07-20T16:36:18.019Z",
- "thread_id": "a7528751",
- "text": "How to fix anything!",
- "author_id": "55687b5f4d2122410c76eb92",
- "_id": "b248780c7fa265106dc91e6004107dd4a601afe8.discussion@finna.p.localhost",
- "slug": "c920",
- "subject": "Tech Support"
}, - "description": "Forum about anything you want to talk about."
}, - {
- "num_topics": 0,
- "name": "Off Topic",
- "shortname": "off-topic",
- "_id": "55ad23a44d21224d82656ada",
- "last_post": null,
- "description": "anything else...."
}
], - "limit": 25,
- "page": 0
}
returns a limited list of topics in the forum, with fields for subject, num_replies, API URL, and last_post To view more than 100 threads, or 100 posts in a thread, use the pagination support of the API by adding ?page=1 etc. to the URL.
forum required | string |
discussion required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
page | integer Default: 0 Skip over a number of elements by specifying a starting page |
limit | integer Default: 25 Limit the number of elements on the response "page" |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "topic": {
- "_id": "a7528751",
- "posts": [
- {
- "text": "How to fix anything!",
- "attachments": [ ],
- "author": "root",
- "timestamp": "2015-07-20T16:36:18.019Z",
- "last_edited": null,
- "slug": "c920",
- "subject": "Tech Support"
}, - {
- "text": "fdas",
- "attachments": [ ],
- "author": "hs2",
- "timestamp": "2015-07-22T15:41:58.522Z",
- "last_edited": null,
- "slug": "b8fa",
- "subject": "Tech Support"
}
], - "discussion_id": "5568f6684d212236d1eaed07",
- "subject": "Tech Support"
}, - "count": 2,
- "limit": 25,
- "page": 0
}
returns a list of posts in the thread, with fields for author, text, and timestamp. Nested posts (i.e. a reply to a post) can be determined by the slug structure. For example, "slug": "0a0b/9f00" is a reply to the post with "slug": "0a0b"
thread required | string |
forum required | string |
discussion required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
page | integer Default: 0 Skip over a number of elements by specifying a starting page |
limit | integer Default: 25 Limit the number of elements on the response "page" |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
Endpoints Permissions can be checked at three levels:
/rest/p/has_access
/rest/p/project_name/has_access
/rest/p/project_name/mount_point/has_access
It is only available to users that have 'admin' permission for corresponding neighborhood/project/tool. It requires user and perm parameters and will return JSON dict with result key, which contains boolean value, indicating if given user has perm permission to the neighborhood/project/tool.
E.g.:
GET /rest/p/test/wiki/has_access?user=admin1&perm=create
returns { result: true }
GET /rest/p/test/wiki/has_access?user=user01&perm=create
returns { result: false }
discussion required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
perm required | string Default: "read" Enum: "admin" "configure" "moderate" "post" "unmoderated_post" "read" |
user required | string The username to check |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
Returns a list of posts, including title and API url.
blog required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "count": 3,
- "limit": 10,
- "page": 0,
- "posts": [
- {
- "title": "Project Insights",
},
]
}
Creates a new blog post.
blog required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
title | string The title of the post. |
text | string The text of the post. |
labels | string Labels of the post -- comma seperated strings |
state | string Draft or published. |
Updates an existing blog post.
year required | number |
month required | string |
title required | string |
blog required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
title | string The title of the post. |
text | string The text of the post. |
labels | string Labels of the post -- comma seperated strings |
state | string Draft or published. |
year required | number |
month required | string |
title required | string |
blog required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "_id": "55ad27204d21224d82656b45",
- "author": "root",
- "discussion_thread": {
- "_id": "afb74fce",
- "discussion_id": "55ad26e94d21224d82656b31",
- "posts": [ ],
- "subject": "New blog discussion"
}, - "labels": [
- "general"
], - "mod_date": "2015-07-20T16:51:44.589Z",
- "related_artifacts": [ ],
- "state": "published",
- "text": "Just made a new blog here",
- "title": "New blog",
}
Endpoints Permissions can be checked at three levels:
/rest/p/has_access
/rest/p/project_name/has_access
/rest/p/project_name/mount_point/has_access
It is only available to users that have 'admin' permission for corresponding neighborhood/project/tool. It requires user and perm parameters and will return JSON dict with result key, which contains boolean value, indicating if given user has perm permission to the neighborhood/project/tool.
E.g.:
GET /rest/p/test/wiki/has_access?user=admin1&perm=create
returns { result: true }
GET /rest/p/test/wiki/has_access?user=user01&perm=create
returns { result: false }
blog required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
perm required | string Default: "read" Enum: "admin" "configure" "moderate" "post" "unmoderated_post" "read" "write" |
user required | string The username to check |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
Returns the existing url.
link required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{
}
Updates the url. authentication required.
link required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
url | string The url you would like to update to. |
Submits an export job
400 Bad Request: tools parameter not provided or is invalid 503 Service Unavailable: an export job is already running 200 OK: job submitted. Body will be: {"status": "in progress", "filename": FILENAME}
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
Returns status: busy or ready
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
Returns the list of webhooks
tool required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
page | integer Default: 0 Skip over a number of elements by specifying a starting page |
limit | integer Default: 25 Limit the number of elements on the response "page" |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "webhooks": [
- {
- "mod_date": "2015-07-21T17:54:18.066Z",
- "_id": "55ae874a4d21222df2980868",
- "type": "repo-push",
}, - {
- "mod_date": "2015-07-21T17:54:54.836Z",
- "_id": "55ae876e4d21222df298086e",
- "type": "repo-push",
}
], - "limits": {
- "repo-push": {
- "max": 3,
- "used": 2
}
}
}
Create a new webhook.
type required | string Value: "repo-push" Allura supports one type of webhook for the moment - repo-push, triggered when a repository receives new commits. It is supported for Git, Mercurial and SVN repositories. |
tool required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
url required | string The url to call when the the webhook is triggered. |
View a webhook
id required | string Unique identifier for a webhook. |
type required | string Value: "repo-push" Allura supports one type of webhook for the moment - repo-push, triggered when a repository receives new commits. It is supported for Git, Mercurial and SVN repositories. |
tool required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "mod_date": "2015-07-24T16:44:03.871Z",
- "_id": "55ae876e4d21222df298086e",
- "type": "repo-push"
}
Update an existing webhook
id required | string Unique identifier for a webhook. |
type required | string Value: "repo-push" Allura supports one type of webhook for the moment - repo-push, triggered when a repository receives new commits. It is supported for Git, Mercurial and SVN repositories. |
tool required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
url required | string The url to call when the the webhook is triggered. |
secret | string Optionally supply your own secret. Note: DO NOT ever expose your secret! |
Delete an existing webhook
id required | string Unique identifier for a webhook. |
type required | string Value: "repo-push" Allura supports one type of webhook for the moment - repo-push, triggered when a repository receives new commits. It is supported for Git, Mercurial and SVN repositories. |
tool required | string |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
tool required | string Tool name that you want to install. |
mount_point required | string The section of the url relative to your project. For example: /p/your_project/{mount_point} |
mount_label required | string How your tool will be displayed in your project (like a "nice name" for the tool). |
order | string "first", "last", or "alpha_tool" for position with respect to existing tools (or existing tools of the same type for "alpha_tool") |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
1 | string Mount point name for the first position. |
2 | string Mount point name for the second position. |
3 | string Mount point name for the third position. |
4... | string Etc. |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
grouping_threshold | number Value for the grouping threshold. |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
project required | string([a-zA-Z0-9-]+) The Project short name. |
neighborhood required | string Allura has two default neighborhoods: “Projects” |
mount_point required | string The mount point to specify which tool. |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
username required | string |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "status": "active",
- "preferred_support_tool": "",
- "preferred_support_url": "",
- "labels": [ ],
- "private": false,
- "creation_date": "2014-12-12T00:00:00.000Z",
- "socialnetworks": [
- {
- "accounturl": "",
- "socialnetwork": "Twitter"
}, - {
- "accounturl": "",
- "socialnetwork": "Facebook"
}
], - "tools": [
- {
- "mount_point": "admin",
- "name": "admin",
- "label": "Admin"
}, - {
- "mount_point": "wiki",
- "name": "wiki",
- "label": "Wiki"
}, - {
- "mount_point": "profile",
- "name": "profile",
- "label": "Profile"
}, - {
- "mount_point": "search",
- "name": "search",
- "label": "Search"
}, - {
- "mount_point": "activity",
- "name": "activity",
- "label": "Activity"
}
], - "categories": {
- "developmentstatus": [ ],
- "environment": [ ],
- "language": [ ],
- "license": [ ],
- "database": [ ],
- "topic": [ ],
- "audience": [ ],
- "translation": [ ],
- "os": [ ]
}, - "_id": "548b2d136d19cd59705380a6",
- "name": "u/heiths",
- "icon_url": null,
- "video_url": "",
- "screenshots": [ ],
- "summary": "",
- "short_description": null,
- "moved_to_url": "",
- "shortname": "u/heiths",
- "developers": [
], - "external_homepage": ""
}
username required | string |
Authorization required | string^Bearer [0-9a-f]+$ Optional. Authenticate yourselve with a token from https://forge-allura.apache.org/auth/oauth/
Use it here like: |
{- "username": "heiths",
- "name": "Heith Seewald",
- "localization": {
- "city": "Grand Rapids Area",
- "country": "United States"
}, - "skills": [
- {
- "comment": "asdf",
- "skill": {
- "fullpath": "Programming Language",
- "fullname": "Programming Language",
- "shortname": "language",
- "id": 160
}, - "level": "high"
}
], - "webpages": [ ],
- "joined": "2014-12-12T17:59:47.000Z",
- "socialnetworks": [
- {
- "accounturl": "www.linkedin.com/in/heiths/",
- "socialnetwork": "Linkedin"
}, - {
- "accounturl": "heiths",
- "socialnetwork": "Google+"
}
], - "telnumbers": [ ],
- "sex": "Male",
- "availability": [
- {
- "start_time": {
- "h": 3,
- "m": 30
}, - "week_day": "Thursday",
- "end_time": {
- "h": 4,
- "m": 45
}
}
], - "projects": [
- {
- "url": "/p/allura/",
- "last_updated": "2015-07-28T16:40:57.701Z",
- "name": "Apache Allura™",
- "summary": "Forge software for hosting software projects"
}
], - "skypeaccount": null
}