Search Confluence from Alfred and open results in your browser.

Overview

Alfred Confluence Workflow

Search Confluence from Alfred and open results in your browser.

Features

  • Search Confluence from Alfred and open results in your browser
  • Copy Confluence page URL to clipboard (⌘ + C on an Alfred result)
  • Works on M1 and Intel Macs
  • Authenticate with your Confluence account via Access Token or Username/Password
  • Works for Confluence Enterprise and Confluence Cloud

Usage

  1. Download the latest version of the workflow here
  2. Open the workflow in Alfred
  3. Adjust the environment variables accordingly
  4. Type c in Alfred to search Confluence

Environment variables

  • BASE_URL: Confluence base URL without trailing slash e.g. https://confluence.example.com
  • ACCESS_TOKEN: Confluence access token (only for Confluence Enterprise)
  • USERNAME: Confluence username
  • PASSWORD: Confluence password (or API Token when the cloud version is used, see here)

Authentication

For Cloud Users: In the cloud version you have to use the username/password combination! The username is your Confluence username and the password is an API Token. You can obtain a token here.

You can use either an access token or a username/password combination. You can obtain an access token by following the instructions here. If you use an access token, you can omit the username and password. If you use a username/password combination, you can omit the access token. If you provide both, the access token will be used.

Development

The current development setup assumes that it is built on a Mac with M1.

To do

  • include id in results to alfred to ensure learning by selection
  • possibility to copy url without opening result
  • include "search in confluence" option in results
  • fix & strings in results
  • readme
  • publish
  • create release in github
  • build for intel chip (universal release?)
  • compare to python workflow
  • use token based auth
  • utf-8 chars not searchable (e.g. "führung")
  • add getting started section to readme

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes or open an issue with your suggestions.

Credits

This project is heavily inspired by alfred-confluence which is a Python based workflow for searching Confluence. The mentioned project is not working anymore due to the removal of Python 2 support in macOS 12.3.


License

Licensed under either of Apache License, Version 2.0 or MIT license at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

You might also like...
 Sentinel: The Sentinel of Your Microservices
Sentinel: The Sentinel of Your Microservices

Sentinel: The Sentinel of Your Microservices (WIP) Introduction As distributed systems become increasingly popular, the reliability between services i

Build, bundle & ship your Rust WASM application to the web.

Trunk Build, bundle & ship your Rust WASM application to the web. ”Pack your things, we’re going on an adventure!” ~ Ferris Trunk is a WASM web applic

Deserialize (potentially nested) environment variables into your custom structs
Deserialize (potentially nested) environment variables into your custom structs

envious allows you to deserialize your serde enabled structs from environment variables. See it in action: use serde::{Deserialize, Serialize}; #[der

Share files between devices using your Wi-Fi network.
Share files between devices using your Wi-Fi network.

swift_file Rust implementation of transferring files between devices over Wi-Fi network using a QR code. Tool is inspired by claudiodangelis/qrcp. How

Axum + JWT authentication Middleware that allows you to start building your application fast

axum_jwt_ware Integration Guide Simple Axum + JWT authentication middleware with implemented Login and refresh token. Goal I aim to simplify the proce

Ergonomic and modular web framework built with Tokio, Tower, and Hyper

axum axum is a web application framework that focuses on ergonomics and modularity. More information about this crate can be found in the crate docume

A simple authentication flow using Rust and Actix-web, with a PostgreSQL database and a sveltekit frontend.

Rust-auth-example This repository aims to represent a simple authentication flow using Rust and Actix-web, with a PostgreSQL database and a sveltekit

A secure and efficient gateway for interacting with OpenAI's API, featuring load balancing, user request handling without individual API keys, and global access control.

OpenAI Hub OpenAI Hub is a comprehensive and robust tool designed to streamline and enhance your interaction with OpenAI's API. It features an innovat

Rust Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev.
Rust Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev.

Rust Embed Rust Custom Derive Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev. Y

Comments
  • missing field `totalSize`

    missing field `totalSize`

    When running the code I get:

    Error: error decoding response body: missing field `totalSize` at line 1 column 2223
    
    Caused by:
        missing field `totalSize` at line 1 column 2223
    
    Process finished with exit code 1
    

    And I think total_size field of the ApiResponse should be wrapped as Option

    opened by pgilad 3
  • Alfred sets `ACCESS_TOKEN` env var as empty string

    Alfred sets `ACCESS_TOKEN` env var as empty string

    I find Alfred sets the ACCESS_TOKEN env var as empty string (I use username/password) and the code doesn't check if the variable is empty, and thus uses bearer_auth authentication method which fails.

    The check for using access_token should also verify if the string is empty and if so - use username/password

    opened by pgilad 1
  • Result item final url isn't correct

    Result item final url isn't correct

    My base url is: https://company.atlassian.net/wiki and an example href from a search result is: https://company.atlassian.net/wiki/spaces/ENG/pages/18819411/Knowledge+-+prototype+basics

    This means when the code concats these together you get a bad url with https://company.atlassian.net/wik/wiki/... which leads to a 404.

    The correct way to join them is to grab the http scheme and domain and concat that with the href received from Atlassian search result. This is the way the python workflow does it: https://github.com/skleinei/alfred-confluence/blob/f992894d21525150e54ee1da90a01931b0364e09/src/alfred-confluence.py#L173-L176

    Anyway many thanks for the workflow and the work on fixing issues

    opened by pgilad 0
Releases(v1.1.3)
Owner
Johan M.
Johan M.
puppy is an example implementation of a tiny Web browser for educational purposes.

An example implementation of a tiny Web browser for educational purposes.

Takashi Yoneuchi 580 Dec 28, 2022
A pure Rust implementation of the Web Local Storage API, for use in non-browser contexts

Rust Web Local Storage API A Rust implementation of the Web LocalStorage API, for use in non-browser contexts About the Web Local Storage API MDN docs

RICHΛRD ΛNΛYΛ 10 Nov 28, 2022
mBrowser is a toy browser developed from scratch for learning purpose.

mBrowser is a toy browser developed from scratch for learning purpose.

Minh Quy 40 Oct 31, 2022
Wiz - A simple, frameless, lightweight browser for screenshots

Wiz, A simple, frameless, lightweight browser for screenshots. Intallation You can find the suitable installer for your system in the releases page. W

Justin Maximillian Kimlim 8 Dec 13, 2022
Oso is an open source policy engine for authorization that’s embedded in your application

Oso What is Oso? Oso is an open source policy engine for authorization that’s embedded in your application. It provides a declarative policy language

oso 2.8k Jan 4, 2023
A Google-like web search engine that provides the user with the most relevant websites in accordance to his/her query, using crawled and indexed textual data and PageRank.

Mini Google Course project for the Architecture of Computer Systems course. Overview: Architecture: We are working on multiple components of the web c

Max 11 Aug 10, 2022
Jotsy is a self-hosted, free and open-source note taking app with a goal of simplicity in mind

Jotsy: Just your notes Jotsy is a self-hosted, free and open-source note taking app with a goal of simplicity in mind. It is powered by Skytable. Read

Sayan 433 Dec 30, 2022
Open Source command line client of VRChat Package Manager.

vrc-get Open Source command line client of VRChat Package Manager. Goals Provide Open Source command line client of VRChat Package Manager. Provide mo

null 10 Jan 26, 2023
Rust Open Source Login/Register API

Actix Web API with Rustls (OpenSSL available/Without SSL/TLS too) This API uses Actix Web to serve secure HTTP endpoints, utilizing Rustls for TLS enc

Alzareim 4 Sep 27, 2023
Proxies all incoming connections to a minecraft server of your choosing, while also logging all ping and login requests to a json file and discord webhook.

minecraft-honeypot Proxies all incoming connections to a minecraft server of your choosing, while also logging all ping and login requests to a json f

Cleo 19 Jan 4, 2023